Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -737,7 +737,7 @@ Swap OpenAI for another provider:
import { anthropic } from "@ai-sdk/anthropic";

const result = streamText({
model: anthropic("claude-4.5-sonnet"),
model: anthropic("claude-sonnet-5-5"),
// ... rest of config
});
```
Expand Down
2 changes: 1 addition & 1 deletion developer-guides/llm-sdks-and-frameworks/elevenagents.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ The agent will call `search_web`, receive results from Firecrawl, and respond wi

## Tips

- **Model selection** — For reliable tool calling, use a high-intelligence model such as GPT-4o, Claude Sonnet 4.5 or later, or Gemini 2.5 Flash. Smaller models may struggle to extract the correct parameters.
- **Model selection** — For reliable tool calling, use a high-intelligence model such as GPT-4o, Claude Sonnet 5.5, or Gemini 2.5 Flash. Smaller models may struggle to extract the correct parameters.
- **Keep prompts specific** — Tell the agent exactly when to use each tool. Vague instructions lead to missed or incorrect tool calls.
- **Limit response size** — For voice agents, long scraped pages can overwhelm the LLM context. Use `onlyMainContent: true` in scrape options (or instruct the agent to summarize aggressively) to keep responses concise.
- **Tool call sounds** — In the webhook or MCP tool settings, you can configure a **Tool call sound** to play ambient audio while a tool runs. This signals to the user that the agent is working.
Expand Down
26 changes: 13 additions & 13 deletions developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ AI_GATEWAY_API_KEY=your-key # https://vercel.com/ai-gateway
```

<Note>
These examples use the [Vercel AI Gateway](https://vercel.com/ai-gateway) string model format, but Firecrawl tools work with any AI SDK provider. You can also use provider imports like `anthropic('claude-sonnet-4-5-20250514')` from `@ai-sdk/anthropic`.
These examples use the [Vercel AI Gateway](https://vercel.com/ai-gateway) string model format, but Firecrawl tools work with any AI SDK provider. You can also use provider imports like `anthropic('claude-sonnet-5-5')` from `@ai-sdk/anthropic`.
</Note>

## Quick Start
Expand All @@ -31,7 +31,7 @@ import { generateText, stepCountIs } from 'ai';
import { FirecrawlTools } from 'firecrawl-aisdk';

const { text } = await generateText({
model: 'anthropic/claude-sonnet-4-5',
model: 'anthropic/claude-sonnet-5.5',
tools: FirecrawlTools(),
stopWhen: stepCountIs(30),
prompt: `
Expand All @@ -54,7 +54,7 @@ import { FirecrawlTools } from 'firecrawl-aisdk';
const tools = FirecrawlTools();

const { text } = await generateText({
model: 'anthropic/claude-sonnet-4-5',
model: 'anthropic/claude-sonnet-5.5',
system: `${tools.systemPrompt}\n\nAnswer with citations when possible.`,
tools,
stopWhen: stepCountIs(20),
Expand Down Expand Up @@ -102,7 +102,7 @@ import { generateText } from 'ai';
import { scrape, search } from 'firecrawl-aisdk';

const { text } = await generateText({
model: 'anthropic/claude-sonnet-4-5',
model: 'anthropic/claude-sonnet-5.5',
prompt: 'Search for Firecrawl, then scrape the most relevant result.',
tools: { search, scrape },
});
Expand All @@ -117,7 +117,7 @@ import { generateText } from 'ai';
import { search, scrape } from 'firecrawl-aisdk';

const { text } = await generateText({
model: 'anthropic/claude-sonnet-4-5',
model: 'anthropic/claude-sonnet-5.5',
prompt: 'Search for Firecrawl, scrape the top official result, and explain what it does.',
tools: { search, scrape },
});
Expand All @@ -130,7 +130,7 @@ import { generateText } from 'ai';
import { map } from 'firecrawl-aisdk';

const { text } = await generateText({
model: 'anthropic/claude-sonnet-4-5',
model: 'anthropic/claude-sonnet-5.5',
prompt: 'Map https://docs.firecrawl.dev and list the main sections.',
tools: { map },
});
Expand All @@ -143,7 +143,7 @@ import { streamText, stepCountIs } from 'ai';
import { scrape } from 'firecrawl-aisdk';

const result = streamText({
model: 'anthropic/claude-sonnet-4-5',
model: 'anthropic/claude-sonnet-5.5',
prompt: 'What is the first 100 words of firecrawl.dev?',
tools: { scrape },
stopWhen: stepCountIs(3),
Expand All @@ -168,7 +168,7 @@ const interactTool = interact();
console.log('Live view:', await interactTool.start('https://news.ycombinator.com'));

const { text } = await generateText({
model: 'anthropic/claude-sonnet-4-5',
model: 'anthropic/claude-sonnet-5.5',
tools: { interact: interactTool, search },
stopWhen: stepCountIs(25),
prompt: 'Use interact on the current Hacker News session, find the top story, then search for more context.',
Expand Down Expand Up @@ -200,7 +200,7 @@ import { generateText } from 'ai';
import { crawl, poll } from 'firecrawl-aisdk';

const { text } = await generateText({
model: 'anthropic/claude-sonnet-4-5',
model: 'anthropic/claude-sonnet-5.5',
prompt: 'Crawl https://docs.firecrawl.dev (limit 3 pages) and summarize.',
tools: { crawl, poll },
});
Expand All @@ -213,7 +213,7 @@ import { generateText } from 'ai';
import { batchScrape, poll } from 'firecrawl-aisdk';

const { text } = await generateText({
model: 'anthropic/claude-sonnet-4-5',
model: 'anthropic/claude-sonnet-5.5',
prompt: 'Scrape https://firecrawl.dev and https://docs.firecrawl.dev, then compare them.',
tools: { batchScrape, poll },
});
Expand All @@ -228,7 +228,7 @@ import { generateText, stepCountIs } from 'ai';
import { agent, poll } from 'firecrawl-aisdk';

const { text } = await generateText({
model: 'anthropic/claude-sonnet-4-5',
model: 'anthropic/claude-sonnet-5.5',
prompt: 'Find the founders of Firecrawl, their roles, and their backgrounds.',
tools: { agent, poll },
stopWhen: stepCountIs(10),
Expand All @@ -244,7 +244,7 @@ import { logStep, scrape, stepLogger } from 'firecrawl-aisdk';
const logger = stepLogger();

const { text, usage } = await generateText({
model: 'anthropic/claude-sonnet-4-5',
model: 'anthropic/claude-sonnet-5.5',
prompt: 'Scrape https://firecrawl.dev and summarize it.',
tools: { scrape },
onStepFinish: logger.onStep,
Expand All @@ -255,7 +255,7 @@ logger.close();
logger.summary(usage);

await generateText({
model: 'anthropic/claude-sonnet-4-5',
model: 'anthropic/claude-sonnet-5.5',
prompt: 'Scrape https://firecrawl.dev and summarize it again.',
tools: { scrape },
onStepFinish: logStep,
Expand Down
2 changes: 1 addition & 1 deletion quickstarts/vercel-marketplace.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ import { generateText, stepCountIs } from "ai";
import { FirecrawlTools } from "firecrawl-aisdk";

const { text } = await generateText({
model: "anthropic/claude-sonnet-4-5",
model: "anthropic/claude-sonnet-5.5",
tools: FirecrawlTools(),
stopWhen: stepCountIs(20),
prompt: "Search for recent Vercel AI SDK examples, scrape the best sources, and summarize them.",
Expand Down
Loading