GPT-4o Is Retiring. Its Replacement Costs 22× Less.
Tech8 min

On 14 January 2027, OpenAI switches off GPT-4o, GPT-4o mini, GPT-4.1 and GPT-4.1 mini in the API, and OpenRouter goes with it, including requests that bring their own OpenAI key.[1] These were the default models of a whole era of LLM apps, so a lot of production code is about to get a deadline. The good news is unusually good: OpenAI's own suggested replacement, GPT-6 Luna, costs 22× less than GPT-4o and scores 36 points higher on GPQA. The bad news is that “cheaper and smarter” is not the same thing as “safe to swap”.
I pulled the price, speed and benchmark numbers for the four retiring models and fourteen of their likely replacements from OpenRouter.[2] Here is what they say, and what they don't.
§Every retiring model is now beaten on both axes
This is the chart I'd put in front of anyone who wants to wait until December. Price is on a log scale because the spread is two orders of magnitude; the retiring models are the four in ink.
The retiring models are the most expensive way to get the lowest scores on this chart
Blended price per million tokens against GPQA Diamond. Up and to the left is better.
- Retiring 14 Jan 2027
- Alternatives on OpenRouter
Show the numbers
| Model | In / out per 1M | Blended | GPQA | Latency | Tok/s |
|---|---|---|---|---|---|
| OpenAI GPT-4.1 nano | $0.1 / $0.4 | $0.18 | 48.1% | 0.79s | 89 |
| OpenAI GPT-6 Luna | $0.1 / $0.5 | $0.20 | 87.4% | 0.7s | 103 |
| Anthropic Claude Haiku 5.5 | $0.1 / $0.5 | $0.20 | 86.7% | 0.41s | 179 |
| Qwen Qwen3.8 Flash | $0.15 / $0.47 | $0.23 | 88.6% | 1.02s | 58 |
| OpenAI GPT-4o miniretiring | $0.15 / $0.6 | $0.26 | 42.9% | 0.58s | 86 |
| OpenAI GPT-5.6 Luna | $0.2 / $1.2 | $0.45 | 88.2% | 0.42s | 148 |
| Google Gemini 3.1 Flash Lite | $0.25 / $1.5 | $0.56 | 84.5% | 0.51s | 241 |
| OpenAI GPT-4.1 miniretiring | $0.4 / $1.6 | $0.70 | 66.5% | 0.73s | 89 |
| Google Gemini 3.8 Flash | $0.825 / $4.125 | $1.65 | 95.6% | 1.42s | 123 |
| OpenAI GPT-4.1retiring | $2 / $8 | $3.50 | 64.1% | 0.78s | 95 |
| OpenAI GPT-6 Sol | $2 / $10 | $4.00 | 91.9% | 1.47s | 92 |
| Anthropic Claude Sonnet 5.5 | $2 / $10 | $4.00 | 92.4% | 0.97s | 117 |
| OpenAI GPT-4oretiring | $2.5 / $10 | $4.38 | 51% | 0.58s | 69 |
Two things jump out. First, the gap is not subtle. The four retiring models score between 42.9% and 66.5% on GPQA Diamond, a set of graduate-level science questions written to be hard to look up.[3] Almost everything else on the chart sits between 84% and 96%. Second, the cheap end of the market caught up with the expensive end and then passed it. GPT-6 Luna, Claude Haiku 5.5 and Qwen3.8 Flash cluster around twenty cents per million blended tokens, cheaper than GPT-4o mini, at scores GPT-4o never reached.
GPQA is a science quiz, and most production traffic is not a science quiz. Nobody should pick a model for ticket triage because of its organic chemistry. But it is a decent proxy for the thing that actually changed over these two years, which is how much reasoning you get per dollar, and on that measure the retiring models are not close.
§Speed: mostly better, with one honest exception
Cost is half the reason people stayed on GPT-4o mini. The other half was that it was quick. So here is speed: time to a response on the horizontal axis (lower is better), and how fast the model writes once it starts on the vertical one (higher is better). The good corner is the top left.
Most replacements write faster; not all of them start faster
P50 latency of the best provider against P50 output speed. Up and to the left is better.
- Retiring 14 Jan 2027
- Alternatives on OpenRouter
Show the numbers
| Model | In / out per 1M | Blended | GPQA | Latency | Tok/s |
|---|---|---|---|---|---|
| Z.ai GLM 5.3 Flash | $0.048 / $0.16 | $0.076 | — | 0.34s | 213 |
| DeepSeek DeepSeek V4 Flash | $0.091 / $0.182 | $0.11 | — | 0.54s | 108 |
| OpenAI GPT-4.1 nano | $0.1 / $0.4 | $0.18 | 48.1% | 0.79s | 89 |
| OpenAI GPT-6 Luna | $0.1 / $0.5 | $0.20 | 87.4% | 0.7s | 103 |
| Anthropic Claude Haiku 5.5 | $0.1 / $0.5 | $0.20 | 86.7% | 0.41s | 179 |
| Qwen Qwen3.8 Flash | $0.15 / $0.47 | $0.23 | 88.6% | 1.02s | 58 |
| OpenAI GPT-4o miniretiring | $0.15 / $0.6 | $0.26 | 42.9% | 0.58s | 86 |
| Mistral Mistral Small 4 | $0.15 / $0.6 | $0.26 | — | 0.25s | 125 |
| OpenAI GPT-5.6 Luna | $0.2 / $1.2 | $0.45 | 88.2% | 0.42s | 148 |
| Google Gemini 3.1 Flash Lite | $0.25 / $1.5 | $0.56 | 84.5% | 0.51s | 241 |
| OpenAI GPT-4.1 miniretiring | $0.4 / $1.6 | $0.70 | 66.5% | 0.73s | 89 |
| Google Gemini 3.8 Flash | $0.825 / $4.125 | $1.65 | 95.6% | 1.42s | 123 |
| xAI Grok 4.7 | $2 / $6 | $3.00 | — | 1.6s | 72 |
| OpenAI GPT-4.1retiring | $2 / $8 | $3.50 | 64.1% | 0.78s | 95 |
| OpenAI GPT-6 Sol | $2 / $10 | $4.00 | 91.9% | 1.47s | 92 |
| Anthropic Claude Sonnet 5.5 | $2 / $10 | $4.00 | 92.4% | 0.97s | 117 |
| Google Gemini 4 Argon | $2 / $10 | $4.00 | — | 2.76s | 51 |
| OpenAI GPT-4oretiring | $2.5 / $10 | $4.38 | 51% | 0.58s | 69 |
The retiring models are bunched in the middle: around 0.6 to 0.8 seconds to respond, 70 to 95 tokens a second. Claude Haiku 5.5 and GPT-5.6 Luna beat them on both counts, at 0.41 and 0.42 seconds and 179 and 148 tokens a second. Gemini 3.1 Flash Lite writes at 241 tokens a second, three and a half times GPT-4o.
The exception is the one OpenAI recommends. GPT-6 Luna takes 0.7s to respond against 0.58s for GPT-4o mini, so if your product lives or dies on time-to-first-token, a drop-in swap to Luna makes it slightly worse. That is a small difference, but it is the kind that shows up in a voice agent or an autocomplete box before it shows up on a dashboard.
§What it does to the bill
If you just take OpenAI's suggestion and move every one of these to GPT-6 Luna, this is what happens to the per-token price:
Moving to OpenAI's suggested replacement cuts every one of these bills
Blended price per million tokens today, and on GPT-6 Luna.
GPT-4o and GPT-4.1 go from dollars to cents. GPT-4o mini is the odd one: it was already cheap, so the saving is modest, and the reason to move is the 45-point jump in quality rather than the bill. And Luna is not the only option. Here is the cheapest model that matches or beats each retiring one on GPQA and is no slower to respond:
| Retiring | Today: price · GPQA · latency | OpenAI's pick | Cheapest that beats it on both |
|---|---|---|---|
| GPT-4o | $4.38 · 51% · 0.58s | GPT-6 Luna 22× cheaper, +36 pts | Anthropic Claude Haiku 5.5 22× cheaper, +36 pts, 0.41s |
| GPT-4.1 | $3.50 · 64.1% · 0.78s | GPT-6 Luna 18× cheaper, +23 pts | OpenAI GPT-6 Luna 18× cheaper, +23 pts, 0.7s |
| GPT-4.1 mini | $0.70 · 66.5% · 0.73s | GPT-6 Luna 3.5× cheaper, +21 pts | OpenAI GPT-6 Luna 3.5× cheaper, +21 pts, 0.7s |
| GPT-4o mini | $0.26 · 42.9% · 0.58s | GPT-6 Luna 1.3× cheaper, +45 pts | Anthropic Claude Haiku 5.5 1.3× cheaper, +44 pts, 0.41s |
§Cheaper per token is not cheaper per request
Here is the part the price chart hides. GPT-6 Luna writes faster than GPT-4o mini, 103 tokens a second against 86, yet its typical request on OpenRouter takes longer from start to finish: 2.08s against 1.67s.[4] A model that writes faster but finishes later is writing more. Newer models tend to explain, hedge, format and reason out loud in ways the 2024 models didn't, and every one of those tokens is billed.
So the per-token saving is real, but your per-request saving could be smaller, and on a short-answer workload it could even go the other way. The only number that matters is output tokens per request on your traffic, and nobody can chart that for you.
§How I'd actually migrate
Not by find-and-replace on the model string. These models have had two years to become load-bearing, and the prompts written for them quietly encode their habits: how terse GPT-4o mini is, how it formats a list, what it does when a tool returns an error. A smarter model with different habits can break a parser that worked fine with a dumber one.
- Build the golden set first. A few hundred real requests with known-good outputs, scored the way your product scores them — exact match for extraction, a rubric for prose. If you don't have this, January is a good excuse to start.
- Shadow before you switch. Send live traffic to the candidate in parallel, log both answers, compare. Watch three numbers: your quality score, output tokens per request, and p95 latency, not just the median.
- Pin a dated snapshot. An alias quietly moves under you; a dated snapshot fails loudly on a date you can see coming. Pin the exact version, and put its retirement date in your calendar the day you adopt it.
- Cap the output. Set a sensible
max_tokensand say how long the answer should be in the prompt. Most of the per-request surprise above comes from the new models being chattier, and that is the cheapest thing to fix. - Re-test tool calls and structured output explicitly. Schemas, argument formats and refusal behaviour are where model swaps break silently. GPT-4o mini was not perfect here either — OpenRouter measures a 5.1% tool-call error rate on OpenAI's own endpoint over the past week — so this is a chance to fix it, not just to preserve it.
The deadline is three months away, which is about the right amount of time to do this properly and much too little to do it in the last week. The irony of this deprecation is that the forced upgrade is, on paper, the best deal OpenAI has offered in a while. The work is in making sure it is the best deal on your traffic too.
- ^OpenAI, API deprecations, entry dated 14 October 2026. It lists the dated snapshots (gpt-4o-2024-08-06, gpt-4o-2024-11-20, gpt-4o-mini-2024-07-18, gpt-4.1-2025-04-14, gpt-4.1-mini-2025-04-14), says fine-tuned versions follow the same schedule, and recommends gpt-6-luna for all four.
- ^Prices from OpenRouter's public models API; latency, throughput and GPQA from each model's OpenRouter page, e.g. GPT-4o, all read on 20 Oct 2026. Latency is the P50 of the best provider, throughput the P50 best across providers. These move week to week; the full snapshot is in this post's source.
- ^Rein et al., GPQA: A Graduate-Level Google-Proof Q&A Benchmark (2023). The scores here are OpenRouter's own runs, which it describes as each model's outputs on shared benchmark prompts, auto-routed across providers — not the labs' published numbers.
- ^OpenRouter's one-week average end-to-end latency, best provider, read from the same pages on 20 Oct 2026. End-to-end time depends on how long the answers are, and that depends on the traffic each model happens to be serving, so treat it as a hint about verbosity, not a benchmark.