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

Tech8 min

A large halftone circle sinking below a horizon on the left, with a small bright dot rising just above it on the right.

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
40%50%60%70%80%90%100%$0.10$0.30$1$3$10Blended price, $ per 1M tokens (log)GPQA Diamond22× cheaper,+36 pointsOpenAI GPT-4.1 nano: $0.18/M blended, GPQA 48.1%GPT-4.1 nanoOpenAI GPT-6 Luna: $0.20/M blended, GPQA 87.4%GPT-6 LunaAnthropic Claude Haiku 5.5: $0.20/M blended, GPQA 86.7%Claude Haiku 5.5Qwen Qwen3.8 Flash: $0.23/M blended, GPQA 88.6%Qwen3.8 FlashOpenAI GPT-5.6 Luna: $0.45/M blended, GPQA 88.2%GPT-5.6 LunaGoogle Gemini 3.1 Flash Lite: $0.56/M blended, GPQA 84.5%Gemini 3.1 Flash LiteGoogle Gemini 3.8 Flash: $1.65/M blended, GPQA 95.6%Gemini 3.8 FlashOpenAI GPT-6 Sol: $4.00/M blended, GPQA 91.9%GPT-6 SolAnthropic Claude Sonnet 5.5: $4.00/M blended, GPQA 92.4%Claude Sonnet 5.5OpenAI GPT-4o mini: $0.26/M blended, GPQA 42.9%GPT-4o miniOpenAI GPT-4.1 mini: $0.70/M blended, GPQA 66.5%GPT-4.1 miniOpenAI GPT-4.1: $3.50/M blended, GPQA 64.1%GPT-4.1OpenAI GPT-4o: $4.38/M blended, GPQA 51%GPT-4o
Data: OpenRouter, 20 Oct 2026 · Blended price is 3 parts input to 1 part output · ayusht.me
Show the numbers
ModelIn / out per 1MBlendedGPQALatencyTok/s
OpenAI GPT-4.1 nano$0.1 / $0.4$0.1848.1%0.79s89
OpenAI GPT-6 Luna$0.1 / $0.5$0.2087.4%0.7s103
Anthropic Claude Haiku 5.5$0.1 / $0.5$0.2086.7%0.41s179
Qwen Qwen3.8 Flash$0.15 / $0.47$0.2388.6%1.02s58
OpenAI GPT-4o miniretiring$0.15 / $0.6$0.2642.9%0.58s86
OpenAI GPT-5.6 Luna$0.2 / $1.2$0.4588.2%0.42s148
Google Gemini 3.1 Flash Lite$0.25 / $1.5$0.5684.5%0.51s241
OpenAI GPT-4.1 miniretiring$0.4 / $1.6$0.7066.5%0.73s89
Google Gemini 3.8 Flash$0.825 / $4.125$1.6595.6%1.42s123
OpenAI GPT-4.1retiring$2 / $8$3.5064.1%0.78s95
OpenAI GPT-6 Sol$2 / $10$4.0091.9%1.47s92
Anthropic Claude Sonnet 5.5$2 / $10$4.0092.4%0.97s117
OpenAI GPT-4oretiring$2.5 / $10$4.3851%0.58s69

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
0501001502002500.25s0.5s1s2s3sLatency, P50 seconds (log)Tokens per secondZ.ai GLM 5.3 Flash: 0.34s latency, 213 tok/sGLM 5.3 FlashDeepSeek DeepSeek V4 Flash: 0.54s latency, 108 tok/sOpenAI GPT-4.1 nano: 0.79s latency, 89 tok/sOpenAI GPT-6 Luna: 0.7s latency, 103 tok/sGPT-6 LunaAnthropic Claude Haiku 5.5: 0.41s latency, 179 tok/sClaude Haiku 5.5Qwen Qwen3.8 Flash: 1.02s latency, 58 tok/sMistral Mistral Small 4: 0.25s latency, 125 tok/sMistral Small 4OpenAI GPT-5.6 Luna: 0.42s latency, 148 tok/sGPT-5.6 LunaGoogle Gemini 3.1 Flash Lite: 0.51s latency, 241 tok/sGemini 3.1 Flash LiteGoogle Gemini 3.8 Flash: 1.42s latency, 123 tok/sGemini 3.8 FlashxAI Grok 4.7: 1.6s latency, 72 tok/sOpenAI GPT-6 Sol: 1.47s latency, 92 tok/sGPT-6 SolAnthropic Claude Sonnet 5.5: 0.97s latency, 117 tok/sClaude Sonnet 5.5Google Gemini 4 Argon: 2.76s latency, 51 tok/sGemini 4 ArgonOpenAI GPT-4o mini: 0.58s latency, 86 tok/sGPT-4o miniOpenAI GPT-4.1 mini: 0.73s latency, 89 tok/sGPT-4.1 miniOpenAI GPT-4.1: 0.78s latency, 95 tok/sGPT-4.1OpenAI GPT-4o: 0.58s latency, 69 tok/sGPT-4o
Data: OpenRouter, 20 Oct 2026 · Blended price is 3 parts input to 1 part output · ayusht.me
Show the numbers
ModelIn / out per 1MBlendedGPQALatencyTok/s
Z.ai GLM 5.3 Flash$0.048 / $0.16$0.076—0.34s213
DeepSeek DeepSeek V4 Flash$0.091 / $0.182$0.11—0.54s108
OpenAI GPT-4.1 nano$0.1 / $0.4$0.1848.1%0.79s89
OpenAI GPT-6 Luna$0.1 / $0.5$0.2087.4%0.7s103
Anthropic Claude Haiku 5.5$0.1 / $0.5$0.2086.7%0.41s179
Qwen Qwen3.8 Flash$0.15 / $0.47$0.2388.6%1.02s58
OpenAI GPT-4o miniretiring$0.15 / $0.6$0.2642.9%0.58s86
Mistral Mistral Small 4$0.15 / $0.6$0.26—0.25s125
OpenAI GPT-5.6 Luna$0.2 / $1.2$0.4588.2%0.42s148
Google Gemini 3.1 Flash Lite$0.25 / $1.5$0.5684.5%0.51s241
OpenAI GPT-4.1 miniretiring$0.4 / $1.6$0.7066.5%0.73s89
Google Gemini 3.8 Flash$0.825 / $4.125$1.6595.6%1.42s123
xAI Grok 4.7$2 / $6$3.00—1.6s72
OpenAI GPT-4.1retiring$2 / $8$3.5064.1%0.78s95
OpenAI GPT-6 Sol$2 / $10$4.0091.9%1.47s92
Anthropic Claude Sonnet 5.5$2 / $10$4.0092.4%0.97s117
Google Gemini 4 Argon$2 / $10$4.00—2.76s51
OpenAI GPT-4oretiring$2.5 / $10$4.3851%0.58s69

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.

$0.10$0.30$1$3$10Blended price, $ per 1M tokens (log)GPT-4o $4.38/M → GPT-6 Luna $0.20/MGPT-4o$2.5 in · $10 outGPT-6 Luna $0.2022× cheaperGPT-4.1 $3.50/M → GPT-6 Luna $0.20/MGPT-4.1$2 in · $8 out18× cheaperGPT-4.1 mini $0.70/M → GPT-6 Luna $0.20/MGPT-4.1 mini$0.4 in · $1.6 out3.5× cheaperGPT-4o mini $0.26/M → GPT-6 Luna $0.20/MGPT-4o mini$0.15 in · $0.6 out1.3× cheaper
Data: OpenRouter, 20 Oct 2026 · Blended price is 3 parts input to 1 part output · ayusht.me

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:

RetiringToday: price · GPQA · latencyOpenAI's pickCheapest that beats it on both
GPT-4o$4.38 · 51% · 0.58sGPT-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.78sGPT-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.73sGPT-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.58sGPT-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.

  1. 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.
  2. 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.
  3. 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.
  4. Cap the output. Set a sensible max_tokens and 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.
  5. 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.


  1. ^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.
  2. ^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.
  3. ^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.
  4. ^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.