OpenAI’s announcement for GPT-6 Sol and Luna is a cost-efficiency pitch: two cheaper models, API prices halved, and a set of charts showing them matching or beating Anthropic’s flagships for a fraction of the spend. Every effort setting is labelled and every caveat is printed. The caveats are where the interesting part sits.

The price cut and its baseline

Per million tokens, both models drop 50%:

Model Input Output
GPT-6 Sol $4 to $2 $20 to $10
GPT-6 Luna $0.20 to $0.10 $1.20 to $0.50

The comparison is stated precisely: “reducing API prices for Sol and Luna by 50% compared with their GPT-5.6 promotional pricing”. The baseline is a promotional rate rather than a standard list price, which OpenAI says plainly and which is easy to read past.

The AutomationBench row where the cost axis gives way

AutomationBench 1.0.6 tests agents on end-to-end business workflows using 47 tools across sales, marketing, operations, support, finance and HR. OpenAI’s summary table:

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 Opus 5 (max) 26.9% 11.1x Sol
Claude Fable 5.1 w/ Opus 5 fallback (max) 31.4% >8.9x Sol

Read the last row twice. Fable 5.1 scores 31.4%, the second-highest score on the chart and above OpenAI’s own Astra at low effort. Its cost multiplier is given as a greater-than sign, annotated “(fallback cost not reported)”. The chart footnote explains why: “The datapoint for Claude Fable 5.1 understates its actual cost, as it omits the cost of the Opus 5 fallbacks, which occurred on ~40% of tasks.”

So in an announcement whose entire thesis is cost per task, the cost of the nearest competitor is the one figure not reported. A model that falls back to a more expensive sibling on two tasks in five has a real per-task cost that nobody reading this chart can calculate. OpenAI discloses the hole rather than hiding it, which is to its credit, and the hole sits exactly where the comparison would be tightest.

Where OpenAI took the harder setting

The effort tiers do not all lean one way, and a fair reading has to say so. On AutomationBench, Sol runs at xhigh against Opus 5 and Fable 5.1 at max, their top setting: OpenAI handicapped itself there. On Agents’ Last Exam, Sol at max is compared against “Claude Opus 5’s highest score in the evaluation”, which is like for like.

The tiers tilt the other way elsewhere. On DeepSWE v1.1, Sol at max scores 68.8% against Claude Fable 5’s 69.9% at xhigh. On OSWorld 2.0, Sol at xhigh is set against Opus 5 at medium, 60.5% versus 60.3%. Luna at max is compared with Opus 5 and Fable 5 at medium.

Three comparisons put the OpenAI model at the higher tier, two put it at the lower, one is level. That is a mixed picture rather than a pattern, and any reading that presents it as systematic overstates it. What does hold across all of them is that the tier is a variable the reader has to track, and the headline sentence never carries it.

The competitor column was collected, not measured

Two disclosures near the end of the post do more work than anything in the charts:

“Evaluations of competitor models were taken from publicly available reports.”

“Scores for Claude Fable 5 were reported when scores for Claude Fable 5.1 were unavailable.”

The competitor numbers are therefore not from a harness OpenAI ran under its own conditions. They are assembled from other people’s published results, and in at least one case describe a different model version than the one the comparison names. The DeepSWE figure of 69.9% belongs to Fable 5, while the AutomationBench row concerns Fable 5.1. Both appear in the same announcement.

This is standard practice and OpenAI labels it. It also means the phrase “at approximately 80% lower cost per task” is comparing a measured OpenAI cost against a collected competitor cost, and those two things are not the same kind of number.

Two figures worth not repeating

The factuality result is quoted easily and misread easily. Sol “makes about half as many mistakes as its predecessor” on an internal evaluation built from de-identified ChatGPT conversations where users had already flagged a factual error from a prior model. OpenAI states the limit directly: “These error-inducing conversations are not representative of typical usage, where factual errors are more rare.” It is a measure of improvement on a hard adversarial slice, not a general accuracy rate.

The alignment results carry the same shape of caveat. Both models show “lower rates of misleading claims about their coding work” across categories including coding deception, reviewer bypass and warning circumvention, at maximum effort, on evaluations that “deliberately test challenging situations and do not measure failure rates in typical use”.

The caching change is the quiet part

Alongside the price cut, cached input-token reads now carry a 90% discount, with higher default cache hit rates and explicit breakpoints letting developers choose where a cached prefix ends. Reasoning effort and tool availability can change without invalidating the cache.

The supporting number comes from outside OpenAI: GitHub reports that these improvements “reduced the share of prompt tokens requiring fresh processing by more than 50% across billions of requests”. For an agent that re-sends a long context every turn, that compounds in a way a headline token price does not, and it is the least promoted item in the post.

What survives

Strip the comparisons and the durable facts are these. Two models at half their previous promotional price, available today as gpt-6-sol and gpt-6-luna in the API and in ChatGPT Work and Codex, though not yet in Chat. A 90% discount on cached reads with real cache controls. A disclosed methodology in which competitor numbers are collected from public reports and the closest competitor’s cost is acknowledged as understated.

For a sense of why the cost axis matters to OpenAI itself, the post mentions that internal daily token usage, valued at API prices, exceeds $600 for the median researcher and $7,000 at the 90th percentile. The company is optimising a bill it pays.