Devstral 2
Devstral 2 is a 123B open-weight agentic coding model with 72.2% on SWE-bench Verified, a context window of 256K tokens, and support for codebase exploration and multi-file orchestration.
View API reference- Input and output price
- Input $0.40, Output $2, Per 1M tokens
- 24h uptime
- Loading AI Gateway uptime
import { streamText } from 'ai'
const result = streamText({ model: 'mistral/devstral-2', prompt: 'Why is the sky blue?'})Copy link to headingPlayground
Try out Devstral 2 by Mistral. Usage is billed to your team at API rates. Free users (those who haven't made a payment) get $5 of credits every 30 days.
Devstral 2
Copy link to headingProviders
Route requests across multiple providers. Copy a provider slug to set your preference. Visit the docs for more info. Using a provider means you agree to their terms, listed under Legal.
| Provider |
|---|
Copy link to headingUptime24 hours
Direct request success rate on AI Gateway and per-provider. Visit the docs for more info.
Copy link to headingThroughput24 hours
P50 throughput on live AI Gateway traffic, in tokens per second (TPS). Visit the docs for more info.
Copy link to headingLatency24 hours
P50 time to first token (TTFT) on live AI Gateway traffic, in milliseconds. View the docs for more info.
Getting started
Call Devstral 2 through AI Gateway with the AI SDK generateText and streamText functions, or through the OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages APIs by changing the base URL. AI Gateway authenticates the request and routes it to an available provider.
Install the AI SDK (pnpm add ai dotenv), create an API key from the API Keys page, and set it as AI_GATEWAY_API_KEY in your environment. Full setup is covered in the text generation quickstart.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'mistral/devstral-2', prompt: 'Why is the sky blue?', });
console.log(result.text);}
main().catch(console.error);Top-level parameters
The same Devstral 2 request in each API format AI Gateway supports.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'mistral/devstral-2', system: 'You are a concise technical assistant.', prompt: 'Summarize the tradeoffs between static generation and SSR.', maxOutputTokens: 1024, temperature: 0.5, });
console.log(result.text);}
main().catch(console.error);Standard parameters like prompt, messages, temperature, and tools work as documented in the AI SDK docs. These are the parameters with model-specific behavior.
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model ID in the form creator/model, e.g. mistral/devstral-2. AI Gateway routes the request to an available provider. |
maxOutputTokens | number | No | Hard cap on generated tokens. Devstral 2 supports up to 256,000 output tokens. |
providerOptions | Record<string, JSONValue> | No | AI Gateway routing options under gateway, plus any provider-native options under the provider’s own namespace — see the table below. |
Input limits
| Input | Formats | Sources | Max count | Max size | Limits |
|---|---|---|---|---|---|
| Text | — | — | — | — | Prompt and response share the 256K-token context window |
Provider options
Set AI Gateway routing options under providerOptions.gateway. For provider-specific options, pass them under the provider’s namespace as documented by the AI SDK.
Learn more in the AI SDK mistral provider docs.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'mistral/devstral-2', prompt: 'Why is the sky blue?', providerOptions: { gateway: { only: ['mistral'], }, }, });
console.log(result.text);}
main().catch(console.error);These AI Gateway routing options apply to every model. Provider-specific options pass through under the provider’s own namespace (for example providerOptions.anthropic) exactly as documented by the AI SDK.
| Parameter | Type | Required | Description |
|---|---|---|---|
providerOptions.gateway.only | string[] | No | Restrict routing to these provider slugs. Requests fail over only within the listed providers. |
providerOptions.gateway.order | string[] | No | Preferred provider order. Listed providers are tried first; unlisted providers remain available as fallbacks. |
providerOptions.gateway.sort | 'cost' | 'ttft' | 'tps' | No | Rank candidate providers by price, time to first token, or tokens per second instead of the default routing order. |
providerOptions.gateway.zeroDataRetention | boolean | No | Route only to providers with a zero-data-retention policy for this model. |
Routing across providers
AI Gateway serves the same model through multiple providers and fails over automatically. order expresses a preference while keeping every provider eligible; only is a hard allowlist — if none of the listed providers are available the request fails instead of falling back.
Options under a provider's own namespace (for example providerOptions.anthropic) are forwarded to that provider with the request. Providers ignore option namespaces that don't apply to them, so it is safe to set provider options alongside gateway routing options.
Tool calling
Expose tools the model can call. Define each tool’s inputs with a Zod schema.
import { generateText, tool } from 'ai';import { z } from 'zod';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'mistral/devstral-2', prompt: 'What is the weather in San Francisco?', tools: { getWeather: tool({ description: 'Get the current weather for a location', inputSchema: z.object({ location: z.string() }), execute: async ({ location }) => ({ location, temperatureC: 18 }), }), }, });
console.log(result.text);}
main().catch(console.error);Copy link to headingAbout Devstral 2
Devstral 2 scores 72.2% on SWE-bench Verified per Mistral's Devstral 2 announcement. At 123B parameters, it's the larger tier in the Devstral 2 family.
The context window of 256K tokens lets Devstral 2 hold entire repositories, long dependency chains, or extensive test suites in context simultaneously. Multi-file orchestration and dependency tracking in production codebases demand this capacity. Devstral 2 supports codebase exploration, multi-file changes, failure detection, and auto-correction within a single agent loop.
Devstral 2 ships under a modified MIT license, making it suitable for commercial deployments.
Copy link to headingWhat To Consider When Choosing a Provider
- Configuration: Devstral 2 is a 123B open-weight agentic coding model available through AI Gateway, so you can access its full capability without managing model infrastructure.
- Zero Data Retention: Zero Data Retention is available for this model. It is offered on a per-provider and model basis. See the documentation for details.
- Authentication: AI Gateway authenticates requests using an API key or OIDC token. You do not need to manage provider credentials directly.
Copy link to headingWhen to Use Devstral 2
Best for
- Software engineering agents: Autonomous agents that resolve real GitHub issues end-to-end
- Multi-file codebase changes: Refactors and features that require deep dependency tracking across files
- Automated failure detection: Agents that run self-correction loops inside CI/CD pipelines
- Top open-weight SWE-bench scores: For teams prioritizing these benchmarks at release
Consider alternatives when
- Smaller parameter footprint: You want a more compact model (consider Devstral Small 2)
- Multimodal agents: Image input is required (Devstral Small 2 supports images; Devstral 2 does not)
- Simple single-file generation: Your workload is not full agentic workflows
Copy link to headingConclusion
Devstral 2 reaches 72.2% on SWE-bench Verified. Devstral 2 combines a context window of 256K tokens and a modified MIT license that supports commercial deployment. Access Devstral 2 through AI Gateway for agentic coding workloads.
Copy link to headingFrequently Asked Questions
What is Devstral 2's score on SWE-bench Verified?
72.2% on SWE-bench Verified, per Mistral's Devstral 2 announcement.
What is the context window?
256K tokens, enabling entire repositories, long test suites, and complex dependency chains to be held in context simultaneously.
What license does Devstral 2 use?
A modified MIT license that permits commercial deployments.
How does Devstral 2 differ from Devstral Small 2?
Devstral 2 (123B) outperforms Devstral Small 2 (24B) on benchmarks. Devstral Small 2 is 24B parameters, supports image inputs, and uses the Apache 2.0 license.
Can Devstral 2 handle failure detection and auto-correction?
Yes. Automated failure detection with auto-correction is a listed production workflow capability.