OpenAI shipped GPT-6 Sol on September 22, 2026 with a headline every finance-adjacent engineer noticed: “50% cheaper.” Cheaper than what, exactly, is the part that decides whether your migration spreadsheet is right or off by a third.
The answer is in OpenAI’s own wording. Sol is 50% cheaper than GPT-5.6 promotional pricing. Not list pricing. That single adjective changes the baseline, and once you swap the baseline back to the list rates our own coverage documented at the GPT-5.6 launch, the cut turns out to be larger than the headline, not smaller. Both things are true at once, which is why the sentence is worth reading twice.
There is a second, more useful correction underneath. Per-token price is what vendors headline and what you can verify on an invoice. It is not what moved most here. Cost per completed task moved further, because Sol finishes work in fewer tokens at higher reasoning effort. This article puts both units side by side. For the wider context of three frontier launches in two days, see the September 2026 model price war.
GPT-6 Sol pricing at a glance
| Item | Value |
|---|---|
| API model ID | gpt-6-sol |
| Input | $2 per million tokens |
| Output | $10 per million tokens |
| Cached input reads | 90% discount |
| Context window | 872,000 tokens |
| Availability | ChatGPT Work and Codex for Plus, Pro, Business, Enterprise and Edu |
| Not yet available in | Chat |
A 90% discount on a $2 input rate works out to $0.20 per million cached input tokens. That is our arithmetic on OpenAI’s stated discount rather than a separately published rate, and it is the number that matters most for agent loops.
The 50% is measured against a promotional rate
Here is the lineage, built from our own GPT-5.6 coverage. The list column is what we documented at that launch in GPT-5.6 pricing. The promotional column is the discounted rate OpenAI compares its new models against.
| Tier | GPT-5.6 list | GPT-5.6 promotional | GPT-6 |
|---|---|---|---|
| Sol | $5 / $30 | $4 / $20 | $2 / $10 |
| Terra | $2.50 / $15 | $2 / $12 | no GPT-6 Terra announced |
| Luna | $1 / $6 | $0.20 / $1.20 | $0.10 / $0.50 |
Against the promotional rate, GPT-6 Sol at $2/$10 is exactly 50% off on both sides of the meter. That is OpenAI’s claim and it checks out.
Against the list rate, the same $2/$10 is a 60% cut on input and a 67% cut on output. If your current invoice is being charged at $5/$30 because you never qualified for or never noticed the promotion, your saving is bigger than the marketing number. If you were already on the promo rate, 50% is what you get.
One structural note: there is no GPT-6 Terra. The family is Astra, Sol and Luna, where GPT-5.6 was Sol, Terra and Luna. A Terra id in a config file has no direct successor, so you are choosing between Sol and Luna. Our post on the Sol, Terra and Luna naming covers the previous lineup and reads as history now.
The unit that actually moved is cost per task
Token rates tell you what a call costs, not what an answer costs, because two models reach the same result with very different token counts. OpenAI benchmarked Sol on cost per completed task, and that is where this stops being a price cut and starts being a repricing of a category of work.
On AutomationBench 1.0.6:
| Model and effort | Score | Cost per task |
|---|---|---|
| GPT-6 Sol, xhigh | 33.2% | $0.27 |
| GPT-6 Astra, low | 30.3% | 3.9x Sol |
| Claude Fable 5.1 with Opus 5 fallback, max | 31.4% | more than 8.9x Sol |
| Claude Opus 5, max | 26.9% | 11.1x Sol |
Read the top and bottom rows together. Sol at extra-high reasoning effort scores higher than Claude Opus 5 at max effort while costing 9% of Opus 5’s cost per task. On the $0.27 baseline those multipliers work out to roughly $1.05 per task for Astra at low and roughly $3.00 for Opus 5 at max, which is our arithmetic rather than a rate OpenAI printed.
The same pattern repeats across the other evaluations OpenAI published:
- Agents’ Last Exam V1: Sol at max scores 56.4%, above Claude Opus 5’s best result, at 60% lower cost per task.
- DeepSWE 1.1: Sol at max scores 68.8%, within 1.1 percentage points of Claude Fable 5 at xhigh (69.9%), at roughly 80% less per task.
- OSWorld 2.0 offline: Sol at xhigh scores 60.5% against Claude Opus 5 at medium on 60.3%, again at roughly 80% less per task.
- Factuality: Sol makes about half the mistakes its predecessor made.
One caveat belongs right here. Every Claude comparison in OpenAI’s launch material is against Claude Opus 5, because Claude Opus 5.5 did not exist when the post was written. Anthropic shipped Opus 5.5 the same day at $4/$20, down from Opus 5’s $5/$25, so the “9% of Opus 5’s cost per task” line is measured against a model superseded within hours. We work through what that does and does not imply in GPT-6 Sol vs Claude Opus 5.5. No vendor has published a Sol versus Opus 5.5 table; the grids circulating on social are assembled from tweets.
Why the two units disagree
If Sol is 50% cheaper per token than promotional GPT-5.6 Sol, why is it 60% to 91% cheaper per task in the benchmark rows above? That range is ours, read off the span of OpenAI’s own figures: 60% at the low end from Agents’ Last Exam, 91% at the high end as the other side of the 9%-of-Opus-5 line.
Because reasoning effort trades tokens for accuracy, and Sol sits at a better point on that curve. A cheaper model that needs three attempts is not cheaper. That is why OpenAI’s tables always pair a score with an effort level: xhigh, max, medium and low are not cosmetic labels, they are the cost axis.
The consequence is that you cannot estimate your GPT-6 bill by multiplying current token volume by the new rates. Token volume per task changes too, in both directions, depending on the effort you select.
Caching changes the effective input rate
GPT-6 shipped alongside a real prompt caching release, and for a pricing article one number matters: cached input reads are discounted 90%, which puts Sol’s effective input rate at $0.20 per million tokens on the cached portion of a prompt.
For an agent that re-sends a large stable prefix on every step, that is the difference between a viable architecture and an unviable one. OpenAI also says hit rates are higher by default, that changing reasoning effort or tool availability no longer invalidates the cache, and that explicit breakpoints let you choose where a cached prefix ends. GitHub reports more than 50% fewer prompt tokens needing fresh processing across billions of requests.
One gap: our sources do not state a cache write rate for GPT-6. Anthropic publishes one for Opus 5.5, OpenAI’s material does not for Sol, so do not assume writes are free. The mechanics of hitting the cache are covered in GPT-6 prompt caching.
A worked example
Take a common agent step: a 40,000 token prompt and a 2,000 token completion, run 100,000 times a month. All of the following is arithmetic on the rates above.
| Scenario | Per call | Per 100,000 calls |
|---|---|---|
| GPT-5.6 Sol at list, $5 / $30 | $0.26 | $26,000 |
| GPT-5.6 Sol at promotional, $4 / $20 | $0.20 | $20,000 |
| GPT-6 Sol, no cache hits | $0.10 | $10,000 |
| GPT-6 Sol, 32k of the prompt cached | $0.0424 | $4,240 |
The move from the promotional row to the uncached GPT-6 row is the advertised 50%. The move from the list row to the cached row is 84%, and most of that last leg comes from caching, not from the price cut. If you take one budgeting lesson from this release, take that one.
Scale matters in the other direction too. OpenAI disclosed that its median internal researcher spends more than $600 a day on coding agents, with the 90th percentile above $7,000 a day. That is the usage pattern these rates are designed for, and it is a useful reality check if your own agent spend looks alarming.
What the low price does not buy
Sol is the cheap-and-strong tier, not the fast tier. Artificial Analysis, a third party rather than either vendor, measures the max reasoning variant of GPT-6 Sol at 115.2 output tokens per second with a time to first token of 102.15 seconds. That figure is specifically for the max variant and comes with all the caveats of third-party measurement, but the shape of it is real: high reasoning effort means a long silent pause before the first token arrives. Anything with a user waiting on it needs a lower effort setting or a different tier. We take that apart in GPT-6 Sol latency.
Sol is also not the top of the family. OpenAI states plainly that GPT-6 Astra “continues to be our best model across the board” at $10/$50. The question for teams already on Astra is which workloads survive the move down, which is the subject of migrating from Astra to Sol. And Sol is not in Chat yet: it is available through ChatGPT Work and Codex for Plus, Pro, Business, Enterprise and Edu, plus the API as gpt-6-sol.
Verify the bill on your own traffic
Vendor cost-per-task tables are measured on vendor harnesses against vendor workloads. Yours will differ. Before committing a budget:
- Send real production prompts to
gpt-6-soland readusageoff the response instead of estimating from character counts. - Run the same prompt at two effort levels and record tokens and wall-clock time for both. The cheaper setting is not always cheaper per task.
- Measure the cached and uncached cases separately. A 90% discount on the wrong half of your prompt is worth very little.
- Record time to first token, not just total latency, if anything downstream has a timeout.
This is ordinary HTTP request testing, so build the calls, save both effort variants as separate requests, assert on response shape and watch the timings in Apidog instead of in a scratch script you throw away. Kept as a saved collection, the comparison re-runs itself the next time a price changes, which on current evidence will be soon.
The short version
GPT-6 Sol costs $2 per million input tokens and $10 per million output tokens, with 872,000 tokens of context and cached reads discounted 90%. The advertised 50% cut is measured against GPT-5.6 promotional pricing; against the list rates we documented at that launch, it is 60% on input and 67% on output. Neither of those is the biggest number in the release. Cost per completed task fell by 60% to 91% against the models OpenAI benchmarked, and prompt caching can take another large bite out of what remains. Budget on tasks, verify on your own traffic, and keep the word promotional attached to the 50%.



