o4-mini
openai/o4-miniPOST /v1/chat/completionsSmall reasoning model. Most of o3's method at a fraction of the latency.
Extended reasoningVisionTool callingStructured outputStreamingPrompt caching
Input / 1M
$1.10
via OpenAI
Output / 1M
$4.40
via OpenAI
Cached input / 1M
$0.2750
on a cache hit
Context
200K
max out 100K
Providers
2
failover available
2 providers serve this model
Multigrid picks between them on every request using your policy. Each price is what that route costs us, and we add no spread of our own to it.
| Provider | Upstream model id | In / 1M | Out / 1M | Billing | Uptime |
|---|---|---|---|---|---|
| OpenAICheapest | o4-mini | $1.10 | $4.40 | Credit | |
| OpenRouter | openai/o4-mini | $1.16 | $4.64 | Credit |
What the uptime column is, and is not
It is availability of the provider, not of o4-mini in particular: reachability probes we ran, and the success rate of requests we routed to that provider across the whole catalogue. Time to first token and throughput are still absent, because Multigrid has not served enough traffic through this model to publish honest ones. Nothing here is estimated: prices, context window and capabilities come from the provider’s own documentation, and the ribbon comes from rows we wrote.Call it
Same request shape as every other model in the catalogue.
example.ts
const res = await client.chat.completions.create({
model: "openai/o4-mini",
messages: [{ role: "user", content: "Hello" }],
reasoning: { effort: "medium" },
route: {
// pin, exclude or order the providers below
providers: ["openai", "openrouter"],
sort: "price",
},
});Send o4-mini a real request
Signing up takes no card and commits you to nothing. You start at a zero balance, so nothing can be charged until you decide to add credit. The playground opens on o4-mini and prices every answer as it arrives, at the rate shown above: what the route costs us, with nothing of ours added. Already have an account? The second button skips the form.