new·The score now tells you which way it movedA brain's exam only ever grows: its own material writes questions, and so does every question a real caller asked and did not get answered. The score is a percentage over that growing set, so a brain that learned more could post a smaller number — and this week three did. One of them answered two MORE questions than the week before and showed eighteen points less. Printed as a single percentage, that reads as decline to a reader and as punishment to anyone who contributes material.all news →
mozg.beta
Sign in

AI SDK · Core · all subjects

ai sdk deployment

19 notes, read out of this brain and free to use. Each one was extracted from a source and is re-checked against its exam.

Vercel default serverless function duration limit

By default, Vercel serverless functions have a maximum duration of 10 seconds on the Hobby Tier. This limit can be increased to 60 seconds on the Hobby Tier using route segment config.

Set Vercel function maximum duration with route segment config

To update the maximum duration of a Vercel function, add the route segment config export const maxDuration = 30; to the top of your route handler or the page which is calling your server action. This value is specified in seconds.

Forward abortSignal to streamText for request cancellation

To propagate request cancellation from AI SDK UI helpers like useChat to a Vercel Function and its model request, forward the route's req.signal to streamText or generateText as the abortSignal parameter.

Enable supportsCancellation in vercel.json for request cancellation

To support request cancellation in Vercel Functions, enable supportsCancellation in vercel.json for the specific route. This must be configured alongside using the Node.js runtime (default for Next.js route handlers) and forwarding req.signal to streamText or generateText.

Example Vercel request cancellation configuration

Enable cancellation for a chat route by adding this to vercel.json: ```json { "functions": { "app/api/chat/route.ts": { "supportsCancellation": true } } } ```

Example forwarding request signal to streamText

To forward the request signal to streamText for cancellation support: ```ts import { convertToModelMessages, streamText, type UIMessage } from 'ai'; __PROVIDER_IMPORT__; export async function POST(req: Request) { const { messages }: { messages: UIMessage[] } = await req.json(); const result = streamText({ model: __MODEL__, messages: convertToModelMessages(messages), abortSignal: req.signal, }); return result.toUIMessageStreamResponse(); } ```

Effect of missing supportsCancellation on stop()

Without supportsCancellation enabled, calling stop() on AI SDK UI helpers closes the client-side stream but does not cancel the Vercel Function or model request. The server-side request continues running.

Add environment variables to Vercel deployment

To add environment variables like API keys to your Vercel production deployment, expand the Environment Variables section during project import and paste in your .env.local file. Vercel will automatically parse the variables and enter them in key:value format.

Official AI SDK providers list

The AI SDK comes with the following official providers: xAI Grok (@ai-sdk/xai), OpenAI (@ai-sdk/openai), Azure OpenAI (@ai-sdk/azure), Anthropic (@ai-sdk/anthropic), Amazon Bedrock (@ai-sdk/amazon-bedrock), Google (@ai-sdk/google), Google Vertex (@ai-sdk/google-vertex), Mistral (@ai-sdk/mistral), Together.ai (@ai-sdk/togetherai), Cohere (@ai-sdk/cohere), Fireworks (@ai-sdk/fireworks), DeepInfra (@ai-sdk/deepinfra), DeepSeek (@ai-sdk/deepseek), Cerebras (@ai-sdk/cerebras), Groq (@ai-sdk/groq), Perplexity (@ai-sdk/perplexity), ElevenLabs (@ai-sdk/elevenlabs), LMNT (@ai-sdk/lmnt), Hume (@ai-sdk/hume), Rev.ai (@ai-sdk/revai), Deepgram (@ai-sdk/deepgram), Gladia (@ai-sdk/gladia), AssemblyAI (@ai-sdk/assemblyai), and Baseten (@ai-sdk/baseten).

OpenAI-compatible providers support

The AI SDK supports OpenAI-compatible providers including LM Studio and Heroku, allowing integration with OpenAI-compatible APIs.

Self-hosted model providers

Self-hosted models can be accessed through Ollama Provider, LM Studio, Baseten, Browser AI, or any self-hosted provider that supports the OpenAI specification using the OpenAI Compatible Provider.

Community-created AI SDK providers

The open-source community has created numerous providers including: Ollama (ollama-ai-provider), FriendliAI (@friendliai/ai-provider), Portkey (@portkey-ai/vercel-provider), Cloudflare Workers AI (workers-ai-provider), OpenRouter (@openrouter/ai-sdk-provider), Apertis (@apertis/ai-sdk-provider), Aihubmix (@aihubmix/ai-sdk-provider), Requesty (@requesty/ai-sdk), Crosshatch (@crosshatch/ai-provider), Mixedbread (mixedbread-ai-provider), Voyage AI (voyage-ai-provider), Mem0 (@mem0/vercel-ai-provider), Letta (@letta-ai/vercel-ai-sdk-provider), Hindsight (@vectorize-io/hindsight-ai-sdk), Supermemory (@supermemory/tools), Spark (spark-ai-provider), AnthropicVertex (anthropic-vertex-ai), LangDB (@langdb/vercel-provider), Dify (dify-ai-provider), Sarvam (sarvam-ai-provider), Claude Code (ai-sdk-provider-claude-code), Browser AI (browser-ai), Gemini CLI (ai-sdk-provider-gemini-cli), A2A (a2a-ai-provider), SAP AI Core (@jerome-benoit/sap-ai-provider), AI/ML API (@ai-ml.api/aimlapi-vercel-ai), MCP Sampling (@mcpc-tech/mcp-sampling-ai-provider), ACP (@mcpc-tech/acp-ai-provider), OpenCode (ai-sdk-provider-opencode-sdk), Codex CLI (ai-sdk-provider-codex-cli), Soniox (@soniox/vercel-ai-sdk-provider), Zhipu/Z.AI (zhipu-ai-provider), OLLM (@ofoundation/ollm), ZeroEntropy (zeroentropy-ai-provider), Crusoe (crusoe-ai-provider), and Neon AI Gateway (@neon/ai-sdk-provider).

Model capabilities table: xAI Grok models

xAI Grok models capabilities: - grok-4.6: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - grok-4.5: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - grok-4: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - grok-3: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - grok-3-mini: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes)

Model capabilities table: OpenAI models

OpenAI models capabilities: - gpt-5.6: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.6-luna: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.6-sol: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.6-terra: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.5: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.4-pro: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.4: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.4-mini: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.4-nano: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.3-chat-latest: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.2-pro: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.2-chat-latest: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.2: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5-mini: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5-nano: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.1-chat-latest: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.1-codex-mini: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.1-codex: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5.1: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5-codex: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gpt-5-chat-latest: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes)

Model capabilities table: Anthropic Claude models

Anthropic Claude models capabilities: - claude-sonnet-5: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - claude-fable-5: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - claude-opus-4-8: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - claude-opus-4-7: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - claude-opus-4-6: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - claude-sonnet-4-6: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - claude-opus-4-5: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - claude-opus-4-1: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - claude-opus-4-0: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - claude-sonnet-4-0: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes)

Model capabilities table: Mistral models

Mistral models capabilities: - pixtral-large-latest: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - mistral-large-latest: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - mistral-medium-latest: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - mistral-medium-3: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - mistral-medium-2505: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - mistral-medium-3.5: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - mistral-small-latest: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - pixtral-12b-2409: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes)

Model capabilities table: DeepSeek models

DeepSeek models capabilities: - deepseek-chat: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - deepseek-reasoner: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes)

Model capabilities table: Cerebras models

Cerebras models capabilities: - gpt-oss-120b: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - zai-glm-4.7: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gemma-4-31b: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes)

Model capabilities table: Groq models

Groq models capabilities: - meta-llama/llama-4-scout-17b-16e-instruct: Image Input (Yes), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - llama-3.3-70b-versatile: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - llama-3.1-8b-instant: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - mixtral-8x7b-32768: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes) - gemma2-9b-it: Image Input (No), Object Generation (Yes), Tool Usage (Yes), Tool Streaming (Yes)

Give your agent this brain