Mistral Small
Mistral Small (September 17, 2024) is a 22B mid-tier model with improved reasoning, alignment, and code at about 80% lower list pricing than its predecessor in Mistral's September 2024 table.
View API reference- Input and output price
- Input $0.10, Output $0.30, Per 1M tokens
- 24h uptime
- Loading AI Gateway uptime
import { streamText } from 'ai'
const result = streamText({ model: 'mistral/mistral-small', prompt: 'Why is the sky blue?'})Copy link to headingPlayground
Try out Mistral Small 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 Small
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 Mistral Small 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/mistral-small', prompt: 'Why is the sky blue?', });
console.log(result.text);}
main().catch(console.error);Top-level parameters
The same Mistral Small request in each API format AI Gateway supports.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'mistral/mistral-small', 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/mistral-small. AI Gateway routes the request to an available provider. |
maxOutputTokens | number | No | Hard cap on generated tokens. Mistral Small 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 32K-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/mistral-small', 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/mistral-small', 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/mistral-small', 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 Mistral Small
Released September 17, 2024, the Mistral Small update was primarily a pricing event, with an approximately 80% reduction in input and output token pricing compared to the prior release. Simultaneous capability improvements in human alignment, reasoning, and code generation made this a significant upgrade rather than just a price cut.
At 22B parameters, Mistral Small sits between Mistral NeMo (12B) and Mistral Large 2 in the lineup Mistral described in September 2024. Mistral Small targets translation, summarization, and sentiment analysis.
The pricing cut plus capability improvements made Mistral Small a common pick for production workloads that previously ran larger, more expensive Mistral endpoints.
Copy link to headingWhat To Consider When Choosing a Provider
- Configuration: At 22B parameters, Mistral Small sits between Mistral NeMo 12B and Mistral Large 2 as a mid-point in the lineup, per Mistral's September 2024 post.
- 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 Small
Best for
- Translation and summarization at scale: High-volume translation, summarization, and sentiment analysis workloads
- 22B mid-tier production: Workloads that need competitive per-token pricing
- Mid-point between NeMo and Large: Applications where this capability fit is right
- Cost optimization: For workloads previously using larger Mistral models
Consider alternatives when
- Higher reasoning capability: For workloads that need more depth (consider Mistral Large 3 or Magistral)
- Tekken tokenizer compression: You need multilingual compression advantages (consider Mistral NeMo)
- Vision input: Your workload needs image input (consider Pixtral models)
Copy link to headingConclusion
Mistral Small's September 17, 2024 update cut list pricing and improved alignment, reasoning, and code quality in Mistral's post. An 80% cost reduction shipped alongside those capability changes. Mistral Small remains a fit for teams that want a 22B mid-tier model through AI Gateway.
Copy link to headingFrequently Asked Questions
What are the input and output prices for Mistral Small?
This page lists the current rates. Multiple providers can serve Mistral Small, so AI Gateway surfaces live pricing rather than a single fixed figure.
How many parameters does Mistral Small have?
22 billion parameters.
Where does Mistral Small sit in the model lineup?
Between Mistral NeMo (12B) and Mistral Large 2, described as a convenient mid-point for enterprise use cases.
What capability improvements came with the September 17, 2024 release?
Improved human alignment, stronger reasoning, and better code generation compared to the prior Mistral Small version.
What tasks is Mistral Small well-suited for?
Translation, summarization, and sentiment analysis. Mistral positions Mistral Small for tasks that don't need Mistral Large-scale breadth.
How does Mistral Small compare to Mistral NeMo?
Mistral Small is larger (22B vs 12B), more capable, and more expensive. Mistral NeMo has the Tekken tokenizer's compression advantages for code and non-Latin scripts. The choice depends on capability requirements and token efficiency needs.