OpenAI cut GPT-5.6 Luna by 80% and Terra by 20% on July 30, 2026. Sol's standard price did not move, and if you run multi-turn agents, cache-write billing can swallow most of the discount before it reaches your invoice.
What changed on July 30, 2026
The cuts took effect July 30, 2026 and apply to the existing model IDs. OpenAI said it was cutting the two prices after improving the efficiency of the systems that serve them; GPT-5.6 Sol's standard rate was left alone.
| Model | Model ID | Input before | Input now | Output before | Output now |
|---|---|---|---|---|---|
| GPT-5.6 Luna | gpt-5.6-luna | $1.00 | $0.20 | $6.00 | $1.20 |
| GPT-5.6 Terra | gpt-5.6-terra | $2.50 | $2.00 | $15.00 | $12.00 |
| GPT-5.6 Sol | gpt-5.6-sol | $5.00 | $5.00 | $30.00 | $30.00 |
Prices per 1M tokens, standard tier, short context, from the OpenAI API pricing docs (verified 2026-07-31).
The framing "the GPT-5.6 series got cheaper" is only two-thirds true. Alongside the cut, OpenAI added a Fast mode for Sol at $10.00 input and $60.00 output: double the standard rate, for up to 2.5× throughput with no change to the underlying model. The pricing docs note that Fast mode is the feature previously called priority processing. So the flagship tier gained a more expensive option on the same day the two cheaper tiers got cheaper.
Write the explicit model ID rather than the bare series name. OpenAI's model catalog lists gpt-5.6 as an alias of gpt-5.6-sol, so routing on the short name expecting the cheap tier bills you at flagship rates. Resellers may not carry the alias at all: on AIReiter's endpoint gpt-5.6 returns Model 'gpt-5.6' not found (tested 2026-07-31).
Developer reaction has focused less on the size of the cut than on whether it holds:
There's no way OpenAI's 5.6 models actually cost that little to run — r/Anthropic thread title
Which tier to use now that Luna undercuts GPT-5.4 nano
At $0.20 input and $1.20 output, GPT-5.6 Luna is now cheaper per output token than gpt-5.4-nano ($0.20 / $1.25) and far cheaper than gpt-5.4-mini ($0.75 / $4.50). If you kept older nano or mini calls around purely on cost grounds, that reason is gone.
To see whether the cheap tier holds up, I ran two tasks against all three GPT-5.6 models through AIReiter's OpenAI-compatible endpoint on 2026-07-31: a support-ticket-to-JSON extraction with a strict schema, and a token-billing arithmetic problem with one correct answer ($23.71). Two runs each, max_tokens: 4000, no retries, graded pass/fail against the expected output.
| Task | Model | Input tokens | Output tokens | Latency (run 1 / run 2) | Correct |
|---|---|---|---|---|---|
| Ticket → JSON | Luna | 135 | 77–78 | 4.0s / 3.5s | Yes |
| Terra | 135 | 46 | 2.1s / 2.1s | Yes | |
| Sol | 135 | 46 | 2.3s / 2.2s | Yes | |
| Billing arithmetic | Luna | 119 | 111–122 | 3.1s / 4.3s | Yes |
| Terra | 119 | 87–89 | 3.8s / 2.8s | Yes | |
| Sol | 4,488 | 84–87 | 3.5s / 3.2s | Yes |
Two results are worth pulling out.
Luna was the slowest of the three on extraction, not the fastest: 3.5–4.0s against Terra's 2.1s. The cheap tier is not automatically the low-latency one.
Sol reported 4,488 input tokens for a prompt Terra and Luna both counted as 119, with 3,840 of those flagged as cached_tokens. That reproduced exactly across both runs. On a trivial prompt ("Reply with only the word OK.") all three reported an identical 24 tokens, so the inflation tracks the prompt rather than the model. I can see the token counts but not the cause. Treat it as measured billing behaviour on one endpoint, not a documented property of the model.
Priced at official standard rates, the identical correct answer cost:
Per 1,000 runs: Luna $0.16, Terra $1.29, Sol $7.73. Sol charged roughly 6× Terra and 47× Luna to return the same three-digit number.
This is a small, two-run sample on two easy tasks, not a benchmark, and it does not measure reasoning quality. It supports one rule: start at Luna, escalate only on measured failures from your own traffic. In these runs, paying for Sol where Terra already answered correctly bought nothing. The full workload split is in the table at the end.
Why an 80% cut may not cut your bill 80%
The headline rate applies to fresh input and output tokens. Multi-turn agent traffic is dominated by a third number, cache writes, and across all three GPT-5.6 tiers a cache write costs 12.5× a cache read.
| Model | Cached input (read) | Cache write | Ratio |
|---|---|---|---|
| GPT-5.6 Luna | $0.02 | $0.25 | 12.5× |
| GPT-5.6 Terra | $0.20 | $2.50 | 12.5× |
| GPT-5.6 Sol | $0.50 | $6.25 | 12.5× |
A controlled test posted to the OpenAI developer community on 2026-07-11 shows how much this matters. Over six sequential Responses API turns chained with previous_response_id, Luna consumed 3% fewer input tokens and 29% fewer output tokens than gpt-5.4-mini, yet cost 96% more ($0.0651 versus $0.0332 per conversation). Roughly 70% of Luna's input was billed as cache writes. Those figures predate the price cut, but the mechanism is unchanged.
In that implementation the cause was fixable, and that is the useful part. GPT-5.6's cache does not score partial matches, so any change to the cached prefix forces a full rewrite. The author had been rebuilding a growing conversation snapshot inside instructions, invalidating the prefix on every turn.
The diagnostic split is stark: stable instructions hit cache on 15 of 15 later user turns, mutable instructions on 0 of 15. Moving that context into a developer input item dropped Luna's premium from 96% to 16.7%, and Luna then ran faster and scored higher than mini in the author's blinded review. Neither prompt_cache_key nor explicit cache breakpoints helped.
Two things to do before you assume the discount reached you:
- Keep everything variable out of the cached prefix. System text, tool definitions and persona go first and stay byte-identical; conversation state goes into input items.
- Read the split back from the API.
usage.prompt_tokens_details.cached_tokensagainstusage.prompt_tokenstells you the read share on every call. A low ratio on a long-running agent is the single highest-leverage cost bug in this series.
Three different GPT-5.6 prices are circulating — which one applies to you
Searching for GPT-5.6 Luna's price returns at least three different numbers, and each of them is or was correct for some tier. Checking which tier a quote refers to resolves most of the contradiction.
| Where you saw it | Luna input / output | What it is |
|---|---|---|
| $0.20 / $1.20 | Standard tier, short context | The default for a normal API call |
| $0.10 / $0.60 | Batch and Flex tiers | Exactly half standard, for async and lower-priority work |
| $0.40 / $2.40 | Fast mode | Double standard |
| $1.00 / $6.00 | Pre-July-30 standard rate | Correct until the cut |
Two more modifiers, both from the same pricing docs: long context bills at 2× the short-context input rate and 1.5× output (Luna's long row is $0.40 / $1.80, not $0.40 / $2.40), and the docs list a 10% uplift on eligible data-residency endpoints for models released on or after 2026-03-05, which covers all of GPT-5.6.
When a pricing page disagrees with your invoice, two checks settle it: find the verification date on the page, then reconcile against the official pricing docs for the specific tier you actually call. Aggregators and resellers also publish their own rates, which are a third category again: not stale, just different.
On AIReiter the three GPT-5.6 tiers are priced at 50% of OpenAI's list rate, and that tracked the July 30 cut: GPT-5.6 Luna runs $0.10 / $0.60, Terra $1.00 / $6.00 and Sol $2.50 / $15.00, with the same halving applied to cached input and cache writes.
For a Terra agent pushing 1M input and 200K output tokens a day, that is $4.40 a day at list versus $2.20 — the same call, the same model ID.
Where Luna lands in the wider market is a separate question. In VentureBeat's July 30 comparison of 30 models Luna's $1.40 combined rate undercuts Gemini 3.5 Flash-Lite ($2.80) and Gemini 3.1 Flash-Lite ($1.75) but sits above DeepSeek v4-flash ($0.42). If cost is your only criterion, the cheapest LLM APIs are not from OpenAI.
FAQ
Did GPT-5.6 Sol get cheaper too?
No. Sol's standard rate is unchanged at $5.00 input and $30.00 output per 1M tokens. It gained a Fast mode at twice that price for up to 2.5× throughput.
Is GPT-5.6 Luna now the cheapest API model?
No. At $1.40 per 1M tokens combined it is among the cheaper frontier-series models, but VentureBeat's July 30 table puts DeepSeek v4-flash ($0.42), Xiaomi's MiMo-V2.5 Flash ($0.40) and DeepSeek v4-pro ($1.305) below it.
Why do I see $1 / $6 for GPT-5.6 Luna on some pages?
That was the standard rate before July 30, 2026. Check the page's stated verification date, then confirm against the official pricing docs for the tier you call.
Does the price cut apply to Batch and Flex?
Yes. Batch and Flex are set at half the standard rate, so Luna is $0.10 / $0.60 and Terra $1.00 / $6.00 on those tiers, cached input and cache writes included.
Do I need to change my code to get the new price?
No. The cut applies to the existing gpt-5.6-luna and gpt-5.6-terra model IDs with no migration. The one change worth making is auditing your cache-read ratio, which is where the discount is most often lost.
Which tier for which workload
| Workload | Tier | Why |
|---|---|---|
| High-volume extraction, tagging, summarising | Luna | Passed both test tasks; $1.40 combined per 1M, now below gpt-5.4-nano |
| Latency-sensitive user-facing calls | Terra | Measured faster than Luna on extraction (2.1s vs 3.5–4.0s) |
| First escalation when Luna misses quality bar | Terra | $14 combined against Sol's $35 |
| Tasks Terra measurably underperforms on your traffic | Sol | Only justification for 6× Terra's measured per-task cost |
| Multi-turn agents on any tier | Fix caching first | Cache writes cost 12.5× reads; a bad prefix outweighs the tier choice |