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 · Cookbook · all subjects

configuration/providers

62 notes in this subject, read out of this brain and free to use. This is page 1 of 2.

Vercel AI SDK default provider configuration

The AI SDK's Vercel AI Gateway Provider is the default global provider. Models can be accessed using a simple string in the model configuration (e.g., 'openai/gpt-4o'). To use a specific provider like OpenAI directly, refer to the provider management documentation.

Gemini 3 thinking mode thinkingLevel parameter values

The thinkingLevel parameter in Gemini 3's thinkingConfig controls the depth of reasoning. Gemini 3 Pro supports 'low' and 'high'. Gemini 3 Flash supports 'minimal', 'low', 'medium', and 'high'.

Gemini 3 capabilities and performance benchmarks

Gemini 3 delivers state-of-the-art reasoning with PhD-level performance on complex benchmarks: 37.5% on Humanity's Last Exam and 91.9% on GPQA Diamond. For multimodal understanding, it scores 81% on MMMU-Pro and 87.6% on Video-MMMU. It also provides best-in-class agentic capabilities and superior long-horizon planning for multi-step workflows. Gemini 3 Pro is currently available in preview.

Generate text with Gemini 3 Pro using AI SDK

To generate text with Gemini 3 Pro using the AI SDK, import the google provider and generateText function, then call generateText with the model set to google('gemini-3-pro-preview') and provide a prompt. The function returns an object with a text property containing the generated response.

Enable Gemini 3 enhanced reasoning with thinking mode

To enable enhanced reasoning in Gemini 3, pass providerOptions with a google object containing a thinkingConfig. Set includeThoughts to true to include thoughts in the response, and set thinkingLevel to control reasoning depth ('low' or 'high' for Gemini 3 Pro).

Claude 4 capabilities and strengths

Claude 4 excels at complex reasoning, code generation and analysis, detailed content creation, and agentic capabilities. Claude Opus 4 leads on SWE-bench (72.5%) and Terminal-bench (43.2%) with ability to sustain performance on long-running tasks requiring thousands of steps. Claude Sonnet 4 achieves 72.7% on SWE-bench while balancing performance and efficiency.

Claude 4 extended thinking and reasoning capabilities

Claude 4 enhances extended thinking capabilities allowing for complex problem-solving with step-by-step reasoning. Both Opus 4 and Sonnet 4 can use tools during extended thinking, allowing Claude to alternate between reasoning and tool use. Extended thinking is enabled via the providerOptions.anthropic.thinking option with a budgetTokens value specified. For interleaved thinking where Claude can think between tool calls, enable the beta feature using the 'anthropic-beta' header with value 'interleaved-thinking-2025-05-14'.

Claude 4 model variants and names

Claude 4 is available in two variants: Claude Sonnet 4 for balanced performance suitable for most enterprise applications with significant improvements over Sonnet 3.7, and Claude Opus 4 which is Anthropic's most powerful model and best coding model, excelling at sustained performance on long-running tasks requiring focused effort and thousands of steps. The model IDs are 'claude-sonnet-4-20250514' for Sonnet 4.

Switch between LLM providers with minimal code changes

The AI SDK abstracts provider differences, allowing you to switch between providers by changing just two lines of code. For example, to use Claude 3.7 Sonnet via Amazon Bedrock instead of Anthropic's direct API, import amazonBedrock instead of anthropic and use the model identifier 'anthropic.claude-3-7-sonnet-20250219-v1:0'.

Basic Claude 3.7 Sonnet text generation with AI SDK

To generate text with Claude 3.7 Sonnet using the AI SDK, import the anthropic provider and generateText function, then call generateText with the model identifier 'claude-3-7-sonnet-20250219'. The response includes text, reasoningText, and reasoning properties. Example: const { text, reasoningText, reasoning } = await generateText({ model: anthropic('claude-3-7-sonnet-20250219'), prompt: 'How many people will live in the world in 2040?' });

AI SDK consists of AI SDK Core and AI SDK UI

The AI SDK has two main components: AI SDK Core provides a unified API to call any LLM, and AI SDK UI provides abstractions for building chat, completion, and assistant interfaces with frameworks like Next.js, Nuxt, and SvelteKit. AI SDK UI simplifies managing chat streams and UI updates on the frontend.

Claude 3.7 Sonnet model capabilities

Claude 3.7 Sonnet is Anthropic's most intelligent model with extended thinking capabilities for step-by-step reasoning on complex problems. It offers state-of-the-art performance for coding, computer use, agentic capabilities, complex reasoning, and content generation. Users can balance speed and quality by choosing between standard thinking for near-instant responses or extended thinking for advanced reasoning.

GPT-5 model variants

OpenAI GPT-5 is available in three variants: gpt-5 for full capabilities, gpt-5-mini for faster and more cost-effective processing, and gpt-5-nano for ultra-efficient operations.

Basic generateText with Llama 3.1 via DeepInfra

To call Llama 3.1 with the AI SDK using DeepInfra as the provider, import deepInfra from '@ai-sdk/deepinfra' and generateText from 'ai'. Pass the model parameter as deepInfra('meta-llama/Meta-Llama-3.1-405B-Instruct') and provide a prompt. Example: const { text } = await generateText({ model: deepInfra('meta-llama/Meta-Llama-3.1-405B-Instruct'), prompt: 'What is love?' });

AI SDK unified API abstraction principle

The AI SDK abstracts away the differences between model providers, eliminating boilerplate code for building chatbots and allowing developers to go beyond text output to generate rich, interactive components. This abstraction means that switching between models requires changing only the model provider import and model identifier, not restructuring application logic.

Llama 3.1 model capabilities

Llama 3.1 instruction-tuned models work well for tasks including dialogue generation, translation, reasoning, and code generation. The models feature refined post-training processes that improve response alignment, reduce false refusal rates, and enhance answer diversity. Llama 3.1 surpasses most available open-source chat models on industry benchmarks and outperforms some closed-source models.

Llama 3.1 available providers

Llama 3.1 is available through multiple AI SDK providers including DeepInfra, Amazon Bedrock, Baseten, and Fireworks. The AI SDK abstracts the differences between providers, allowing developers to switch providers by changing just the import and model identifier.

Migrating from OpenAI to Llama 3.1

The AI SDK's unified API makes migration simple. Change only two lines: import deepInfra instead of openai, and pass deepInfra('meta-llama/Meta-Llama-3.1-70B-Instruct') instead of openai('gpt-4.1') to the model parameter. The generateText function call and all other code remain identical. This demonstrates the SDK's flexibility for switching models.

Llama 3.1 with Amazon Bedrock provider

To use Llama 3.1 with Amazon Bedrock, import amazonBedrock from '@ai-sdk/amazon-bedrock' and generateText from 'ai'. The model identifier for Bedrock is 'meta.llama3-1-405b-instruct-v1'. Example: const { text } = await generateText({ model: amazonBedrock('meta.llama3-1-405b-instruct-v1'), prompt: 'What is love?' });

Llama 3.1 model sizes and selection criteria

Llama 3.1 is available in three sizes: 405B, 70B, and 8B parameters. The 405B model is the largest open-source model available and offers the highest accuracy for complex tasks but requires significant computational resources. The 70B model provides a good balance of performance and efficiency for most applications. The 8B model is suitable for simpler tasks or resource-constrained environments where speed and lower computational overhead are priorities.

o1 model reasoning performance benchmarks

OpenAI o1 ranks in the 89th percentile on competitive programming questions (Codeforces), places among the top 500 students in the US in a USA Math Olympiad qualifier (AIME), and exceeds human PhD-level accuracy on physics, biology, and chemistry problems (GPQA).

OpenAI o1 model capabilities and constraints

The o1 model is designed to reason about hard problems using broad general knowledge. It supports tools and object generation, but does not support streaming. It supports reasoning effort adjustment via the reasoningEffort parameter.

Controlling o1 reasoning effort

You can control the amount of reasoning effort expended by o1 through the reasoningEffort parameter, which can be set to 'low', 'medium', or 'high' to adjust how much time and computation the model spends on internal reasoning before producing a response. This parameter is only supported by o1 and has no effect on other models.

o1 reasoning effort adjustment example

This example shows how to reduce reasoning effort for faster responses: ```ts import { generateText } from 'ai'; import { openai } from '@ai-sdk/openai'; const { text } = await generateText({ model: openai('o1'), prompt: 'Explain quantum entanglement briefly.', providerOptions: { openai: { reasoningEffort: 'low' }, }, }); ```

AI SDK Core provides unified LLM interface

AI SDK Core abstracts away the differences between model providers, allowing developers to focus on building applications. The unified interface means you can easily switch between models by changing just one line of code. At the center of the AI SDK is AI SDK Core, which provides a unified API to call any LLM.

Basic o3-mini text generation with AI SDK

This example shows how to call o3-mini with the AI SDK using generateText from the 'ai' package and openai from '@ai-sdk/openai': ```ts import { generateText } from 'ai'; import { openai } from '@ai-sdk/openai'; const { text } = await generateText({ model: openai('o3-mini'), prompt: 'Explain the concept of quantum entanglement.', }); ```

Prompt engineering best practices for o3-mini

o3-mini performs best with straightforward prompts. Keep prompts simple and direct; avoid chain-of-thought prompts since the model performs reasoning internally and does not benefit from being told to 'think step by step' or 'explain your reasoning'; use delimiters like triple quotation marks, XML tags, or section titles to clearly indicate distinct parts of the input.

o3-mini benchmark performance

OpenAI o3-mini demonstrates 87.3% accuracy on AIME competition math questions, 79.7% accuracy on PhD-level science questions (GPQA Diamond), 2130 Elo rating on competitive programming (Codeforces), and 49.3% accuracy on verified software engineering tasks (SWE-bench). These results use the high reasoning effort setting.

o3-mini model capabilities matrix

o3-mini supports: Streaming (yes), Tool Calling (yes), Structured Output (yes), Reasoning Effort control (yes), Image Input (no).

o3-mini reasoning effort levels

o3-mini offers three reasoning effort levels: Low (optimized for speed while maintaining solid reasoning capabilities), Medium (balanced approach matching o1's performance levels), and High (enhanced reasoning power exceeding o1 in many STEM domains).

Generate structured JSON with o3-mini

This example shows how to generate structured JSON data using Output.object with a zod schema: ```ts import { generateText, Output } from 'ai'; import { openai } from '@ai-sdk/openai'; import { z } from 'zod'; const { output } = await generateText({ model: openai('o3-mini'), output: Output.object({ schema: z.object({ recipe: z.object({ name: z.string(), ingredients: z.array( z.object({ name: z.string(), amount: z.string() }), ), steps: z.array(z.string()), }), }), }), prompt: 'Generate a lasagna recipe.', }); ```

Control o3-mini reasoning effort via providerOptions

You can control the reasoning effort expended by o3-mini through the reasoningEffort parameter in providerOptions. This example reduces reasoning effort for faster responses: ```ts import { generateText } from 'ai'; import { openai } from '@ai-sdk/openai'; const { text } = await generateText({ model: openai('o3-mini'), prompt: 'Explain quantum entanglement briefly.', providerOptions: { openai: { reasoningEffort: 'low' }, }, }); ```

System messages behavior with o3-mini

System messages are automatically converted to OpenAI developer messages when using o3-mini.

o3-mini version requirement

To use o3-mini, you must be using @ai-sdk/openai version 1.1.9 or greater.

DeepSeek R1 provider support and reasoning tokens

DeepSeek R1 is available through multiple providers with varying reasoning token support: | Provider | Model ID | Reasoning Tokens | |----------|----------|------------------| | DeepSeek | deepseek-reasoner | Native support | | Fireworks | accounts/fireworks/models/deepseek-r1 | Requires Middleware | | Groq | deepseek-r1-distill-llama-70b | Requires Middleware | | Azure | DeepSeek-R1 | Requires Middleware | | Together AI | deepseek-ai/DeepSeek-R1 | Requires Middleware | | FriendliAI | deepseek-r1 | Requires Middleware | | LangDB | deepseek/deepseek-reasoner | Requires Middleware |

DeepSeek R1 limitations

DeepSeek R1 models have the following limitations: (1) No tool-calling support—DeepSeek R1 cannot directly interact with APIs or external tools, (2) No object generation support—DeepSeek R1 does not support structured object generation, though it can be combined with models that support structured object generation like gpt-4o-mini.

DeepSeek R1 model variants and training

DeepSeek R1 includes two primary variants: DeepSeek R1-Zero, trained exclusively with reinforcement learning without supervised fine-tuning, exhibits advanced reasoning but may struggle with readability and formatting. DeepSeek R1 combines reinforcement learning with cold-start data and supervised fine-tuning to improve both reasoning performance and output readability.

DeepSeek R1 reasoning benchmarks

DeepSeek R1 models achieve the following benchmark scores: AIME 2024 (Pass@1) 79.8%, MATH-500 (Pass@1) 97.3%, Codeforces Percentile Top 4% (96.3%), GPQA Diamond (Pass@1) 71.5%.

Extract reasoning from DeepSeek R1 via Fireworks

To use DeepSeek R1 via Fireworks and extract reasoning tokens, wrap the model with extractReasoningMiddleware: ```ts import { fireworks } from '@ai-sdk/fireworks'; import { generateText, wrapLanguageModel, extractReasoningMiddleware, } from 'ai'; const enhancedModel = wrapLanguageModel({ model: fireworks('accounts/fireworks/models/deepseek-r1'), middleware: extractReasoningMiddleware({ tagName: 'think' }), }); const { reasoningText, text } = await generateText({ model: enhancedModel, prompt: 'Explain quantum entanglement.', }); ```

Extract reasoning from DeepSeek R1 via Groq

To use Groq's deepseek-r1-distill-llama-70b model and extract reasoning tokens, wrap the model with extractReasoningMiddleware: ```ts import { groq } from '@ai-sdk/groq'; import { generateText, wrapLanguageModel, extractReasoningMiddleware, } from 'ai'; const enhancedModel = wrapLanguageModel({ model: groq('deepseek-r1-distill-llama-70b'), middleware: extractReasoningMiddleware({ tagName: 'think' }), }); const { reasoningText, text } = await generateText({ model: enhancedModel, prompt: 'Explain quantum entanglement.', }); ```

extractReasoningMiddleware with startWithReasoning option

When using DeepSeek-R1 series models with third-party providers like Together AI that tend to bypass thinking patterns, use the `startWithReasoning` option in the `extractReasoningMiddleware` function.

DeepSeek V3.2 code example: basic text generation

```ts import { deepSeek } from '@ai-sdk/deepseek'; import { generateText } from 'ai'; const { text } = await generateText({ model: deepSeek('deepseek-chat'), prompt: 'Explain the concept of sparse attention in transformers.', }); ``` This example demonstrates how to generate text from a prompt using the DeepSeek V3.2 chat model with the AI SDK.

DeepSeek V3.2 model aliases for AI SDK

DeepSeek V3.2 offers two model aliases for use with the AI SDK. The 'deepseek-chat' alias connects to DeepSeek-V3.2 in Non-thinking Mode and serves as the standard chat model. The 'deepseek-reasoner' alias connects to DeepSeek-V3.2 in Thinking Mode and provides enhanced reasoning for complex problem-solving tasks.

Basic DeepSeek V3.2 text generation with AI SDK

To generate text with DeepSeek V3.2 using the AI SDK, import the deepSeek provider and the generateText function. Call generateText with a model specified using deepSeek('deepseek-chat') or deepSeek('deepseek-reasoner'), and provide a prompt string. The function returns an object containing a text property with the model's response.

Install AI SDK and DeepSeek provider for Next.js

To use DeepSeek V3.2 with the AI SDK in a Next.js application, install the packages using: pnpm install ai @ai-sdk/deepseek @ai-sdk/react

DeepSeek V3.2 model capabilities

DeepSeek V3.2 is a frontier model that excels in advanced reasoning and agentic capabilities. It delivers GPT-5 level performance with high computational efficiency. The standard variant (deepseek-chat and deepseek-reasoner) is optimized for both reasoning and inference efficiency. A separate high-compute variant called DeepSeek V3.2-Speciale is available but does not support tool-use.

Environment setup for PDF chat with Anthropic

Set up the environment variable ANTHROPIC_API_KEY in .env.local file with your Anthropic API key value to enable Claude model access for PDF processing.

Vercel AI Gateway API key requirement

The examples use the Vercel AI Gateway and require the AI_GATEWAY_API_KEY environment variable to be set.

generateText providerOptions parameter

The providerOptions parameter is optional and accepts Record<string, JSONObject>. The outer key is the provider name and inner values are provider-specific metadata. Details depend on the provider.

generateText HTTP headers parameter

The headers parameter is optional and accepts Record<string, string | undefined>, allowing additional HTTP headers to be sent with the request. Only applicable for HTTP-based providers.

OpenAI-compatible providers

AI SDK supports OpenAI-compatible APIs through the OpenAI Compatible provider. LM Studio and Heroku are listed as OpenAI-compatible providers.

Self-hosted model providers

Self-hosted models can be accessed through the following providers: Ollama, LM Studio, Baseten, and Browser AI. Additionally, any self-hosted provider that supports the OpenAI specification can be used with the OpenAI Compatible Provider.

Community-created AI SDK providers

The open-source community has created the following providers: 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 with 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 with 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 models

Anthropic models with 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).

AI SDK standardized provider interface

AI SDK Core offers a standardized approach to interacting with LLMs through a language model specification that abstracts differences between providers. This unified interface allows you to switch between providers with ease while using the same API for all providers, reducing vendor lock-in and simplifying the process of switching providers.

Model capabilities table: Mistral models

Mistral models with 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: Cerebras models

Cerebras models with 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: DeepSeek models

DeepSeek models with 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).

Give your agent this brain