A cheaper cache rate is only one lever
Separate the base price, cache multiplier and achieved hit rate before comparing a whole workload.
AI-assisted learning visualization · schematic article explanation
Cached input can become cheaper because the base price fell, because the cache multiplier fell, or both. These are different changes even when the final read price matches.
The September 21–22, 2026 model releases invite a pricing comparison, but the vendor documents describe different events: Anthropic lowered every Opus 5.5 price line relative to Opus 5, especially cached input; OpenAI launched GPT-6 Sol and Luna with a 0.10× cached-input multiplier; and Google's Gemini API changelog records a TTS model launch, with no text-model repricing entry for those dates.123 Grok 4.7 launched at the same token prices as Grok 4.6.4 These are observations about the cited public price sheets and changelogs, not evidence of a coordinated market-wide price war.
Agent loops can send large volumes of repeated prefix tokens. Yet a high token share need not mean cache reads dominate the bill: in the illustrative 4-billion-token day below they account for 9.7–17.6% of cost, depending on the price card. Both fresh and cached input rates matter.
What the price sheets say, line by line
Verification is trivial and everyone doing this honestly should do it themselves: open the vendor pricing pages, read the four numbers per model — base input, cached input, cache write, output — and compute the ratios. Here is what that exercise yields for the Sept 21-22 window.
Anthropic, September 22, 2026 — the only real repricing1. Opus 5.5 launched against Opus 5 with every line down and one line down far more than the rest:
| Price-sheet line | Opus 5 | Opus 5.5 | Delta |
|---|---|---|---|
| Base input | $5 /MTok | $4 /MTok | −20% |
| Base output | $25 /MTok | $20 /MTok | −20% |
| Cache write (5-min) | $6.25 /MTok (1.25x) | $5 /MTok (1.25x) | −20% |
| Cache write (1-hour) | $10 /MTok (2x) | $8 /MTok (2x) | −20% |
| Cache read | $0.50 /MTok (0.10x) | $0.20 /MTok (0.05x) | −60% |
The context window is unchanged at 1M tokens, and a Fast mode tier runs at $8/$40 with up to 2.5x speed. Note the last row carefully: Anthropic's platform docs price cache reads at "0.1x base input" as the standard multiplier across the model line — Opus 5.5 explicitly breaks it down to 0.05x of its $4 base. That is the structural story of the whole window, and it is one vendor's move, not three.
OpenAI, September 22, 2026 — a launch, not a repricing2. GPT-6 Sol ($2/$10) and GPT-6 Luna ($0.10/$0.50) are new SKUs, priced against the GPT-5.6 promotional cards:
| Price-sheet line | GPT-5.6 Sol (promo) | GPT-6 Sol | Delta |
|---|---|---|---|
| Base input | $4.00 /MTok | $2.00 /MTok | −50% |
| Base output | $20.00 /MTok | $10.00 /MTok | −50% |
| Cached input | $0.40 /MTok | $0.20 /MTok | −50%, at 0.10x flat |
The cached-input line fell by 50% only because it is defined as 0.10x of base input, and base input fell by 50%. The multiplier itself is untouched — it was 0.10x before, it is 0.10x after. OpenAI's actual cache move that day was performance: a separate post, "Better prompt caching for GPT-6," announced higher default hit rates, cache discounts for eligible prefixes reused within a 30-minute window, explicit cache breakpoints, a caching dashboard, and miss diagnostics5. All of that changes how often the 0.10x rate applies. None of it changes the rate. And the headline "50% cheaper" is itself inexact on one line: Luna's output went $1.20 → $0.50, which computes to −58.3% — the marketing number is the Sol-and-input figure copied across the table2.
Google, September 21-22, 2026 — no price change3. The Gemini API changelog's only entry in the window is the September 22 TTS GA launch (Gemini 3.8 Flash TTS / Flash-Lite TTS GA) — a product launch, not a repricing. The changelog's latest price-relevant entries are dated August 13 and September 2, 2026 (flash-tier launches at introductory rates, scheduled to double on January 1, 2027). Any story that puts Google in the repricing window has merged the flash intro-rate story into a window it does not belong to. And the tempting fourth player — xAI's Grok 4.7, launched September 21 — launched at unchanged prices, "served at the same price and speed as Grok 4.6" in the vendor's own words4. A release is not a repricing.
So the accurate summary of the window, verified at the primaries: one repricing, one launch, one silence. The "three labs cut prices" line failed at each vendor by a different mechanism — which is exactly the kind of aggregation artifact worth understanding.
Why the cache-read line is the battlefield
The fleet economics make the targeting obvious. An agent loop re-sends its own conversation prefix on every tool call; on the self-reported anchor day we dissected previously — roughly 4B tokens for ~44 agents — some 75% of the tokens were cache reads of the fleet's own context, not fresh work6. A vendor that cuts the cache-read line by 60% is cutting the dominant line of exactly one customer class: people running agent fleets. A vendor that cuts list price 50% across the board cuts that line too — but discounting cached input is not a fleet-specific weapon; it is just arithmetic trailing the list price.
Run the actual day on each price card. Canonical shape, from the anchor decomposition6: 3.0B cache-read tokens, 0.9B fresh input tokens, 0.1B output tokens:
M = 1e6
shape = dict(cache_reads=3.0e9, fresh_in=0.9e9, output=0.1e9) # 4B total, 75% loop share
cards = {
"Anthropic Opus 5 (old)": dict(i=5.00, c=0.50, o=25.00),
"Anthropic Opus 5.5": dict(i=4.00, c=0.20, o=20.00),
"OpenAI GPT-5.6 Sol (promo)": dict(i=4.00, c=0.40, o=20.00),
"OpenAI GPT-6 Sol": dict(i=2.00, c=0.20, o=10.00),
"OpenAI GPT-6 Luna": dict(i=0.10, c=0.01, o=0.50),
"Google Gemini 3.8 Flash (intro)": dict(i=0.75, c=0.075, o=3.75),
}
for name, p in cards.items():
day = (shape["cache_reads"] / M * p["c"]
+ shape["fresh_in"] / M * p["i"]
+ shape["output"] / M * p["o"])
cr = shape["cache_reads"] / M * p["c"]
print(f"{name:34s} day=${day:,.0f} cache-read line=${cr:,.0f} ({cr/day:.1%})")Which prints, live against the cards above:
| Price card | Barrie-shaped day | Of which cache reads |
|---|---|---|
| Anthropic Opus 5 (old) | $8,500 | $1,500 |
| Anthropic Opus 5.5 | $6,200 | $600 |
| OpenAI GPT-5.6 Sol (promo) | $6,800 | $1,200 |
| OpenAI GPT-6 Sol | $3,400 | $600 |
| OpenAI GPT-6 Luna | $170 | $30 |
| Google Gemini 3.8 Flash (intro) | $1,275 | $225 |
Three price-sheet facts fall out of this table, and none of them is "three-way war":
- Same-shape deltas: Opus 5 → Opus 5.5 on the identical workload is −27.1% for the day ($8,500 → $6,200), deeper than the −20% list-price cut because cache reads fell 60% on the largest single quantity. GPT-5.6 Sol → GPT-6 Sol is exactly −50% for the day, because every line fell 50%. The 60% asymmetry is Anthropic-specific.
- Cross-vendor, the cards are not comparable unless you ignore quality: Opus 5.5's day is 1.82x GPT-6 Sol's, and each vendor prices capability families, not fungible tokens. Any "parity" claim past the cards themselves is marketing or press.
- The cache-read share is identical across the example cards with a 0.10× multiplier: on those cards the cache-read line lands at a fixed ~17.6% of the day (Opus 5: 8,500) because those cards share the same relative input, output, and cached-input rates for this workload —> the deliberate exception is Opus 5.5, where the 60% cache-read cut pulls the share to 9.7% (6,200); that exception is the fleet-targeted policy, and flat-0.10x cards cannot copy it without repricing the multiplier itself. That is precisely why the fleet market — the 75%-looping customer class — is where cache-read pricing decisions land hardest, and why a 0.05x multiplier is fleet-targeted policy.
The 0.05x deviation, quantified
Anthropic's own pricing docs price cache reads at "0.1x base input price" with model-specific exceptions spelled out (0.025x on Fable 5.1 and Mythos 5.1, and now 5% on Opus 5.5)1. Opus 5.5 is therefore not "20% cheaper Opus with a 10% multiplier" — a naive reading — but a deliberate halving of the fraction Opus-shaped agentic work pays on its echo:
# effective input multiplier at cache hit rate h: fresh pays 1.0x, hits pay the vendor's m
# effective = (1 - h) * 1.0 + h * m
for h in (0.50, 0.75, 0.90):
m05 = 1 - h + h * 0.05 # Opus 5.5
m10 = 1 - h + h * 0.10 # standard Anthropic / OpenAI multiplier
print(f"h={h:.2f}: 0.05x -> {m05:.3f} vs 0.10x -> {m10:.3f}, "
f"cache line {(m05/m10 - 1):+.1%}")- h = 0.50 → 4.5% deeper cut on the input line than a 0.10x card would give
- h = 0.75 → 11.5% deeper
- h = 0.90 → 23.7% deeper — at high hit rates, half the price on one quantity plus a rate break both apply
The deviation compounds with hit rate: at the looping fractions agent fleets actually run (0.75+), the 0.05x multiplier is worth an extra ~12% off the entire input line, on top of the 20% list cut. Flat 0.10x cards — every OpenAI SKU in this story, and the rest of Anthropic's own line — cannot follow that without repricing the multiplier itself.
Vendor rationale vs press warfare
The last decomposition layer is who said what. The vendors' statements are about cost-to-serve; the war is in the headlines.
Anthropic's stated rationale, verbatim: Opus 5.5 "requires less compute to serve than Opus 5, and its pricing reflects that. Our tests show that at default settings it will cost 40% less than Opus 5 on typical workloads."1 That is a cost-to-serve argument — and note the 40% is a workload estimate (cheaper tokens × fewer tokens × faster output), not a price-card delta. The honest price-card numbers are −20/−20/−20/−60, and the same-shape arithmetic above gives −27% on a standard agentic day, not 40%. Both can be true; only one is on the price sheet.
OpenAI's stated rationale, verbatim: "Improvements in caching and inference let us serve these models at lower cost, and we're passing those savings directly on to users and customers by reducing API prices for Sol and Luna by 50% compared with their GPT-5.6 promotional pricing."2 Also a cost argument — new models, cheaper to serve, priced accordingly — attached to new SKUs, not existing ones.
Google's cited changelog does not announce a text-model repricing in the window.3 xAI said prices were unchanged4.
The cited vendor materials support a narrower account: an Anthropic price cut relative to its predecessor, new OpenAI model price cards, and no Google text-model repricing entry on those dates.
Verdict, with the counterfactual stated honestly
What actually happened on September 21-22, 2026, decomposed:
- One repricing. Anthropic cut every Opus 5.5 line 20% and the cache-read line 60%, taking the multiplier to 0.05x — a structural, fleet-targeted change to the price the largest token quantity in agentic work pays.
- One launch. OpenAI shipped GPT-6 Sol and Luna at 50% below the GPT-5.6 promo cards (Luna output −58.3%), with the 0.10x cache multiplier untouched; its caching improvements change realized hit rates, not rates5. Luna's per-MTok day above shows how far the small card goes on a big loop-shaped day — with all the capability caveats a 4B-token fleet implies.
- No Google text-model repricing entry found. Google's cited changelog records a TTS product launch in the window, and the flash intro rates are older news3. Grok 4.7 launched at unchanged prices4.
And the honest counterfactual for the fleet operator: nothing in this window changed your workload shape. The per-token cost chain — the inference math of prefill, KV reuse, and decode — moved only at the billing layer, and the serving-engine landscape is where those costs really live. A fleet whose agents loop at 75% now pays 0.05x-per-tenth on the echo on one vendor, and 50% less per cached token on the other — the shape still decides the bill. Measure the hit rate, cap the loop depth, price the day against the card — and read "price war" headlines the way you read any aggregation of one event, one launch, and a silence: as a compression artifact, not a quote.
Footnotes
Footnotes
-
Anthropic, "Introducing Claude Opus 5.5," September 22, 2026 — price table (input $4, output $20, cache writes $5, cache reads $0.20/MTok), the −60% cache-read claim, Fast mode $8/$40 at up to 2.5x speed, and the rationale quote "requires less compute to serve than Opus 5... will cost 40% less than Opus 5 on typical workloads": https://www.anthropic.com/claude-opus-5-5 — with the full model pricing and cache multipliers (standard 0.1x read; 1.25x/2x writes; 0.05x read on Opus 5.5 explicitly): https://platform.claude.com/docs/en/about-claude/pricing ↩ ↩2 ↩3 ↩4
-
OpenAI, "Introducing GPT-6 Sol and Luna," September 22, 2026 — the $4→$2/$20→$10 (Sol) and $0.20→$0.10/$1.20→$0.50 (Luna) tables, the "reducing API prices... by 50%" and "passing those savings directly on" quotes: https://openai.com/index/introducing-gpt-6-sol-and-luna/ — live API pricing with cached input at flat 0.10x of list: https://developers.openai.com/api/docs/pricing ↩ ↩2 ↩3 ↩4
-
Google AI Gemini API pricing and changelog, retrieved September 25, 2026 — flash-tier introductory rates ($0.75 input / $0.075 cached through December 31, 2026, doubling January 1, 2027) and the changelog whose latest pricing-relevant entries are dated August 13 and September 2, 2026 (Gemini 3.8 Flash GA), whose only entry in the September 21-22, 2026 window is the September 22 TTS GA launch (Gemini 3.8 Flash TTS / Flash-Lite TTS GA — a product launch, not a repricing): https://ai.google.dev/gemini-api/docs/pricing and https://ai.google.dev/gemini-api/docs/changelog ↩ ↩2 ↩3 ↩4
-
xAI, Grok 4.7 announcement, September 21, 2026 — launched at the same price and speed as Grok 4.6, i.e. no repricing shipped: https://x.ai/news/grok-4-7 ↩ ↩2 ↩3 ↩4
-
OpenAI, "Better prompt caching for GPT-6," September 22, 2026 — higher default cache hit rates, 30-minute reuse window for eligible shared prefixes, explicit breakpoints, Prompt Caching Dashboard and miss diagnostics, "discounts of up to 90% on cached input tokens," and mid-conversation reasoning-effort changes that preserve cache: https://openai.com/index/better-prompt-caching-for-gpt-6/ ↩ ↩2
-
Flozi TechHub, "Agent-Fleet Token Economics Is Cache Economics" — the Barrie anchor day (~44 agents, ~4B tokens, ~$1,300, 75% cache-read share) decomposed against live price sheets, with the hit-rate cost multiplier
1 − 0.9 × h: https://flozi.net/en/guides/ai/agent-fleet-cost-cache-elasticity ↩ ↩2