Skip to content
All posts
By the PromptUnit team···10 min read

o3 vs o3-mini: Costs, Shutdown Dates and What to Use Now

o3-mini shut down Oct 23, 2026 and o3 goes on Dec 11. Per-request costs with reasoning tokens, GPT-6 prices and effort levels, and how to test a switch.

openai o3o3-minireasoning modelsreasoning effortmodel routingllm pricing

o3 costs $2.00 per million input tokens and $8.00 per million output tokens. o3-mini cost $1.10 and $4.40 until OpenAI shut it down, together with o4-mini, on October 23, 2026. The o3 snapshot follows on December 11, 2026. If your code still names o3-mini, its calls are failing now; the sections below show what the replacements cost.

Below: what each model costs per request once reasoning tokens are counted, what OpenAI's current reasoning models charge for the same work, and how to test a switch. Prices, effort settings and dates were checked on OpenAI's pricing, models, reasoning and deprecations pages on October 24, 2026. All prices are standard rates per million tokens.

Where o3, o3-mini and o4-mini stand today

Model Input Cached input Output Shutdown date OpenAI's recommended replacement
o3 $2.00 $0.50 $8.00 December 11, 2026 (snapshot o3-2025-04-16) gpt-5.6-sol
o3-mini $1.10 $0.55 $4.40 October 23, 2026 gpt-5.6-sol
o4-mini $1.10 $0.275 $4.40 October 23, 2026 gpt-5.6-terra

o3-mini and o4-mini are deprecated, and so is o3-2025-04-16, the default and only snapshot listed on the o3 model page. In OpenAI's terms, a deprecated model has a shutdown date and is no longer accessible after it. As of October 12, that leaves 11 days for o3-mini and o4-mini and 60 days for o3.

Until then, work that can wait costs half as much through the Batch API: $1.00 input and $4.00 output for o3, and $0.55 and $2.20 for o3-mini and o4-mini. Current per-token prices are on the o3 price page.

Reasoning tokens are the cost the price list hides

Reasoning models think before they answer. OpenAI's reasoning guide says reasoning tokens are not visible through the API, but they take up context window space and are billed as output tokens. Depending on the problem, a model can generate anywhere from a few hundred to tens of thousands of them. Each response reports the exact count in its usage object, under output_tokens_details.reasoning_tokens.

A worked example. Assume a request with 2,000 input tokens that produces 3,000 reasoning tokens and a 500-token visible answer. These token counts are assumptions for the arithmetic, not measurements. Billed output is 3,000 + 500 = 3,500 tokens.

  • o3-mini: input 2,000 × $1.10 / 1,000,000 = $0.0022. Output 3,500 × $4.40 / 1,000,000 = $0.0154. Total $0.0176.
  • o3: input 2,000 × $2.00 / 1,000,000 = $0.0040. Output 3,500 × $8.00 / 1,000,000 = $0.0280. Total $0.0320.

If you priced the same request from the visible answer alone, o3-mini would come to $0.0022 + (500 × $4.40 / 1,000,000) = $0.0022 + $0.0022 = $0.0044, and o3 to $0.0040 + (500 × $8.00 / 1,000,000) = $0.0040 + $0.0040 = $0.0080. The real cost is 4 times that estimate on both ($0.0176 / $0.0044 = 4 and $0.0320 / $0.0080 = 4). At 100,000 requests a month, the real figures are $1,760 on o3-mini and $3,200 on o3, a gap of $1,440.

One trap: max_output_tokens caps everything the model generates, reasoning included. A request that hits the cap comes back incomplete, and you can pay for input and reasoning tokens with no visible answer. OpenAI suggests reserving at least 25,000 tokens for reasoning and output when you start.

The same decision on OpenAI's current models

OpenAI's models page now points to GPT-6 Astra for complex reasoning and coding, GPT-6.1 Sol to balance intelligence and cost (near-Astra performance at a lower cost, in OpenAI's words), and GPT-6 Luna for cost-sensitive, high-volume work. The GPT-5.6 family, which the deprecation notices point to, splits the same way: Sol is the flagship, Terra roughly corresponds to the mini tier of earlier GPT-5 families and Luna to the nano tier.

Model Input Cached input Output reasoning.effort values Default effort
GPT-6 Astra $10.00 $1.00 $50.00 low, medium, high, xhigh, max not stated on its page
GPT-6.1 Sol $2.00 $0.10 $10.00 low, medium, high, xhigh, max medium
GPT-6 Luna $0.10 $0.01 $0.50 none, low, medium, high, xhigh, max medium
GPT-5.6 Sol $4.00 $0.40 $20.00 none, low, medium, high, xhigh, max medium
GPT-5.6 Terra $2.00 $0.20 $12.00 none, low, medium, high, xhigh, max medium
GPT-5.6 Luna $0.20 $0.02 $1.20 none, low, medium, high, xhigh, max medium

These are short-context prices. Prompts over 272K input tokens cost 2 times the input and cache rates and 1.5 times the output rate. All six models bill cache writes at 1.25 times the input price. GPT-5.6 Sol's price is promotional, available at least through November 21, 2026. Batch and Flex are half of standard. Current numbers are on the GPT-6.1 Sol and GPT-6 Luna price pages.

Here is the example request again, at the same 2,000 input and 3,500 output tokens:

Model Input cost Output cost Per request
GPT-6 Luna $0.0002 $0.00175 $0.00195
o3-mini or o4-mini $0.0022 $0.0154 $0.0176
o3 $0.0040 $0.0280 $0.0320
GPT-6.1 Sol $0.0040 $0.0350 $0.0390
GPT-5.6 Terra $0.0040 $0.0420 $0.0460
GPT-5.6 Sol $0.0080 $0.0700 $0.0780
GPT-6 Astra $0.0200 $0.1750 $0.1950

Every row uses the same arithmetic. For GPT-6.1 Sol: 2,000 × $2.00 / 1,000,000 = $0.0040, plus 3,500 × $10.00 / 1,000,000 = $0.0350, for $0.0390.

Two things follow. First, OpenAI's recommended replacement for o3-mini, gpt-5.6-sol, costs $0.0780 at these token counts against o3-mini's $0.0176, about 4.4 times as much ($0.0780 / $0.0176 = 4.43). A straight swap can raise the bill. Second, real models do not hold token counts fixed: the same prompt uses a different number of reasoning tokens on each model and effort level. OpenAI says GPT-6 Astra reached stronger results with substantially fewer output tokens in several of its evaluations, and that its estimated cost per task was lower than earlier models despite the higher per-token price. That is OpenAI's claim. Your own usage numbers are the test.

Effort level is now the main dial

With o3 and o3-mini, the choice was mostly which model. With the GPT-6 and GPT-5.6 models, it is as much which effort level on one model. Lower effort favors speed and fewer tokens; higher effort makes the model think more completely. GPT-6 Astra and GPT-6.1 Sol do not accept none (Astra returns HTTP 400 for it), and GPT-6.1 Sol also rejects minimal.

OpenAI's model-selection guide pairs models with effort levels. It suggests Luna at low effort for fine-grained edits, well-scoped problem-solving and simple data extraction, GPT-6.1 Sol at medium for complex technical work, and Astra at extra high for demanding analysis with exacting requirements. Its advice is to compare settings on the same inputs and keep the lightest one that meets your quality bar.

Effort is easy to price. Every 1,000 reasoning tokens costs $0.05 on GPT-6 Astra (1,000 × $50 / 1,000,000), $0.01 on GPT-6.1 Sol (1,000 × $10 / 1,000,000) and $0.0005 on GPT-6 Luna (1,000 × $0.50 / 1,000,000). If a lower setting cuts 2,000 reasoning tokens per request on GPT-6.1 Sol, 100,000 requests a month save 100,000 × 2,000 × $10 / 1,000,000 = $2,000.

GPT-6 models can also change effort mid-conversation: a configuration_update item raises effort for a hard follow-up or lowers it for routine turns while keeping the prompt prefix cached.

Migration notes from OpenAI

OpenAI's GPT-6 guide lists these checks when you move to gpt-6-astra, gpt-6.1-sol or gpt-6-luna:

  • Keep your current effective reasoning effort where supported. Astra and GPT-6.1 Sol have no none setting, so use low. If you used minimal, start with low and compare results on representative tasks.
  • Tool calling on Astra and GPT-6.1 Sol requires the Responses API. GPT-6 Luna supports function calling in Chat Completions only with reasoning_effort set to none.
  • When effort is not none, remove temperature, top_p and top_logprobs.

A routing framework you can test

  1. Measure first. Log input, reasoning and output tokens and the cost of every request, grouped by task type. Without the reasoning token count you are guessing.
  2. Keep on the stronger model by default: multi-step math, hard debugging, plans with many constraints, and anything where a wrong answer is costly and hard to spot. Move these only after a test says you can.
  3. Try a cheaper model or lower effort first on work with checkable answers: extraction into a schema, classification, short rewrites, and code that runs against tests.
  4. Test on a sample. Replay a few hundred real requests per task type through the candidate model and effort level. Score them with automatic checks where you can (schema valid, tests pass, label matches) and read a sample by hand. Compare cost per request from the usage object, not price per token.
  5. Move one task type at a time and keep checking after the move. Run the test again when OpenAI changes a price or schedules a shutdown.

o3-mini and o4-mini shut down on October 23, so if your code still calls them, step 4 is urgent: those calls are failing now. o3 follows on December 11. For the same method across providers, see the LLM routing guide. For other OpenAI cost fixes such as caching, Flex and output caps, see OpenAI API Cost Too High? Six Fixes, Ordered by Effort.

Where PromptUnit fits

PromptUnit checks each request and uses a cheaper model when one is just as good for that request. Otherwise the request goes to the model you asked for. Setup is two settings: your app's API base URL and your PromptUnit key. Your own OpenAI key stays. The dashboard shows each request with the model you asked for, the model that answered, the cost and the saving.

Optional side-by-side checks, off by default and paid on your own provider keys within a daily budget you set, run step 4 for you: cheaper models answer a sample of your real requests, and the model you asked for judges whether each answer is as good. A step of your app moves only after at least 20 judged checks with 9 in 10 as good and at least 10% lower cost, and moves back if fewer than 7 in 10 stay as good. PromptUnit is free until it has saved you money, then it takes 20% of what it saves. Create an account to see what your reasoning requests cost.

Current prices of the models in this post

Per 1 million tokens, input and output, read every day from each provider's own pricing page.

All AI API prices →

FAQ

Has o3-mini been shut down?

Yes. OpenAI's deprecations page listed o3-mini (snapshot o3-mini-2025-01-31) for shutdown on October 23, 2026, with gpt-5.6-sol as the recommended substitute, and calls to it now return errors. o4-mini shut down the same day, with gpt-5.6-terra as the substitute. Checked 2026-10-24.

When does o3 stop working?

OpenAI lists o3-2025-04-16, the default and only snapshot on the o3 model page, for removal from the API on December 11, 2026, with gpt-5.6-sol as the recommended replacement. Until then o3 costs $2.00 per million input tokens and $8.00 per million output tokens. Checked 2026-10-24.

Why does a reasoning model cost more than its listed price suggests?

Reasoning tokens never appear in the answer, but OpenAI bills them as output tokens. For a request with 2,000 input tokens, 3,000 reasoning tokens and a 500-token answer, o3-mini costs $0.0176, four times the $0.0044 you get by counting only the visible answer. Each response reports its reasoning token count in usage.output_tokens_details.reasoning_tokens.

What should I use instead of o3-mini?

OpenAI recommends gpt-5.6-sol, which costs $4.00 per million input tokens and $20.00 per million output tokens, more per token than o3-mini's $1.10 and $4.40. Lower-priced models in OpenAI's current lineup include GPT-5.6 Luna ($0.20 and $1.20) and GPT-6 Luna ($0.10 and $0.50). Test a sample of your real requests on each candidate and compare cost per request, not price per token, before you switch.

What reasoning effort should I use on GPT-6 models?

GPT-6.1 Sol and GPT-6 Luna default to medium, as do the GPT-5.6 models. GPT-6 Astra and GPT-6.1 Sol accept low, medium, high, xhigh and max, and GPT-6 Luna also accepts none. OpenAI's advice is to compare settings on the same inputs and keep the lightest one that meets your quality bar. Checked 2026-10-16.

Start saving from your first request

Change two settings and see what your first request saved within seconds. Free until we've saved you money. If we save you $0, you pay $0.

Get started free →