Skip to content
Dashboard

Mistral Codestral

Mistral Codestral is Mistral's first dedicated code generation model, trained on 80+ programming languages with a context window of 128K tokens and fill-in-the-middle (FIM) support for in-context code completion.

View API reference
Input and output price
Input $0.30, Output $0.90, Per 1M tokens
24h uptime
Loading AI Gateway uptime
import { streamText } from 'ai'
const result = streamText({
model: 'mistral/codestral',
prompt: 'Why is the sky blue?'
})
Read docs

Copy link to headingPlayground

Try out Mistral Codestral 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.

mistral logo
mistral logo

Mistral Codestral

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
Context
Max Output
Latency
Throughput
Input
Output
Cache
Web Search
Capabilities
ZDR
No Training
Free Tier
Release Date
128K4K0.3 s117 tps
$0.30/M
$0.90/M
05/29/2024

Copy link to headingUptime

Direct request success rate on AI Gateway and per-provider. Visit the docs for more info.

Copy link to headingThroughput

P50 throughput on live AI Gateway traffic, in tokens per second (TPS). Visit the docs for more info.

Copy link to headingLatency

P50 time to first token (TTFT) on live AI Gateway traffic, in milliseconds. View the docs for more info.

Getting started

Call Mistral Codestral 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.

index.ts
import { generateText } from 'ai';
import 'dotenv/config';
async function main() {
const result = await generateText({
model: 'mistral/codestral',
prompt: 'Why is the sky blue?',
});
console.log(result.text);
}
main().catch(console.error);

Top-level parameters

The same Mistral Codestral request in each API format AI Gateway supports.

top-level-params.ts
import { generateText } from 'ai';
import 'dotenv/config';
async function main() {
const result = await generateText({
model: 'mistral/codestral',
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.

ParameterTypeRequiredDescription
modelstringYesModel ID in the form creator/model, e.g. mistral/codestral. AI Gateway routes the request to an available provider.
maxOutputTokensnumberNoHard cap on generated tokens. Mistral Codestral supports up to 4,000 output tokens.
providerOptionsRecord<string, JSONValue>NoAI Gateway routing options under gateway, plus any provider-native options under the provider’s own namespace — see the table below.

Input limits

InputFormatsSourcesMax countMax sizeLimits
TextPrompt and response share the 128K-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.

provider-options.ts
import { generateText } from 'ai';
import 'dotenv/config';
async function main() {
const result = await generateText({
model: 'mistral/codestral',
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.

ParameterTypeRequiredDescription
providerOptions.gateway.onlystring[]NoRestrict routing to these provider slugs. Requests fail over only within the listed providers.
providerOptions.gateway.orderstring[]NoPreferred provider order. Listed providers are tried first; unlisted providers remain available as fallbacks.
providerOptions.gateway.sort'cost' | 'ttft' | 'tps'NoRank candidate providers by price, time to first token, or tokens per second instead of the default routing order.
providerOptions.gateway.zeroDataRetentionbooleanNoRoute 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.

tool-calling.ts
import { generateText, tool } from 'ai';
import { z } from 'zod';
import 'dotenv/config';
async function main() {
const result = await generateText({
model: 'mistral/codestral',
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 headingMore models by Mistral

Model
Context
Latency
Throughput
Input
Output
Cache
Web Search
Capabilities
Providers
ZDR
No Training
Free Tier
Release Date
256K0.5 s80 tps
$0.50/M
$1.50/M
mistral logo
12/02/2025
256K0.3 s113 tps
$0.20/M
$0.20/M
mistral logo
12/02/2025
$0.15/M
mistral logo
05/28/2025
128K0.3 s253 tps
$0.10/M
$0.10/M
mistral logo
10/16/2024
32K0.3 s28 tps
$0.10/M
$0.30/M
mistral logo
09/17/2024
$0.10/M
mistral logo
12/11/2023

Copy link to headingAbout Mistral Codestral

Announced May 29, 2024, Mistral Codestral was the first model Mistral dedicated entirely to code. With 22 billion parameters and training across more than 80 programming languages, including Python, Java, C, C++, JavaScript, Bash, Swift, and Fortran, Mistral Codestral covers the breadth of languages developers encounter in production.

Mistral Codestral's defining technical feature is fill-in-the-middle (FIM) support. Unlike instruction-only models that generate code from a prompt, FIM lets Mistral Codestral complete code within a partial snippet. Mistral Codestral can insert a function body, finish a conditional branch, or complete a class method given the surrounding context. This makes Mistral Codestral a natural fit for IDE integrations like Continue.dev and Tabnine, where code above and below the cursor is provided as context.

Beyond completion, Mistral Codestral handles test generation and documentation authoring. Its context window of 128K tokens was over four times larger than those of competing models at launch, so Mistral Codestral can process full files rather than truncated snippets.

Copy link to headingWhat To Consider When Choosing a Provider

  • Configuration: Mistral Codestral's context window of 128K tokens was over four times larger than the 4K to 16K windows typical of competing code models at release. You can reason over entire files or multi-file snippets in a single request.
  • 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 Mistral Codestral

Best for

  • IDE and editor plugins: Requiring fill-in-the-middle code completion
  • Automated test generation: Producing unit or integration tests from existing source code
  • Documentation generation: Writing inline docs and reference material for functions, classes, and modules
  • Code translation between languages: Converting source across languages, for example Python to TypeScript
  • Broad language coverage: Applications that need wide support in a single model

Consider alternatives when

  • Agentic software engineering: You need multi-file orchestration (consider Devstral)
  • Semantic code search: Your primary requirement is search rather than generation (consider Codestral Embed)
  • Reasoning-heavy problem solving: You need deep reasoning alongside coding (consider Magistral)

Mistral Codestral established Mistral's footprint in developer tooling when it launched. Mistral Codestral remains relevant for teams that need broad language coverage, fill-in-the-middle completion, and a context window of 128K tokens optimized for code. Mistral's coding model family builds on this foundation.

Copy link to headingFrequently Asked Questions

  • What is fill-in-the-middle (FIM) and how does Mistral Codestral use it?

    FIM allows Mistral Codestral to complete code given both a prefix (code before the cursor) and a suffix (code after the cursor). Mistral Codestral uses this to insert completions inside partial functions or expressions, which is the dominant pattern in IDE plugins.

  • How many programming languages does Mistral Codestral support?

    Mistral Codestral was trained on over 80 programming languages. Benchmarked languages include Python, C++, Bash, Java, PHP, TypeScript, C#, SQL, Swift, and Fortran.

  • What is Mistral Codestral's context window?

    128K tokens. At launch this was over four times larger than the 4K to 16K windows typical of competing code models.

  • Can Mistral Codestral write unit tests?

    Yes. Test generation is an explicit use case in Mistral's documentation for Mistral Codestral alongside code completion and documentation authoring.

  • Is Mistral Codestral available as an open-weight model?

    Yes. Weights are available on HuggingFace under the Mistral Non-Production License (MNPL). Commercial API access is available through La Plateforme and AI Gateway.

  • How does Mistral Codestral integrate with IDEs?

    Mistral Codestral integrates with Continue.dev and Tabnine plugins for VS Code and JetBrains, using the FIM API for in-editor completions.

  • How is Mistral Codestral different from Devstral?

    Mistral Codestral is a code generation and completion model focused on individual file-level tasks. Devstral is an agentic model designed to navigate entire codebases, resolve GitHub issues, and orchestrate multi-file changes autonomously.

Your use is subject to Mistral's Terms & Privacy Policies.