Pixtral 12B 2409
Pixtral 12B 2409 is a natively multimodal model with a 400M vision encoder and context window of 128K tokens, processing images at native resolution with support for multiple images per request.
View API reference- Input and output price
- Input $0.15, Output $0.15, Per 1M tokens
- 24h uptime
- Loading AI Gateway uptime
import { streamText } from 'ai'
const result = streamText({ model: 'mistral/pixtral-12b', prompt: 'Why is the sky blue?'})Copy link to headingPlayground
Try out Pixtral 12B 2409 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.
Pixtral 12B 2409
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 Pixtral 12B 2409 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/pixtral-12b', prompt: 'Why is the sky blue?', });
console.log(result.text);}
main().catch(console.error);Top-level parameters
The same Pixtral 12B 2409 request in each API format AI Gateway supports.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'mistral/pixtral-12b', 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/pixtral-12b. AI Gateway routes the request to an available provider. |
maxOutputTokens | number | No | Hard cap on generated tokens. Pixtral 12B 2409 supports up to 4,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 128K-token context window |
| Image | — | URL, base64, Uint8Array | — | — | Sent as image parts in messages; counts as input tokens |
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/pixtral-12b', 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.
Image input
Send images alongside text as message parts. Images count as input tokens.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'mistral/pixtral-12b', messages: [ { role: 'user', content: [ { type: 'text', text: 'Describe this image.' }, { type: 'image', image: 'https://example.com/photo.jpg' }, ], }, ], });
console.log(result.text);}
main().catch(console.error);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/pixtral-12b', 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 Pixtral 12B 2409
Pixtral 12B 2409 introduced multimodal capability to the Mistral lineup with a clean architectural split. A 400M parameter vision encoder trained from scratch handles image understanding, while a 12B decoder based on Mistral Nemo handles text generation. The two components were trained together on interleaved image-text data, so visual and textual understanding are integrated rather than bolted together.
The context window of 128K tokens accommodates multiple images alongside text in a single request. You can compare images, trace visual changes across a document, or cross-reference diagrams with their written descriptions. Variable aspect ratio support processes images at their native dimensions, which matters for charts, documents, and technical schematics where distortion degrades accuracy.
On MMMU, Pixtral 12B 2409 scores 52.5% and achieves a 20% relative improvement in instruction following over comparable open-source multimodal models. Pixtral 12B 2409 ships under Apache 2.0. Mistral has designated Pixtral 12B 2409 as deprecated in favor of newer vision models, though it remains available through AI Gateway for existing integrations.
Copy link to headingWhat To Consider When Choosing a Provider
- Configuration: Pixtral 12B 2409 processes images at native resolution without token waste. Pixtral 12B 2409 adapts token allocation to actual image dimensions, unlike models that resize all images to a fixed token budget.
- 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 Pixtral 12B 2409
Best for
- Document question answering: Text and visual layout matter together
- Chart and graph interpretation: Requiring both visual parsing and textual explanation
- Multi-image workflows: Within a single request using the full context of 128K tokens
- Native multimodal migration: For applications moving from vision-adapted text models
- Apache 2.0 vision licensing: Teams requiring this license for a vision-capable model
Consider alternatives when
- Higher vision accuracy: You need top-tier performance (consider Pixtral Large)
- Text-only workloads: Vision capability adds no value
- Higher math or reasoning: You need stronger benchmark scores alongside vision
Copy link to headingConclusion
Pixtral 12B 2409 brought native multimodality to the Mistral family as a ground-up integration of vision and language through a 400M encoder trained alongside the text decoder. Mistral has deprecated Pixtral 12B 2409. For teams with existing integrations, Pixtral 12B 2409 remains available through AI Gateway.
Copy link to headingFrequently Asked Questions
Is Pixtral 12B 2409 still actively maintained?
Mistral has designated Pixtral 12B 2409 as deprecated in favor of newer vision models. Pixtral 12B 2409 remains accessible through AI Gateway for existing integrations.
How does Pixtral 12B 2409 handle images at native resolution?
Pixtral 12B 2409 dynamically allocates tokens based on actual image dimensions rather than resizing to a fixed budget. This preserves detail in high-resolution charts, documents, and schematics.
How many images can Pixtral 12B 2409 process in one request?
Multiple images are supported within the context window of 128K tokens, limited by total token budget.
What is the vision encoder architecture?
400 million parameters, trained from scratch on visual data, not adapted from a pre-existing image model.
What is Pixtral 12B 2409's MMMU score?
52.5%.
What is the text decoder based on?
Mistral Nemo (12B), providing the text generation and instruction-following capabilities.
How does Pixtral 12B 2409 compare to Pixtral Large?
Pixtral Large (124B) is built on Mistral Large 2 and outperforms Pixtral 12B 2409 on document understanding, chart analysis, and mathematical vision tasks. Pixtral 12B 2409 is more accessible in inference cost at the 12B parameter count.