Skip to content
Dashboard

Ministral 3B

Ministral 3B is Mistral's smallest production model, a 3B parameter edge-optimized architecture that benchmarks above the larger Mistral 7B at $0.1 per million input tokens.

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

Copy link to headingPlayground

Try out Ministral 3B 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

Ministral 3B

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 s253 tps
$0.10/M
$0.10/M
10/16/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 Ministral 3B 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/ministral-3b',
prompt: 'Why is the sky blue?',
});
console.log(result.text);
}
main().catch(console.error);

Top-level parameters

The same Ministral 3B 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/ministral-3b',
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/ministral-3b. AI Gateway routes the request to an available provider.
maxOutputTokensnumberNoHard cap on generated tokens. Ministral 3B 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
ImageURL, base64, Uint8ArraySent 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.

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

Image input

Send images alongside text as message parts. Images count as input tokens.

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

tool-calling.ts
import { generateText, tool } from 'ai';
import { z } from 'zod';
import 'dotenv/config';
async function main() {
const result = await generateText({
model: 'mistral/ministral-3b',
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.3 s
$1.50/M
$7.50/M
mistral logo
04/29/2026
256K0.5 s81 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
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 Ministral 3B

Mistral released Ministral 3B on October 16, 2024 as the most compact member of the Ministral edge family. Ministral 3B outperforms the older Mistral 7B, a model more than twice its parameter count, on most evaluation categories. Mistral attributes this to architectural refinements specific to the Ministral generation.

Ministral 3B ships with a context window of 128K tokens and supports function calling out of the box. That combination makes it a practical lightweight tool-dispatch agent in multi-step pipelines where a larger model would be wasteful for structured routing work.

Production use falls under the Mistral Commercial License.

Copy link to headingWhat To Consider When Choosing a Provider

  • Configuration: Symmetrical input/output pricing simplifies cost estimation. You don't need to model prompt-to-completion ratios separately.
  • 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 Ministral 3B

Best for

  • Lightweight function-calling agents: Agents that dispatch tools in multi-step workflows at minimal cost
  • High-frequency classification: Summarization or knowledge retrieval at minimal cost
  • Cost-sensitive production APIs: Services processing millions of requests where per-call cost dominates

Consider alternatives when

  • Long-context memory efficiency: You need the sliding-window attention Ministral 8B provides
  • Complex reasoning or code generation: These workloads exceed the 3B capability
  • Image understanding: Your workload involves vision (consider Ministral 14B)

Ministral 3B scores above Mistral 7B on most benchmarks despite a smaller footprint. For cost-sensitive or latency-critical applications, it keeps inference cheap next to larger alternatives.

Copy link to headingFrequently Asked Questions

  • How can Ministral 3B outperform the larger Mistral 7B?

    Mistral credits architectural refinements in the Ministral generation.

  • What types of tasks is Ministral 3B well suited for?

    Structured function calling, classification, simple summarization, and knowledge retrieval. Use Ministral 3B as a lightweight dispatch layer in agentic systems where the work is routing, not deep reasoning.

  • What context length does Ministral 3B support?

    128K tokens.

  • What licensing options are available?

    The Mistral Commercial License covers production use.

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