← Back to all pricing

Mistral Small API Pricing: European Enterprise Cost Efficiency

Explore Mistral Small API pricing ($0.15/M input, $0.60/M output), European GDPR data sovereignty, fast instruction following, and enterprise API rates.

Full specs, context window and API limits →

How much does Mistral Small 3.1 cost per million tokens?

Mistral Small costs $0.15 per million input tokens and $0.60 per million output tokens ($0.2625/M blended at 3:1). Provides lightweight European sovereign AI with 128K context and rapid instruction following. Verified 2026-09-08.

Verified 2026-09-08 — source
Input
$0.15/M
Output
$0.60/M
Blended
$0.26/M
Provider
Verified 2026-08-14 — source

How much does Mistral Small 3.1 cost per 1,000 requests?

Computed from generated token pricing. Each row assumes the listed input and output tokens per request; output is adjusted by this model's measured 0.85× verbosity factor.

Request shapeInput tokensOutput tokensCost / 1,000 requests
Short10050$0.0405
Medium1,000500$0.4050
Long4,0002,000$1.6200

Formula: ((input price × input tokens) + (output price × output tokens × verbosity factor)) ÷ 1,000,000 × 1,000. Assumptions: short 100/50, medium 1,000/500, long 4,000/2,000 input/output tokens per request. Verbosity run: 2026-06-16T20:31:30.728Z.

Three model-specific pricing decisions

Small owns everyday extraction, chat, and vision-shaped decision economics. Image units are not converted from text tokens.

1. Extraction, chat, and vision-shaped bills

WorkloadFixed shape100K billImage-unit boundary
Extraction2,000 / 400$54.00Text tokens
Chat1,000 / 500$45.00Text tokens
Vision-shaped2,000 text + image$54.00Image unit unavailable; text row is not an image bill

2. Small versus Ministral accepted-result crossover

Fixed input / outputMistral Small 3.1Ministral 8BNarrow decision boundary
Short task · 1,000 / 300$33.00$19.5010% accepted-result uplift required
256K-shaped task · 256,000 / 2,000$3960.00$3870.0015% accepted-result uplift required

Formula: requests × (input tokens × input $/M + output tokens × output $/M) ÷ 1,000,000. The uplift is a planning threshold, not a measured quality claim.

3. Dated family price / TTFT / throughput ordering

ModelVerified ratesSpeed evidenceOrdering boundary
Mistral Small 3.12026-08-14 · $0.15 / $0.60 per M121 tokens/sec; TTFT 260 ms; 5 measured samplesPrice/speed input only; no family verdict
Mistral Large 32026-08-14 · $0.50 / $1.50 per M61 tokens/sec; TTFT 400 ms; 5 measured samplesPrice/speed input only; no family verdict
Mistral Medium 32026-08-14 · $1.50 / $7.50 per M92 tokens/sec; TTFT 320 ms; 5 measured samplesPrice/speed input only; no family verdict

Verified 2026-08-14. “Unavailable” means no compatible dated evidence was found; it is never treated as zero. First-party price source · Run this scenario.

All three decisions below are computed for Mistral Small 3.1; fixed inputs, formulas, dated sources, speed sample state, and unavailable mechanics are visible.

Exact-model pricing guide · verified 2026-09-08

Exact model boundary: Mistral mistral-small (slug mistral-small). First-party provider pricing and API documentation remain fact owners.

European sovereign token pricing and monthly spend matrix

Frozen scenario board. Formula / deterministic rule: monthly_spend = calls * ((in_tokens * 0.15 + out_tokens * 0.60) / 1M) Boundary: Owns Mistral Small base token tariffs and European commercial billing.

Frozen scenarioModel, identity, provider, and evidence fieldsResultState
50K multilingual customer support ticketsmodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=50K multilingual customer support tickets; workload; prompt tokens; completion tokens; standard spend; batch spend; cost winner; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — 50K multilingual customer support tickets is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
200K structured JSON entity extractionsmodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=200K structured JSON entity extractions; workload; prompt tokens; completion tokens; standard spend; batch spend; cost winner; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — 200K structured JSON entity extractions is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
1M high-volume GDPR classification eventsmodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=1M high-volume GDPR classification events; workload; prompt tokens; completion tokens; standard spend; batch spend; cost winner; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — 1M high-volume GDPR classification events is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
batch API queue (50% discount)model=mistral-small; slug=mistral-small; provider=Mistral; scenario=batch API queue (50% discount); workload; prompt tokens; completion tokens; standard spend; batch spend; cost winner; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — batch API queue (50% discount) is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
EU-only dedicated instance deploymentmodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=EU-only dedicated instance deployment; workload; prompt tokens; completion tokens; standard spend; batch spend; cost winner; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — EU-only dedicated instance deployment is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
unresolved billing currencymodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=unresolved billing currency; workload; prompt tokens; completion tokens; standard spend; batch spend; cost winner; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — unresolved billing currency has no matched, dated bilateral observation.FAIL CLOSED — manual, probe, or source evidence required

First-party provenance: Mistral AI model pricing; verification date 2026-09-08. Missing or conflicting joins fail closed.

Multilingual translation and European regulatory compliance gate

Frozen scenario board. Formula / deterministic rule: compliance_roi = regulatory_assurance_value - ((in * 0.15 + out * 0.60) / 1M) Boundary: Owns GDPR data residency and multilingual European language accuracy.

Frozen scenarioModel, identity, provider, and evidence fieldsResultState
French legal contract summarymodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=French legal contract summary; language pair; document size; translation fidelity; token expenditure; sovereignty verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — French legal contract summary is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
German technical documentation translationmodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=German technical documentation translation; language pair; document size; translation fidelity; token expenditure; sovereignty verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — German technical documentation translation is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
Spanish customer privacy inquirymodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=Spanish customer privacy inquiry; language pair; document size; translation fidelity; token expenditure; sovereignty verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — Spanish customer privacy inquiry is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
cross-border multilingual support ticketmodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=cross-border multilingual support ticket; language pair; document size; translation fidelity; token expenditure; sovereignty verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — cross-border multilingual support ticket is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
data transfer outside EEA guardrailmodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=data transfer outside EEA guardrail; language pair; document size; translation fidelity; token expenditure; sovereignty verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — data transfer outside EEA guardrail is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
unsupported European dialectmodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=unsupported European dialect; language pair; document size; translation fidelity; token expenditure; sovereignty verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — unsupported European dialect has no matched, dated bilateral observation.FAIL CLOSED — manual, probe, or source evidence required

First-party provenance: Mistral AI documentation; verification date 2026-09-08. Missing or conflicting joins fail closed.

Two-tier enterprise routing: Mistral Small vs Mistral Large

Frozen scenario board. Formula / deterministic rule: blended_cost = small_volume * small_cost + large_volume * large_cost Boundary: Owns two-tier architectural routing between cost-efficient Small and frontier Large.

Frozen scenarioModel, identity, provider, and evidence fieldsResultState
100% Mistral Small baseline ($0.15/$0.60)model=mistral-small; slug=mistral-small; provider=Mistral; scenario=100% Mistral Small baseline ($0.15/$0.60); escalation mix; total monthly queries; blended spend; cost savings vs pure Large; quality retention; routing verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — 100% Mistral Small baseline ($0.15/$0.60) is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
90% Small triage / 10% Large escalationmodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=90% Small triage / 10% Large escalation; escalation mix; total monthly queries; blended spend; cost savings vs pure Large; quality retention; routing verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — 90% Small triage / 10% Large escalation is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
80% Small triage / 20% Large escalationmodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=80% Small triage / 20% Large escalation; escalation mix; total monthly queries; blended spend; cost savings vs pure Large; quality retention; routing verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — 80% Small triage / 20% Large escalation is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
50% Small triage / 50% Large escalationmodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=50% Small triage / 50% Large escalation; escalation mix; total monthly queries; blended spend; cost savings vs pure Large; quality retention; routing verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — 50% Small triage / 50% Large escalation is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
100% direct Mistral Large executionmodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=100% direct Mistral Large execution; escalation mix; total monthly queries; blended spend; cost savings vs pure Large; quality retention; routing verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — 100% direct Mistral Large execution is a frozen fixture pending exact identity, configuration, and denominator joins.UNTESTED — assumption cannot establish a verdict
unresolved routing confidence thresholdmodel=mistral-small; slug=mistral-small; provider=Mistral; scenario=unresolved routing confidence threshold; escalation mix; total monthly queries; blended spend; cost savings vs pure Large; quality retention; routing verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicitUnavailable — unresolved routing confidence threshold has no matched, dated bilateral observation.FAIL CLOSED — manual, probe, or source evidence required

First-party provenance: Mistral AI model pricing; verification date 2026-09-08. Missing or conflicting joins fail closed.

Method and limitations: formulas are deterministic; observed and assumed inputs are labeled; no missing provider, host, account, region, realm, alias, snapshot, revision, weight, artifact, control, tool, modality, workload, rate-period, timestamp, or result is transferred. Run this scenario →

Exact-Model Pricing Evidence•Verified 2026-08-14; revalidation required before current claims.

Mistral Small 3.1 pricing evidence

Source-backed dated rate shape: dated input=$0.150000/M; output=$0.600000/M. Mistral Small exact-model bills only; Mistral policy, vision-unit assumptions, and family verdicts retain their owners. Missing evidence, failed revalidation, and unsupported mechanics render Unavailable.

Module 1 of 3: Extraction and chat bill ladder

Novel contribution boundary: Owns dated Small arithmetic for fixed extraction and chat token shapes; image accounting and task quality are not asserted. Formula / deterministic rule: spend = requests × (inputTokens × inputCostPer1k + outputTokens × outputCostPer1k) / 1,000

ScenarioExact model, provider, dated rates, and fixed inputsResultState
100K compact extraction requestsmodel=mistral-small; provider=mistral; registryRates=dated input=$0.150000/M; output=$0.600000/M; comparisonModel=ministral-8b; fixedInputs=requests=100,000; inputTokens=500; outputTokens=150; FAIL CLOSED — no revalidated observation or provider guarantee; measurement versus assumption=explicitUnavailable — Last verified 2026-08-14, before revalidation date 2026-09-14.FAIL CLOSED — no revalidated observation or provider guarantee
25K support chat requestsmodel=mistral-small; provider=mistral; registryRates=dated input=$0.150000/M; output=$0.600000/M; comparisonModel=ministral-8b; fixedInputs=requests=25,000; inputTokens=2,000; outputTokens=500; FAIL CLOSED — no revalidated observation or provider guarantee; measurement versus assumption=explicitUnavailable — Last verified 2026-08-14, before revalidation date 2026-09-14.FAIL CLOSED — no revalidated observation or provider guarantee
5K structured document requestsmodel=mistral-small; provider=mistral; registryRates=dated input=$0.150000/M; output=$0.600000/M; comparisonModel=ministral-8b; fixedInputs=requests=5,000; inputTokens=12,000; outputTokens=1,500; FAIL CLOSED — no revalidated observation or provider guarantee; measurement versus assumption=explicitUnavailable — Last verified 2026-08-14, before revalidation date 2026-09-14.FAIL CLOSED — no revalidated observation or provider guarantee

First-party provenance: https://docs.mistral.ai/models/model-cards/mistral-small-4-0-26-03; registry provider mistral; verified 2026-08-14; freshness gate=2026-09-14. Revalidate before any current-price claim.

Module 2 of 3: Small→Ministral accepted-result crossover

Novel contribution boundary: Owns dated cross-model cost arithmetic with explicit retry input; accepted-result quality and routing policy are not sourced. Formula / deterministic rule: requiredAcceptedRate = MinistralAttemptCost / SmallAttemptCost; observed acceptance = Unavailable

ScenarioExact model, provider, dated rates, and fixed inputsResultState
500-token extraction; 10% retry share; 100 retry-input tokensmodel=mistral-small; provider=mistral; registryRates=dated input=$0.150000/M; output=$0.600000/M; comparisonModel=ministral-8b; fixedInputs=requests=1; inputTokens=500; outputTokens=150; retryInputTokens=100; retryShare=10%; FAIL CLOSED — no revalidated observation or provider guarantee; measurement versus assumption=explicitUnavailable — Last verified 2026-08-14, before revalidation date 2026-09-14.FAIL CLOSED — no revalidated observation or provider guarantee
2K-input chat; 20% retry share; 250 retry-input tokensmodel=mistral-small; provider=mistral; registryRates=dated input=$0.150000/M; output=$0.600000/M; comparisonModel=ministral-8b; fixedInputs=requests=1; inputTokens=2,000; outputTokens=500; retryInputTokens=250; retryShare=20%; FAIL CLOSED — no revalidated observation or provider guarantee; measurement versus assumption=explicitUnavailable — Last verified 2026-08-14, before revalidation date 2026-09-14.FAIL CLOSED — no revalidated observation or provider guarantee
12K-input document; 30% retry share; 500 retry-input tokensmodel=mistral-small; provider=mistral; registryRates=dated input=$0.150000/M; output=$0.600000/M; comparisonModel=ministral-8b; fixedInputs=requests=1; inputTokens=12,000; outputTokens=1,500; retryInputTokens=500; retryShare=30%; FAIL CLOSED — no revalidated observation or provider guarantee; measurement versus assumption=explicitUnavailable — Last verified 2026-08-14, before revalidation date 2026-09-14.FAIL CLOSED — no revalidated observation or provider guarantee

First-party provenance: https://docs.mistral.ai/models/model-cards/mistral-small-4-0-26-03; registry provider mistral; verified 2026-08-14; freshness gate=2026-09-14. Revalidate before any current-price claim.

Module 3 of 3: Image units, residency, and speed evidence table

Novel contribution boundary: Owns exact-model Small registry evidence only; image-unit accounting, residency terms, and speed measurements are not inferred. Formula / deterministic rule: evidence = exact-model registry field when present; image units, residency, and speed observations = Unavailable

ScenarioExact model, provider, dated rates, and fixed inputsResultState
Image input unit or accountingmodel=mistral-small; provider=mistral; registryRates=dated input=$0.150000/M; output=$0.600000/M; comparisonModel=ministral-8b; fixedInputs=evidenceField=image-unit; FAIL CLOSED — no revalidated observation or provider guarantee; measurement versus assumption=explicitUnavailable — Last verified 2026-08-14, before revalidation date 2026-09-14.FAIL CLOSED — no revalidated observation or provider guarantee
Residency or regional processing fieldmodel=mistral-small; provider=mistral; registryRates=dated input=$0.150000/M; output=$0.600000/M; comparisonModel=ministral-8b; fixedInputs=evidenceField=residency; FAIL CLOSED — no revalidated observation or provider guarantee; measurement versus assumption=explicitUnavailable — Last verified 2026-08-14, before revalidation date 2026-09-14.FAIL CLOSED — no revalidated observation or provider guarantee
Matched speed observationmodel=mistral-small; provider=mistral; registryRates=dated input=$0.150000/M; output=$0.600000/M; comparisonModel=ministral-8b; fixedInputs=evidenceField=speed; FAIL CLOSED — no revalidated observation or provider guarantee; measurement versus assumption=explicitUnavailable — Last verified 2026-08-14, before revalidation date 2026-09-14.FAIL CLOSED — no revalidated observation or provider guarantee

First-party provenance: https://docs.mistral.ai/models/model-cards/mistral-small-4-0-26-03; registry provider mistral; verified 2026-08-14; freshness gate=2026-09-14. Revalidate before any current-price claim.

Try Mistral Small 3.1 pricing analysis →

How fast is Mistral Small 3.1?

Tokens / sec
121
TTFT
260 ms
Rank
#12 of 31
$ / M ÷ t/s
$0.0022
Measured with 5 runs on a fixed prompt — see the full methodology.

How much does Mistral Small 3.1 cost at scale?

Tokens / monthEst. cost (blended 3:1)
100,000$0.03
1,000,000$0.26
10,000,000$2.62
100,000,000$26.25

How does Mistral Small 3.1 compare with other models?

Ministral 8B — $0.15/MCodestral — $0.45/MMistral Large 3 — $0.75/MMistral Medium 3 — $3.00/MGPT-4o Mini — $0.26/MGrok-3 Mini — $0.26/MGPT-OSS 120B — $0.26/M
See all Mistral models →

What is Mistral Small 3.1 best for?

#6 for Structured Data Extraction#10 for Coding#10 for Writing & Content
Looking for a cheaper option?
Ministral 8B is 42.9% cheaper — a drop-in migration. See all 8 alternatives to Mistral Small 3.1 →

What are common questions about Mistral Small 3.1?

Is Mistral Small 3.1 cheaper than GPT-4o Mini?

Mistral Small 3.1 costs $0.26/M blended tokens, GPT-4o Mini costs $0.26/M — GPT-4o Mini is cheaper.

How much does 1 million tokens cost with Mistral Small 3.1?

At a 3:1 input:output ratio, 1 million blended tokens costs approximately $0.26. Pure input costs $0.15/M; pure output costs $0.60/M.

What does Mistral Small 3.1 cost at high volume?

At 100 million blended tokens a month, Mistral Small 3.1 costs approximately $26.25. See the cost-at-scale table below for other volumes.

Try Mistral Small 3.1 for free

Run real prompts against Mistral Small 3.1 and every other model on this page in one workspace.

Try Mistral Small 3.1 Free