Mistral Small 4: A 119B MoE That Still Calls Itself Small
Mistral Small 4 folds reasoning, vision and agentic coding into one Apache 2.0 MoE with 6B active parameters. What the name hides, what it costs, and how to use it well.
For three releases, "Mistral Small" meant a dense 24B model you could quantise onto one workstation GPU. Mistral Small 4 keeps the name and changes almost everything else. It is a 119B-parameter mixture-of-experts model, it reasons when asked to, and it replaces several separate Mistral product lines at once.
That makes it cheap to call and expensive to host — the opposite trade-off from the Small models it succeeds. Anyone migrating from Small 3.2 needs to know which side of that trade they are on before they switch.
What "Small" means now
Mistral released Small 4 on 16 March 2026 under Apache 2.0. The architecture is a mixture of experts with 128 experts, four of which are active for each token. Total parameters are 119B; the announcement gives 6B active per token, or 8B counting the embedding and output layers (the model card rounds it to 6.5B). The context window is 256K tokens, and it accepts text and image input.
The "small" in the name now describes the compute per token, not the model. Six billion active parameters is a light forward pass, which is why the API price is low and generation is fast. But every one of the 119B parameters has to be in memory to serve it: each of the two weight formats in the Hugging Face repository is roughly 120 GB. Active parameters set your compute per token; total parameters set your memory bill.
Mistral lists the minimum self-hosting configuration as 4x HGX H100, 2x HGX H200 or 1x DGX B200. Compare that with Small 3.2, which ran unquantised in about 55 GB. If the reason you used the Small line was owning the hardware, Small 4 is a different proposition.
One model instead of four
Mistral describes Small 4 as the first of its models to unify the capabilities of Magistral (reasoning), Pixtral (multimodal) and Devstral (agentic coding), alongside the general instruct role of the previous Small models. In practice that means one endpoint can handle a quick chat reply, a screenshot, a step-by-step proof and a tool-calling coding loop.
The control for this is a reasoning_effort parameter. Mistral documents two settings:
"none"— fast, lightweight replies in the style of Mistral Small 3.2."high"— step-by-step reasoning with verbosity comparable to earlier Magistral models.
This matters for cost more than for capability. Reasoning output is billed as output, and output is the expensive side of the price. Leaving "high" on for every request multiplies your bill on tasks that did not need it. The token cost of reasoning models works through that arithmetic; the practical rule is to default to "none" and switch per request where you have measured a gain.
The vendor claims, read carefully
Mistral reports two kinds of improvement over Small 3:
- Throughput — about three times more requests per second in a throughput-optimised setup.
- Latency — about 40% less end-to-end completion time in a latency-optimised setup.
Both are serving-configuration claims on Mistral's hardware, not properties you will automatically see through a third-party host.
On quality, Mistral says that with reasoning enabled Small 4 matches or beats gpt-oss-120b on the three benchmarks it charts, with shorter outputs. It gives a score of 0.72 on AA LCR with around 1.6K characters of output, and says comparable Qwen models need roughly 3.5–4 times as much output to get there. On LiveCodeBench it claims a win over gpt-oss-120b with 20% less output.
The emphasis on output length is the interesting part. A model that reaches the same answer in fewer tokens is cheaper and faster per task even at the same per-token price. It is also exactly the kind of claim to verify, because it depends on prompts and effort settings. If gpt-oss is your alternative, the gpt-oss-120b guide covers that model on its own terms.
Price, snapshots and the batch endpoint
Mistral's announced API price is $0.15 per million input tokens and $0.60 per million output, and the same figures appear on OpenRouter at the time of writing. The API alias is mistral-small-latest; the dated snapshot is mistral-small-2603.
Use the dated name in production. An alias moves when Mistral ships the next Small, and output style can change with it; a dated snapshot stays fixed until it is deprecated.
OpenRouter also lists a mistral-small-2603:batch variant. It is the same model on an asynchronous endpoint, listed at half the price — $0.075 input and $0.30 output per million tokens at the time of writing. You give up immediate responses in exchange. For overnight classification, evaluation runs or bulk extraction, that is usually a good trade; batch API savings math shows when the latency cost outweighs the discount.
Who should use it
Small 4 is the replacement Mistral names for every retired member of the line — Small 3, 3.1, 3.2 and Mixtral 8x22B — and it is the only one still on Mistral's own API. For hosted use it is the default choice in the family: cheaper per output token than many older, larger models, multimodal, and actively maintained.
It is the wrong choice if you need a model that fits on one or two GPUs. For that, the 24B Mistral Small 3.2 remains the better fit, with the caveat that it no longer receives updates.
Before migrating, take twenty real requests from your logs and run them through both models with reasoning_effort at "none", then at "high" for the ones that failed. Record cost per correct answer, not cost per token. That one table tells you whether the unified model saves money or just moves it into reasoning output.
Common questions
How big is Mistral Small 4?
It is a mixture-of-experts model with 119B total parameters and 6B active per token (8B including embedding and output layers), using 128 experts with four active. Each weight format on Hugging Face is roughly 120 GB.
What does reasoning_effort do in Mistral Small 4?
It switches between "none", which gives fast replies in the style of Small 3.2, and "high", which gives step-by-step reasoning similar to Magistral. High effort produces more output tokens, so it costs more per request.
What is the mistral-small-2603:batch variant?
The same model served on an asynchronous batch endpoint. OpenRouter lists it at half the standard price at the time of writing, in exchange for results arriving later rather than immediately.