GPT-6 Sol vs Claude Opus 5.5 cost per task: Sol costs 28% to 79% as much for the same target score
Sol lists at half of Opus 5.5. Per task on Artificial Analysis's index it costs 28% to 79% as much, and past 272K input Opus 5.5 can be the cheaper one.

For the same target score on Artificial Analysis’s Intelligence Index, GPT-6 Sol costs between 28% and 79% of what Claude Opus 5.5 costs per task, and about two-thirds at the single point where their scores meet. The ratio swings that widely because each model can only be bought at a handful of effort settings, so hitting a target on one side often means overshooting it on the other.
A few definitions before the numbers. Artificial Analysis (AA) is an independent benchmarking firm; its Intelligence Index averages ten evaluations, from knowledge work to terminal tasks, into one score. Cost per task is AA’s average spend to run one task in that index at list prices, with input, cache and output combined. It measures money only; wall-clock time is a separate axis this post does not cover. Prices below are from OpenAI’s and Anthropic’s documentation as read on 2026-09-23. The per-task figures are AA’s. The arithmetic is mine, done by one script over those two sources. Nothing here was run by us.
GPT-6 Sol and Claude Opus 5.5 pricing, line by line
Both launched on 22 September at $2/$10 per million input/output tokens for Sol and $4/$20 for Opus 5.5. Two of the lines below need a definition. A cache write stores a processed prompt prefix so the next request can reuse it; it costs more than plain input. A cache read is that reuse, billed at a fraction of input.
| Line (USD per MTok unless noted) | GPT-6 Sol | Claude Opus 5.5 |
|---|---|---|
| Input | $2.00 | $4.00 |
| Cache read | $0.20 (0.1x input) | $0.20 (0.05x input) |
| Cache write | $2.50 (1.25x) | $5.00 for 5 minutes, $8.00 for 1 hour |
| Output | $10.00 | $20.00 |
| Prompt over 272K input tokens | 2x input and cache, 1.5x output, whole request | No change up to 1M |
| Caching by default | On (implicit mode) | Off until you set cache_control |
| Cache lifetime | At least 30 minutes after last write or reuse | 5 minutes, refreshed free on each hit |
| Batch | 50% off (Flex also 50%) | 50% off input and output |
| Fast | 2x all rates ($4/$20) | $8/$40 |
| Default effort | medium | medium |
Sources: OpenAI API pricing, GPT-6 Sol model page, OpenAI prompt caching guide, Claude pricing, Claude Opus 5.5 overview, Claude prompt caching.
The line that matters is the cache read. Anthropic’s footnote: “Cache hits and refreshes on Claude Opus 5.5 are priced at 0.05x the base input price.” Half the usual multiplier on double the base lands on the same $0.20 Sol gets from 0.1x on $2.
The caching-by-default row matters too. OpenAI’s guide says “Prompt caching is enabled by default”
and that implicit mode places breakpoints “out of the box”; its own worked example bills a first
request of 12,000 input tokens as cache_write_tokens: 12000. On Sol, a prompt you never reuse is
still written at 1.25x unless you switch to explicit mode and place no breakpoint.
Why the same tokens cost about 1.5x more on Opus 5.5, not 2x
Price one fixed set of tokens on both sheets, below the 272K line:
Opus 5.5 bill 0.20·R + 4·I + 5·W + 20·O
Sol bill 0.20·R + 2·I + 2.5·W + 10·O
R = cache reads I = uncached input W = cache writes O = outputEvery Opus term is double except cache reads, which are equal. The ratio therefore sits between 1x and 2x and falls toward 1x as cache reads take over the bill.
A one-shot call is the high end. A 20K-token prompt with 1K of output costs $0.10 on Opus 5.5 and $0.06 on Sol under Sol’s default implicit caching, because Sol writes the prompt at $2.50: 1.67x. In explicit mode with no breakpoint Sol pays plain input and the ratio is 2.00x.
An agent loop is the low end. The 60-turn loop this series priced before (same $10/$50, and a 39% cheaper agent bill) re-reads 9M cached tokens and emits 120K of output. That post used 180K of cache writes; counting the first 150K prefix plus every output fed back into history, it is closer to 270K, and I use 270K here.
GPT-6 Sol Claude Opus 5.5 (5-min writes)
cache reads 9.00 M × $0.20 = $1.80 × $0.20 = $1.80
cache writes 0.27 M × $2.50 = $0.68 × $5.00 = $1.35
output 0.12 M × $10.00 = $1.20 × $20.00 = $2.40
----- -----
$3.67 $5.55Opus 5.5 costs 1.51x Sol on this loop. The top row is identical and is about half of Sol’s bill. With one-hour writes on the Opus side the same loop is $6.36, or 1.73x.
Past 272K input tokens the gap reverses: the 25-to-1 rule
OpenAI’s model page: “Prompts with more than 272K input tokens are priced at 2x input and cache rates and 1.5x output for the full request.” Anthropic’s pricing page: “A 900k-token request is billed at the same per-token rate as a 9k-token request.”
| Above 272K input, USD per MTok | GPT-6 Sol | Claude Opus 5.5 |
|---|---|---|
| Input | $4.00 | $4.00 |
| Cache write | $5.00 | $5.00 (5-minute) / $8.00 (1-hour) |
| Cache read | $0.40 | $0.20 |
| Output | $15.00 | $20.00 |
With five-minute writes, input and writes are identical, so Sol’s bill minus Opus 5.5’s is 0.20·R − 5·O. When that number is positive Sol costs more:
5-minute writes: Opus 5.5 is cheaper when 0.20·R > 5·O i.e. R / O > 25
1-hour writes: Opus 5.5 is cheaper when 0.20·R > 5·O + 3·WThis assumes both sides write the same new tokens to cache each turn. Sol does that by default;
on Claude you need automatic caching (a top-level cache_control) or a breakpoint you move
forward yourself.
Agent loops sit well above 25: the 60-turn loop re-reads 75 cached tokens per output token. The more interesting part is what happens as a session grows. Take a 40-turn session where each turn adds 2K tokens of input and 3K of output to the history, both sides cache every new token, and Opus uses five-minute writes:
| Starting context | Turn that first crosses 272K | GPT-6 Sol | Claude Opus 5.5 | Cheaper |
|---|---|---|---|---|
| 150K | 26 | $5.33 | $6.06 | Sol, by 12% |
| 250K | 6 | $8.49 | $7.34 | Opus 5.5, by 13% |
| 400K | 1 | $12.54 | $9.26 | Opus 5.5, by 26% |
The 250K row is the one to remember. The session starts on Sol’s cheap side, crosses the line on turn 6, and spends the other 35 turns re-reading a cache that now costs $0.40 per million. It ends 13% more expensive than Opus 5.5 for identical tokens. The same 40 turns with history trimmed so the prompt stays at 250K would be $4.00 on Sol against $6.02 on Opus 5.5.
The surcharge is decided per request and applies to the whole request, so a turn that grows from 271K to 273K reprices all 273K tokens. The guard belongs in front of the call, and it should fire early: the next request carries this turn’s output plus new input, so with a 16K output budget, trim or summarise once the prompt passes 256K.
Same effort name, 5.4x the bill: effort is not a unit
Effort is the request parameter that tells a reasoning model how much to think before it
answers; more effort, more output tokens. Both vendors default to medium: “GPT-6 Sol and Luna
also default to medium reasoning effort”
(Reasoning models, OpenAI API), and
“Claude Opus 5.5 defaults to medium”
(Effort, Claude Platform Docs).
AA ran both at medium. Sol cost $0.25 per task and wrote about 6,500 output tokens. Opus 5.5
cost $1.34 and wrote about 25,700. That is 5.4x the bill. Four times the output at twice the
output price would be 8x; the input and cache-read lines, which grow less than output, pull it
down to 5.4x. Anthropic’s migration notes point the same way: “At the same effort setting the
model tends to think more per turn than Claude Opus 5”
(What’s new in Claude Opus 5.5).
The same word is not the same amount of thinking across vendors; the longer version is in
what reasoning_effort actually does across four providers.
At the same target score, Sol costs 28% to 79% as much
AA publishes both models at five effort levels each, read from its model pages on 2026-09-23.
Two limits on what that covers. Sol also accepts none as an effort value, and GPT-6 models
offer a pro reasoning mode; AA measured neither, so everything below is “at the effort levels AA
tested, in standard mode”. And AA ran every Opus 5.5 level with Anthropic’s default fallback on:
by Anthropic’s own description, when its safeguards intervene, cybersecurity tasks go to Opus 4.8
and biology and frontier-LLM-development tasks to Opus 5
(one model, two safety tiers covers that tiering).
| Model and effort | Intelligence Index | Cost per task | Output tokens per task |
|---|---|---|---|
| GPT-6 Sol · low | 33.9 | $0.13 | 3.4k |
| GPT-6 Sol · medium | 39.8 | $0.25 | 6.5k |
| GPT-6 Sol · high | 42.8 | $0.37 | 10.2k |
| GPT-6 Sol · xhigh | 44.1 | $0.53 | 16.0k |
| GPT-6 Sol · max | 47.5 | $1.06 | 31.2k |
| Claude Opus 5.5 · low | 42.3 | $0.55 | 10.2k |
| Claude Opus 5.5 · medium | 51.2 | $1.34 | 25.7k |
| Claude Opus 5.5 · high | 53.6 | $1.82 | 35.6k |
| Claude Opus 5.5 · xhigh | 56.0 | $3.46 | 65.7k |
| Claude Opus 5.5 · max | 57.6 | $5.98 | ~119k |
Source: AA model pages for GPT-6 Sol and Claude Opus 5.5 at each effort level; the Opus 5.5 max output figure is from AA’s launch note.
A buyer does not pick an effort level; a buyer picks a score the work has to reach and then pays for the cheapest setting that reaches it. Doing that on both sides:
| Target index | Cheapest GPT-6 Sol tier | Cheapest Claude Opus 5.5 tier | Sol as share of Opus 5.5 |
|---|---|---|---|
| 42.3 | high (42.8), $0.37 | low (42.3), $0.55 | 68% |
| 42.5 | high (42.8), $0.37 | medium (51.2), $1.34 | 28% |
| 44.0 | xhigh (44.1), $0.53 | medium (51.2), $1.34 | 40% |
| 47.5 | max (47.5), $1.06 | medium (51.2), $1.34 | 79% |
| 48 and up | none tested | medium (51.2) and above | n/a |
Only the first row compares settings with nearly equal scores. Sol at high and Opus 5.5 at low
land half a point apart and write almost the same output per task (10,232 against 10,151 tokens),
which is why that pair gets quoted. Sol costs 68% of Opus 5.5 there. That is an observed ratio,
not a check on the price-sheet arithmetic above: the two runs match on output but not on cache
reads or writes.
Move the target a fraction of a point above 42.3 and Opus 5.5 has to jump to medium, and Sol falls to
28% of its cost. From there the share climbs as Sol climbs its own ladder, to 79% at Sol’s max.
So: between 42.3 and 47.5, Sol costs 28% to 79% of Opus 5.5 for the same target, and about
two-thirds only at 42.3. Below 42.3 AA tested no Opus 5.5 setting; above 47.5 it tested no Sol
setting.
AA’s model pages for these runs do not break out a separate coding or agentic index. If your work is coding, the table above is a prior, not an answer; run the comparison on your own coding tasks.
What the launch posts compare against
Anthropic’s “40% less than Opus 5 on typical workloads” is “at default settings”
(Introducing Claude Opus 5.5), which means Opus 5.5 at
medium against Opus 5 at high; AA’s pages give $1.34 against $3.61 for that pair, while at max
AA’s launch note calls the two “Level
with Opus 5 on cost per task” ($5.98 against the $5.86 on AA’s
Opus 5 page). Anthropic’s benchmark table runs
Opus 5.5 at max effort (Terminal-Bench at xhigh) against GPT-6 Astra and GPT-5.6 Sol, the previous
Sol. OpenAI’s “50% compared with their GPT‑5.6 promotional pricing”
(Introducing GPT-6 Sol and Luna) is a
permanent price per a spokesperson quoted by
The New Stack, and its cost-per-task
charts set Sol at xhigh against Opus 5 at max, not Opus 5.5.
What the index cannot tell you about your bill
Cache share moves the ratio. AA splits each per-task cost by token type. Cache reads are 49% of
Sol’s cost at max and 31% of Opus 5.5’s at medium. The larger that share in your traffic, the
closer the two bills get, and AA’s harness caches the way it caches, not the way yours does.
Token counts do not travel. The two vendors count tokens with different tokenizers and report them in different fields. Compare dollars per task, never tokens.
Idle time turns into writes on Opus 5.5. Sol keeps a prefix at least 30 minutes; Opus 5.5 keeps it five minutes unless you pay for an hour. The rule: if turns in a session are ever more than five minutes apart, buy the one-hour write. On a 200K context it costs $0.60 more than the five-minute write, and the first lapse it prevents would have cost a $1.00 rewrite, so it pays for itself at the first pause. Tight automated loops never pause and should keep five-minute writes.
An index is a blend. Ten evaluations averaged into one number. Your task is one thing, and the 28%-to-79% band will sit somewhere else for it.
How to price GPT-6 Sol against Claude Opus 5.5 on your own traffic
1. Find each model’s cheapest passing effort, separately. Start Sol at high and Opus 5.5 at
medium, then step down until your eval fails. Those starting points are where AA’s curves bend:
Sol gains 24 index points per extra dollar per task from medium to high and 8 from high to
xhigh; Opus 5.5 gains 11 from low to medium and 5 from medium to high. Compare the two
cheapest passing settings, never medium to medium. If Sol fails at every setting you tested,
the answer is Opus 5.5 regardless of price.
2. Map usage fields to the four lines. The two APIs do not report the same thing under the same name:
| Line | OpenAI Responses usage | Claude usage |
|---|---|---|
| Cache reads (R) | input_tokens_details.cached_tokens | cache_read_input_tokens |
| Cache writes (W) | input_tokens_details.cache_write_tokens | cache_creation_input_tokens |
| Uncached input (I) | input_tokens minus the two above | input_tokens |
| Output (O) | output_tokens (includes reasoning) | output_tokens |
OpenAI’s input_tokens already contains the cached and written tokens; its own guide computes
ordinary input as input_tokens - cached_tokens - cache_write_tokens. Claude’s input_tokens is
only “the tokens that come after the last cache breakpoint”. Add them up the same way on both and
you double-count Sol’s cache.
3. Measure R / O and count requests over 272K, per request. Below 272K a high ratio shrinks Sol’s advantage; above it, a ratio over 25 hands the advantage to Opus 5.5. The 30-day self-audit in the Fable 5.1 post pulls the Claude side straight from the response fields.
# USD per million tokens, list prices read 2026-09-23. Standard tier, no batch, no residency.
SOL = {"read": 0.20, "write": 2.50, "input": 2.00, "output": 10.00}
SOL_LONG = {"read": 0.40, "write": 5.00, "input": 4.00, "output": 15.00} # prompt > 272K: whole request
OPUS_55 = {"read": 0.20, "write": 5.00, "input": 4.00, "output": 20.00} # 5-minute cache writes
def lines_openai(u):
d = u["input_tokens_details"]
r, w = d["cached_tokens"], d["cache_write_tokens"]
return r, w, u["input_tokens"] - r - w, u["output_tokens"]
def lines_claude(u):
return (u["cache_read_input_tokens"], u["cache_creation_input_tokens"],
u["input_tokens"], u["output_tokens"])
def cost(rates, r, w, i, o):
return (r * rates["read"] + w * rates["write"] + i * rates["input"] + o * rates["output"]) / 1e6
def sol_cost(r, w, i, o):
return cost(SOL_LONG if r + w + i > 272_000 else SOL, r, w, i, o)
def opus_cost(r, w, i, o):
return cost(OPUS_55, r, w, i, o)
# One turn of a 400K session, default caching on both sides (new tokens written):
print(sol_cost(400_000, 5_000, 0, 3_000), opus_cost(400_000, 5_000, 0, 3_000)) # 0.23, 0.165Run lines_openai over your Sol logs and lines_claude over your Claude logs, then price each
set on both sheets. That holds token counts fixed, which step 1 says is false across models, so
use it for the shape of your traffic, not as a forecast.
4. Check the gaps between turns against the five-minute Opus 5.5 cache, using the rule above.
| If your workload is… | Likely cheaper | Why |
|---|---|---|
Passes at Sol medium or below | GPT-6 Sol | AA tested no Opus 5.5 setting that low; Sol medium is $0.25 a task |
| Needs an index score between 42.3 and 47.5 | GPT-6 Sol, at 28% to 79% of Opus 5.5 | Cheapest passing tiers in the target table |
| Needs above 47.5 | Claude Opus 5.5 | No Sol setting AA tested reaches it |
| Prompts regularly over 272K with R / O above 25 | Claude Opus 5.5 | Sol’s cache reads double past the line |
Which row you are in is set by where your eval starts failing, and that is the one number neither vendor and no index can give you.