Both models cost $0.10 per million input tokens, $0.01 cached and $0.50 output. The rate cards are identical to the cent, and the bills are not.
Pick GPT-6 Luna for almost any cost-driven choice: the same text meters about a third fewer tokens, its long-prompt cliff sits four times further out, and its cache survives gaps that kill Anthropic’s.
Pick Claude Haiku 5.5 if your turns land 30 to 60 minutes apart (its free cache refresh beats Luna’s there), if you need prefixes under 1,024 tokens cached, or if you want a published retirement floor rather than a policy.
Prices verified 23 October 2026 against Anthropic and OpenAI.
The rate cards are identical. The bills are not.
| Per million tokens | GPT-6 Luna | Claude Haiku 5.5 |
|---|---|---|
| Input | $0.10 | $0.10 |
| Cached input | $0.01 | $0.01 |
| Output | $0.50 | $0.50 |
| Cheap cache write | $0.125 (30 min) | $0.125 (5 min) |
| Long cache write | $0.25 (12 hours) | $0.20 (1 hour) |
| Batch | 50% off | 50% off |
| Context window | 1,050,000 (922,000 max input) | 1,000,000 |
| Max output | 128,000 | 128,000 (300,000 on batch, beta header) |
| Length cliff | 272,000 → 2x in / 2x cached / 1.5x out | 100,000 → 5x everything |
A per-token rate is only half a price. The other half is how many tokens your text becomes, and the two vendors disagree by about 49%. Anthropic’s current tokenizer meters roughly 2.69 characters per token; the conventional estimate for OpenAI’s is 4.0. So 200,000 characters of English is 50,000 tokens to Luna and 74,294 to Haiku 5.5.
Multiply that through identical rates and you get the number that governs everything below: on the same text, with both prompts under both cliffs, Haiku 5.5 costs about 1.49x what Luna costs. Same advertised price, a third more money, no footnote anywhere on either page.
One honest caveat on our own figure. Anthropic’s pricing page footnote says 1M tokens is “roughly 555k words or 2.5M Unicode characters,” which implies 2.5 characters per token rather than 2.69 — that would make the gap 1.60x and the cliff arrive 7% sooner. We use 2.69 because it is the figure driving our cost calculator and the long-prompt guide, and because it is the conservative end. OpenAI’s side carries a larger caveat: its token-counting guide does not endorse a characters-per-token figure at all — it cites characters ÷ 4 only as an example of why estimating is unreliable, and points developers at an exact-count endpoint instead. Treat 1.49x as a planning figure and meter your own corpus on both.
Where each cliff actually falls
Both models reprice the entire request once the input crosses a threshold. The thresholds look two and a half times apart and are four times apart.
| GPT-6 Luna | Claude Haiku 5.5 | |
|---|---|---|
| Threshold (vendor tokens) | 272,000 | 100,000 |
| ≈ characters of English | 1,088,000 | 269,200 |
| ≈ English words | 191,000 | 47,000 |
| Above it: input | $0.20 (2x) | $0.50 (5x) |
| Above it: cached input | $0.02 (2x) | $0.05 (5x) |
| Above it: output | $0.75 (1.5x) | $2.50 (5x) |
Haiku’s cliff is both the earliest and the steepest in the market — a 47,000-word input is one technical manual or a mid-sized repository, not an exotic workload. Luna’s sits past 190,000 words, which most prompts never reach. The full cross-vendor version of this table is in what a long prompt actually costs, and we covered the Anthropic side when Haiku 5.5 launched.
The same document, priced both ways
One cached request, 2,000 characters of output, priced across document sizes. The document is identical; only the tokenizer and the thresholds move.
| Document | Luna tokens | Haiku tokens | Luna cost | Haiku cost | Haiku premium |
|---|---|---|---|---|---|
| 100,000 chars (~17,500 words) | 25,000 | 37,147 | $0.00050 | $0.00074 | 1.49x |
| 269,200 chars (~47,000 words) | 67,300 | 100,000 | $0.00092 | $0.00137 | 1.49x |
| 300,000 chars (~52,600 words) | 75,000 | 111,441 | $0.00100 | $0.00743 | 7.43x |
| 600,000 chars (~105,000 words) | 150,000 | 222,883 | $0.00175 | $0.01300 | 7.43x |
| 1,088,000 chars (~191,000 words) | 272,000 | 404,160 | $0.00297 | $0.02207 | 7.43x |
| 1,500,000 chars (~263,000 words) | 375,000 | 557,207 | $0.00788 | $0.02972 | 3.77x |
Three regimes, and the middle one is where most long-context work actually sits. Below about 47,000 words both models are on standard rates and the gap is the flat tokenizer penalty. Between 47,000 and 191,000 words Haiku is in its 5x tier while Luna is still on standard rates, and the premium is 1.49 × 5 = 7.43x. Past 191,000 words Luna crosses too, its gentler 2x softens the ratio back to about 3.8x, and the gap narrows again — Haiku is relatively better above Luna’s cliff than just below it, which is the opposite of what the thresholds suggest.
The middle band is the whole story of this comparison. Two models with the same rate card, and the same 105,000-word document costs seven times more on one of them.
The cache clock: where the real money is
For a production agent the resident prefix is re-sent on every turn, so what matters is not the read price — identical at $0.01 — but whether the cache is still alive when the next turn arrives. The two vendors sell retention on completely different terms.
| GPT-6 Luna | Claude Haiku 5.5 | |
|---|---|---|
| Cheap tier | 30 min at 1.25x write | 5 min at 1.25x write |
| Long tier | 12 hours at 2.5x write | 1 hour at 2x write |
| Does a read extend it? | To “at least 30 minutes after that read”; explicitly does not restart a 12-hour clock | ”Refreshed for no additional cost each time the cached content is used”, no stated cap |
| Minimum cacheable prefix | 1,024 tokens | 512 tokens |
| Clock starts | Not stated | At request start — generation time counts against the TTL |
Read the top row again: the same 1.25x write premium buys 30 minutes on Luna and 5 minutes on Haiku. And Anthropic’s longest available retention, one hour, is one twelfth of OpenAI’s.
But Anthropic’s free unlimited refresh partly offsets it, which makes the answer depend on your gap between turns rather than on either headline. Take 200,000 characters of resident context — 50,000 Luna tokens, 74,294 Haiku tokens, both safely under both cliffs:
A polling agent, one turn every 15 minutes, over an hour. Luna’s default 30-minute tier survives each gap: one write plus four reads, $0.00825. Haiku’s default 5-minute tier dies in every gap, forcing a full rewrite each turn: $0.04643, 5.6x. Buying Haiku’s 1-hour tier fixes it — one write plus four free-refreshed reads, $0.01783 — but that is still 2.16x Luna, because the 2x write premium stacks on 49% more tokens.
A cron agent, waking every 2 hours for six turns, across a 12-hour day. Luna’s 12-hour tier covers the entire day from a single write: $0.0300. Haiku cannot hold a cache across a 2-hour gap at any price — one hour is its maximum, and a refresh resets that same hour rather than extending it — so it rewrites the full prefix on all six wakes: $0.1114, 3.71x. Of that, 1.49x is the tokenizer and 2.5x is purely the cache clock.
Where Haiku wins is the band in between. For gaps of 30 to 60 minutes, Luna’s reads only guarantee a rolling 30-minute floor and its 12-hour tier costs 2.5x to write, while Haiku’s 1-hour entry plus free refresh holds indefinitely at 2x. If your turns land 45 minutes apart, Anthropic has the better cache product. Neither vendor’s cache survives an overnight gap.
What pushes Haiku’s prompt up without you adding anything
Three documented behaviours make Haiku 5.5’s prompt grow on its own, and the 100,000-token cliff is close enough that this matters.
Adaptive thinking is on by default, so responses can open with thinking blocks even when your request does not ask for them. Thinking blocks from earlier assistant turns stay in context and bill as input tokens — Haiku 4.5 kept only the latest turn’s. Anthropic’s caching page confirms they count as input tokens when read from cache. So a multi-turn conversation accumulates the model’s own reasoning toward a threshold you are budgeting only your documents against.
The same default also eats the cheap cache. Anthropic measures the TTL from request start, not response completion, and states plainly that “if a response takes 4 minutes to stream, a follow-up request that reuses the same cached prefix must start within about 1 minute of that response completing.” A model that thinks before answering spends your 5-minute window doing it.
And images moved to the high-resolution tier: a 2,000x1,500 image costs about 2.5x the visual tokens it did on Haiku 4.5. A vision workload reaches 100,000 tokens far sooner than its page count suggests.
Three things neither rate card tells you
Cache reads count toward Haiku’s threshold, and nobody knows about Luna’s. Anthropic is explicit in writing. OpenAI defines its tier on “272K input tokens” on two pages and never addresses cached tokens on either, and its prompt-caching guide does not mention the threshold at all. That is an undocumented gap, not an exemption.
Neither model can be pinned. gpt-6-luna and claude-haiku-5-5 are the only identifiers published — no date suffixes, no aliases. When OpenAI fixed an image-encoding bug three days after Luna launched, no benchmark from the pre-fix window could be reproduced by anyone. The same exposure applies to both.
Residency surcharges stack on the surcharges. OpenAI adds 10% for regional processing and FedRAMP endpoints on models released after 5 March 2026, and its caches “cannot be reused across regional processing boundaries.” Anthropic’s US-pinned inference_geo adds 1.1x, and its pricing page specifies that the multiplier “also applies to the higher prices for prompts over 100,000 tokens” — so US-pinned Haiku over the cliff is $0.55 / $0.055 / $2.75. Routes and premiums are mapped in Claude with EU data residency.
There is a third cheap tier, and it is priced on a different axis entirely. DeepSeek V4.1-Flash lists at $0.15 / $0.003 cached / $0.60 off-peak — nominally above both models here — but it has no length cliff at all across a 1M-token window, and its cache hits cost 3% of cache-miss against the 10% both vendors above charge. So above Haiku’s 100,000-token threshold it is already cheaper than Haiku, and above Luna’s 272,000 it undercuts Luna too on off-peak rates. What DeepSeek varies instead is the clock: peak hours (01:00-04:00 and 06:00-10:00 UTC, Monday to Friday) cost exactly double, which puts a European team’s blended rate 20-33% above the headline and a US team’s at the headline. The trade is a hosted endpoint in China and no published retirement policy — see the DeepSeek review for the data and lifecycle caveats, which are the reason this page compares the two Western tiers first.
Lifecycle and migration
Haiku 5.5 is listed Active with retirement not sooner than 7 October 2027, under Anthropic’s 60-day notice commitment. Luna carries no published date, under OpenAI’s policy of at least six months for generally available models — and it is the named replacement for both gpt-5.4-nano and the retiring GPT-4.1, so it is where OpenAI is pointing migrations (priced out here). Dates for both sit in the retirement calendar.
Migration cost is asymmetric. Moving to Luna from a GPT-5.x model is a model-string change. Moving to Haiku 5.5 from Haiku 4.5 crosses fourteen documented breaking changes, including budget_tokens returning a 400, rejected assistant prefill, dropped sampling parameters, a new computer-use toolset, and no Priority Tier support at all — so Haiku 5.5 has no purchasable latency guarantee, where Luna sells Fast mode at 2x standard rates.
Which one to pick
| If your workload is… | Buy | Why |
|---|---|---|
| Under ~47,000 words, continuous traffic | GPT-6 Luna, narrowly | Both under their cliffs; Luna is ~1.49x cheaper on identical text |
| 47,000–191,000 words | GPT-6 Luna | Haiku is in its 5x tier here and Luna is not: 7.4x on the same document |
| Bursty, gaps over an hour | GPT-6 Luna | 12-hour cache against a 1-hour ceiling; 3.7x on a wake-every-2-hours agent |
| Turns 30–60 minutes apart | Claude Haiku 5.5 | Free unlimited refresh on a 1-hour entry beats Luna’s rolling 30-minute floor |
| Prefixes under 1,024 tokens | Claude Haiku 5.5 | 512-token cache minimum against Luna’s 1,024 |
| Needs a latency guarantee | GPT-6 Luna | Fast mode at 2x; Priority Tier is unsupported on Haiku 5.5 |
| Needs a published retirement date | Claude Haiku 5.5 | A floor of 7 Oct 2027 against no date at all |
| Reliably over 100,000 Anthropic tokens | Neither — price Sonnet 5.5 | Above the cliff Haiku’s advantage over Sonnet collapses to 2x on cached input |
| Long prompts, non-sensitive data, batchable | Price DeepSeek Flash too | No length cliff at any size and a 3% cache-hit rate; costs 2x at peak hours and runs on a hosted endpoint in China |
The last row is the one to take seriously if you are committed to Anthropic. Haiku 5.5’s 5x surcharge applies to every rate while Sonnet 5.5 has no length tier at all, so crossing 100,000 tokens does not merely make Haiku expensive — it erases the reason to accept a smaller model. The arithmetic is in the long-prompt guide.
For the ecosystems rather than the models, see Claude vs ChatGPT; plan-level pricing is in the Claude and ChatGPT reviews, dated price history in the pricing tracker, and you can run your own numbers in the API cost calculator.
The verdict
GPT-6 Luna, for most buyers, and the margin is wider than the identical rate cards admit. The floor is 1.49x on tokenization alone; the realistic range across long prompts and idle caches runs from 2x to 7.4x. Haiku 5.5 wins three specific, narrow cases — 30-to-60-minute turn gaps, sub-1,024-token prefixes, and a published retirement floor — and its 100,000-token cliff disqualifies it from the long-context work its 1M-token window advertises.
The general lesson is the one neither vendor’s page will print: when two rate cards match to the cent, the price is being set somewhere else — in the tokenizer, the threshold and the cache clock.
What changed
- 23 Oct 2026: Page published. Both rate cards verified against vendor pricing pages; cache TTL and refresh semantics verified against both vendors’ prompt-caching guides.
GPT-6 Luna vs Claude Haiku 5.5 — frequently asked questions
GPT-6 Luna and Claude Haiku 5.5 have the same prices. Why is one cheaper?
Because the rate is per token and the two vendors' tokens are different sizes. Both cost $0.10 per million input tokens, $0.01 cached and $0.50 output. But Anthropic's current tokenizer runs at about 2.69 characters per token against OpenAI's conventional 4.0, so the same English text meters roughly 1.49x more tokens on Haiku 5.5. On identical text in and out, with both prompts under both vendors' length thresholds, Luna costs about a third less — and nothing on either rate card shows it. That 1.49x is the floor, not the gap: add the long-prompt thresholds or an idle cache and it widens to between 2x and 7x.
Where does each model's long-prompt surcharge start?
Haiku 5.5 charges 5x on every rate — input, cached input, output, writes and batch — once a prompt passes 100,000 tokens. Luna charges 2x input, 2x cached and 1.5x output above 272,000 input tokens, applied to the full request. Converted to characters of English, Haiku's cliff arrives at about 269,200 characters (roughly 47,000 words) and Luna's at about 1,088,000 (roughly 191,000 words) — four times further out. Between those two points sits the widest gap on this page: Haiku is in its 5x tier while Luna is still on standard rates, and the same document costs about 7.4x more on Haiku.
Does prompt caching keep me under the threshold on either model?
On Haiku 5.5, documented no. Anthropic's pricing page states that a request's prompt length 'counts all of its input tokens, including cache reads and cache writes', and that a request over the threshold 'pays the higher prices even when part of its prompt is a cache hit'. On Luna, undocumented. OpenAI's pricing page and model page both define the tier on '272K input tokens' without distinguishing cached from uncached, and the prompt-caching guide never mentions the threshold at all. Assume cached tokens count on both and do not architect around an exemption OpenAI has not written down.
Which model holds a prompt cache longer?
It depends entirely on your gap between turns, and neither wins outright. Luna offers a 30-minute default tier at a 1.25x write premium and a 12-hour tier at 2.5x; Haiku 5.5 offers 5 minutes at 1.25x and 1 hour at 2x. Anthropic refreshes the cache free on every read with no stated cap, so a 1-hour entry read every 50 minutes stays alive indefinitely. OpenAI's reads only guarantee 'at least 30 minutes after that read' and explicitly 'do not restart a 12-hour clock'. So Luna wins gaps under 30 minutes and gaps over an hour; Haiku wins the 30-to-60-minute band, where its free refresh holds a cache that Luna's would have dropped. Neither survives overnight.
Is Claude Haiku 5.5 a drop-in replacement for Haiku 4.5?
No — Anthropic's migration guide documents fourteen breaking changes. The ones that cost money or break builds: a `thinking` value of `{"type": "enabled", "budget_tokens": N}` now returns a 400, adaptive thinking is on by default so responses can open with thinking blocks, thinking blocks from earlier assistant turns stay in context and bill as input tokens, assistant prefill is rejected with a 400, `temperature`, `top_p` and `top_k` should be omitted, images use the high-resolution tier so a 2,000x1,500 image costs about 2.5x the visual tokens, and Priority Tier is not supported at all. The model ID is `claude-haiku-5-5` with no date suffix and no alias.
Which has the safer lifecycle?
Haiku 5.5, on paper. Anthropic lists it Active with retirement 'not sooner than 7 October 2027' and commits to at least 60 days' notice before any released model retires. GPT-6 Luna carries no published date at all, but OpenAI's policy promises at least six months for generally available models — a longer notice period against no date versus a shorter one against a firm floor. The sharper risk is shared: neither model exposes a dated snapshot. `gpt-6-luna` and `claude-haiku-5-5` are the only identifiers either vendor publishes, so neither build can be pinned, and a silent swap underneath you cannot be detected or reproduced.