On September 22, 2026, Anthropic shipped Claude Opus 5.5 and OpenAI shipped GPT-6 Sol on the same day. OpenAI’s flagship, GPT-6 Astra, had landed three weeks earlier.
If you tried to pick one from the launch posts, you probably noticed the problem: nobody compared against the right opponent. Anthropic’s table compares Opus 5.5 with GPT-6 Astra and the previous GPT-5.6 Sol. OpenAI’s Sol post compares with Claude Opus 5 and Fable 5.1, not Opus 5.5. Every chart is technically true and none of them answers “which one should I call from my code today?”
So I went to Artificial Analysis (AA), which ran all three through the same ten evaluations at every reasoning-effort level, and did the cost math.
TL;DR
- Raw intelligence: Opus 5.5 (max) scores 58 on AA’s Intelligence Index. Astra (max) scores 53, Sol (max) 48.
- List price: Sol is cheapest per token, Astra is 2.5x Opus 5.5.
- Per-task cost flips the ranking: at max effort Opus 5.5 emits ~4x more output tokens than Astra, so Opus max ($5.98/task) costs more than Astra max ($3.26/task).
-
The useful finding: below ~$1.30 per task, Sol and Astra trade the lead. Above ~$1.30, Opus 5.5 is on top at every budget. Opus 5.5 at
high($1.82) outscores Astra atmax($3.26). - The effort setting moves your bill more than the model choice does.
1. The price sheet (and its fine print)
Per 1M tokens, standard tier, as of September 23, 2026:
GPT-6 Sol GPT-6 Astra Claude Opus 5.5 Input $2.00 $10.00 $4.00 Output $10.00 $50.00 $20.00 Cache read $0.20 $1.00 $0.20 Cache write $2.50 $12.50 $5.00 (5 min) / $8.00 (1 h) Prompt > 272K input tokens 2x input & cache, 1.5x output, whole request same as Sol no surcharge up to 1MTwo things developers tend to miss:
- Sol and Opus 5.5 have the same cache-read price. Anthropic says cache reads make up the majority of agentic and coding costs. The more your agent re-reads a cached prefix, the less the 2x headline gap matters.
- OpenAI’s long-context surcharge applies to the entire request, not just the tokens past 272K. For a cache-heavy, long-context agent, Opus 5.5 can end up cheaper than Sol per request.
Also: tokenizers differ between vendors (Anthropic itself notes its newer tokenizer produces roughly 30% more tokens for the same text than its older one). Per-token prices are not a common currency. Compare cost per task instead.
2. Tokens per task is the hidden multiplier
At max effort on AA’s suite, Opus 5.5 emits ~119k output tokens per task. Astra emits ~27k, Sol ~31k. That’s why Astra, at 2.5x Opus’s per-token price, still comes out cheaper per task at the top settings.
Here’s the full grid from AA (Intelligence Index score / estimated USD per task):
effort GPT-6 Sol GPT-6 Astra Claude Opus 5.5 low 34 / $0.13 46 / $0.82 42 / $0.55 medium 40 / $0.25 50 / $1.54 51 / $1.34 high 43 / $0.37 51 / $1.73 54 / $1.82 xhigh 44 / $0.53 52 / $2.31 56 / $3.46 max 48 / $1.06 53 / $3.26 58 / $5.98Note that Opus 5.5 is cheaper than Astra at low and medium, roughly equal at high, and more expensive at xhigh and max.
3. Buy intelligence by the dollar
The question I actually care about: for a given per-task budget, which (model, effort) pair gives the highest score? That’s a tiny script:
# Artificial Analysis Intelligence Index v4.3.2 (Sept 22, 2026): (score, est. USD per task)
AA = {
("gpt-6-sol", "low"): (34, 0.13), ("gpt-6-sol", "medium"): (40, 0.25),
("gpt-6-sol", "high"): (43, 0.37), ("gpt-6-sol", "xhigh"): (44, 0.53),
("gpt-6-sol", "max"): (48, 1.06),
("gpt-6-astra", "low"): (46, 0.82), ("gpt-6-astra", "medium"): (50, 1.54),
("gpt-6-astra", "high"): (51, 1.73), ("gpt-6-astra", "xhigh"): (52, 2.31),
("gpt-6-astra", "max"): (53, 3.26),
("claude-opus-5-5", "low"): (42, 0.55), ("claude-opus-5-5", "medium"): (51, 1.34),
("claude-opus-5-5", "high"): (54, 1.82), ("claude-opus-5-5", "xhigh"): (56, 3.46),
("claude-opus-5-5", "max"): (58, 5.98),
}
def best_under(budget_usd: float):
"""Highest-scoring (model, effort) whose estimated cost fits the per-task budget."""
affordable = [(score, -cost, cfg) for cfg, (score, cost) in AA.items() if cost <= budget_usd]
if not affordable:
return None
score, neg_cost, cfg = max(affordable) # ties go to the cheaper config
return cfg, score, -neg_cost
for budget in (0.25, 0.60, 0.90, 1.10, 1.40, 2.00, 4.00, 6.00):
print(f"${budget:.2f} ->", best_under(budget))
Enter fullscreen mode Exit fullscreen mode
Output:
$0.25 -> (('gpt-6-sol', 'medium'), 40, 0.25)
$0.60 -> (('gpt-6-sol', 'xhigh'), 44, 0.53)
$0.90 -> (('gpt-6-astra', 'low'), 46, 0.82)
$1.10 -> (('gpt-6-sol', 'max'), 48, 1.06)
$1.40 -> (('claude-opus-5-5', 'medium'), 51, 1.34)
$2.00 -> (('claude-opus-5-5', 'high'), 54, 1.82)
$4.00 -> (('claude-opus-5-5', 'xhigh'), 56, 3.46)
$6.00 -> (('claude-opus-5-5', 'max'), 58, 5.98)
Enter fullscreen mode Exit fullscreen mode
Plotted as “best score you can buy at each budget”:
-
Under ~$1.30/task: Sol owns most of the range. Astra
lowwins a narrow band around $0.82–$1.05. - Over ~$1.30/task: Opus 5.5 leads everywhere (it ties Astra once, briefly, at score 51).
- Sol tops out at 48 and Astra at 53. Past those points, paying more buys nothing.
At 10,000 tasks a month, this stops being academic:
Opus 5.5 high scores one point above Astra max and costs $14,400/month less in this illustration. Also note the gap between Opus 5.5 medium and max: about 4.5x the cost for 7 more points.
4. Benchmarks have referees
Anthropic’s launch table shows Opus 5.5 at 66.4% on Terminal-Bench 4.0 vs Astra at 57.9%. The footnotes matter: Opus ran at xhigh in Anthropic’s setup, and Astra’s number is OpenAI’s own figure at high.
When AA ran both in the same harness:
59.6% vs 59.6%. A tie. This is the same lesson as Astra’s ARC-AGI-3 score, which ARC Prize reported as 99.9% with a provider-specific harness and 62.7% with the standard one. Vendor tables are drawn under each vendor’s best conditions. Read the footnotes, and prefer third-party runs that hold the harness constant.
5. Where each model actually wins
From AA at max effort:
GPT-6 Sol GPT-6 Astra Claude Opus 5.5 Terminal-Bench 4.0 43.9% 59.6% 59.6% AutomationBench-AA 61.6% 69% 69.5% GDP.pdf (professional documents) 24.8% 31% 26.2% Hallucination rate (lower is better) 60.1% 51% 58.6% GDPval-AA (44 occupations, Elo) 1487 1542 1846- Opus 5.5 is far ahead on knowledge work (GDPval-AA is a ~300 Elo lead over Astra). AA’s industry sub-indexes agree: finance, legal, and economics all favor Opus.
- Astra leads on document reasoning and hallucinates least. In the vendors’ own tables it also leads on Terminal-Bench Science (64.6% vs 58.7%, per Anthropic’s table).
- Astra has several claims Opus 5.5 simply hasn’t been measured on: FrontierMath Tier 4 (97.6%), ScreenSpot-Pro (92.7%), MRCR v2 at 512K–1M (96.3%), ExploitBench (100%). No number means no verdict either way.
- Sol is the fast, cheap one. It isn’t built to win this table.
6. Latency
AA, all at medium effort:
For a user-facing chat UI, Sol at medium is in a different league. Crank Astra to max and you’re waiting over five minutes for the first answer token.
7. Integration gotchas
-
Opus 5.5 can’t run with thinking disabled. Effort is your only depth control. Sol offers a
nonereasoning setting (though AA found Sol’s non-reasoning mode scored lower and cost more per task thanlow). - Opus 5.5 routes some requests to other models. When its safeguards trigger, most cybersecurity tasks are handled by Claude Opus 4.8. AA’s numbers were measured with this default fallback on.
- Astra is rated “Critical” for cyber capability under OpenAI’s Preparedness Framework. It currently refuses advanced tasks like proof-of-concept exploits, and OpenAI’s misalignment monitoring can stop a task outright in the API.
- Mind the 272K line on OpenAI models. A prompt at 280K tokens is billed very differently from one at 270K.
8. A routing recipe you can steal
-
Default to Opus 5.5
mediumfor knowledge work and hard agent tasks. It beats Sol’s best score and matches Astrahigh, for less. -
Escalate to Opus 5.5
highonly when a task fails your acceptance check, rather than starting atmax. - Send high-volume, well-specified work to Sol (classification, extraction, first-line support), especially if latency matters.
- Keep Astra in the pool for document-heavy reasoning, low-hallucination requirements, science and GUI-heavy work, and verify on your own tasks.
Then measure the only metric that matters, cost per shipped output, including human fix time:
from dataclasses import dataclass
@dataclass(frozen=True)
class Config:
name: str
cost_per_attempt: float # USD, measured on YOUR tasks
accept_rate: float # share of outputs you actually ship
fix_minutes: float # human repair time per shipped output
def cost_per_accepted(cfg: Config, hourly_rate: float = 60.0) -> float:
model_cost = cfg.cost_per_attempt / cfg.accept_rate
human_cost = cfg.fix_minutes / 60 * hourly_rate
return model_cost + human_cost
# Hypothetical numbers, just to show the shape of the math
for cfg in (
Config("cheap config", cost_per_attempt=0.25, accept_rate=0.60, fix_minutes=12),
Config("pricier config", cost_per_attempt=1.34, accept_rate=0.85, fix_minutes=4),
):
print(f"{cfg.name:>15}: ${cost_per_accepted(cfg):.2f} per shipped output")
Enter fullscreen mode Exit fullscreen mode
cheap config: $12.42 per shipped output
pricier config: $5.58 per shipped output
Enter fullscreen mode Exit fullscreen mode
With any realistic hourly rate, human review time dominates the model bill. That is exactly why the “cheapest model” and the “cheapest workflow” are often different things.
Caveats
- AA’s tasks are not your tasks. Treat the scores as a map, not a forecast.
- Costs are AA’s estimates, including typical cache-hit rates.
- A few per-benchmark values above are rounded integers as AA published them.
- AA re-based its index since Astra launched (v4.1.1 → v4.3.2). Scores from different versions aren’t comparable.
Sources
- Anthropic, Introducing Claude Opus 5.5 and Pricing
- OpenAI, Introducing GPT-6 Sol and Luna, GPT-6 Astra, GPT-6 Sol model page, GPT-6 Astra model page
- Artificial Analysis, Opus 5.5 vs Astra, Sol vs Opus 5.5, Benchmarking GPT-6 Astra, Opus 5.5 article, Sol and Luna article
Disclosure: I researched and drafted this with help from Claude, which makes Anthropic a party to this comparison. Every figure comes from Artificial Analysis or the vendors’ own pages, linked above.
- Qiita (Japanese): https://qiita.com/GeneLab_999
- Zenn (Japanese): https://zenn.dev/genelab_999
- YouTube: https://www.youtube.com/@geneLab_999
- X: https://x.com/geneLab_999




