Cafiyn Pulse
← Startup Signals
7 min readUpdated 2026-09-25Issue 4

OpenAI and Anthropic both cut prices on 22 September. One of them costs you a refactor.

Two frontier price cuts in one day is a good week for anyone paying a token bill. The migration cost is not evenly distributed, and one of the two prices comes with an expiry hedge.

ByKarthik KumarCafiyn Innovations
At a glance
GPT-6 Sol
$2 input, $0.20 cached, $10 output per 1M, up to 272K input tokens
GPT-6 Luna
$0.10 input, $0.01 cached, $0.50 output per 1M
GPT-5.6 Sol, for comparison
$4 input, $0.40 cached, $20 output
Claude Opus 5.5
$4 input, $20 output, cache hits $0.20
Claude Opus 5
$5 input, $25 output
Migration cost
GPT-6: an eval run. Opus 5.5: three request shapes now return 400

What each lab actually published

OpenAI released GPT-6 Sol and GPT-6 Luna on 22 September. Both accept text and image input and return text, through the Responses and Chat Completions APIs. Standard pricing per million tokens, for prompts up to 272K input tokens, is $2 input, $0.20 cached input and $10 output for Sol, and $0.10 input, $0.01 cached input and $0.50 output for Luna.

The same day Anthropic released Claude Opus 5.5 at $4 and $20 per million tokens, against Opus 5 at $5 and $25. It comes with a 1M token context window by default, 128k maximum output tokens, and always-on adaptive thinking. Anthropic says the model will cost 40 percent less than Opus 5 on typical workloads at default settings, a larger figure than the 20 percent list price cut because it also claims token efficiency gains, and that it generates output more than 30 percent faster.

One detail in the Anthropic pricing is easy to miss and worth real money on agentic workloads. Cache hits on Opus 5.5 are priced at 0.05x the base input price rather than the usual 0.1x multiplier, which puts a cache hit at $0.20 per million tokens. Anthropic describes that as 60 percent less than Opus 5.

The 272K cliff

The GPT-6 prices above are the short context rates. Above 272K input tokens, different numbers apply: GPT-6 Sol moves to $4 input, $0.40 cached and $15 output, and GPT-6 Luna to $0.20, $0.02 and $0.75.

Note the shape of that change. Input and cached input double, but output rises by half, not double. It is a common mistake to describe long context pricing as a doubling across the board, and it produces a budget that is wrong in both directions depending on how output-heavy your workload is.

If your prompts sit anywhere near 272K, this is worth a guard in code rather than a note in a spreadsheet. Count tokens before the call and decide deliberately whether a given request is worth crossing the threshold.

Three ways Opus 5.5 returns a 400

The Anthropic cut is not a model id swap. The release notes list three request shapes that now fail outright, and a failure here is an HTTP 400, not degraded output.

First, thinking is always on, and the thinking field is rejected in both its forms. Sending thinking with type disabled returns a 400, and so does sending it with type enabled. The fix is to omit the field entirely and control thinking depth with the effort parameter instead.

Second, tool_choice types any and tool return a 400, as they already did on Claude Fable 5.1. Anthropic points you at auto with strict tool use. If you currently force a tool call to guarantee a structured response, that is a real refactor rather than a config change, because you are replacing a hard guarantee with a softer one and need to handle the case where the model answers in prose.

Third, computer use on this model requires the computer_toolset_20260801 toolset on the Claude API and on Google Cloud, where the earlier computer_20251124 tool returns a 400. On Amazon Bedrock, computer_20251124 keeps working, so the same code can pass on one platform and fail on another.

The word OpenAI used, and the word Google did not

Read what each provider commits to. OpenAI explicitly labels GPT-5.6 Sol's price as promotional, available at least through 21 November 2026. That phrasing is a floor, not a ceiling, and it tells you the number is a decision the provider can revisit. Nothing on OpenAI's changelog or pricing page describes GPT-6 Sol or Luna pricing as promotional or introductory.

Google's pricing page does something different again. It carries no word like introductory anywhere, and simply lists two prices with a date between them: Gemini 3.6, 3.7 and 3.8 Flash go from $0.75 to $1.50 input and $3.75 to $7.50 output on 1 January 2027. A scheduled increase stated as plainly as that is arguably more honest than a promotional label, and it is certainly easier to budget against.

The broader point for anyone building a business on tokens: a price with a stated end date is a different product from a price without one. Treat the first as a promotion you are borrowing and the second as a number you can plan on, and check which kind you are standing on before you quote a customer a margin.

A sane way to act on a week like this

Two frontier cuts in one day is unusual and it is tempting to reroute everything immediately. The cheaper move is to treat a price change as a prompt to run the eval you already have, not as a reason to rebuild routing.

  • Re-run your existing eval set against the cheaper model rather than trusting a vendor's workload claim, especially the 40 percent figure, which depends on workload shape
  • Search your codebase for tool_choice values of any and tool, and for any thinking field, before pointing traffic at Opus 5.5
  • Add a token count guard at 272K if you use GPT-6 and send long prompts
  • Check whether your cache hit rate is high enough for the 0.05x multiplier on Opus 5.5 to matter, because on agentic workloads it often dominates the headline rate
  • Write down which of your prices carry a stated end date, and diary those dates

What to do

  1. 1Re-run your own evals against GPT-6 Luna for high-volume classification, extraction and routing work.
  2. 2Before migrating to Opus 5.5, grep for tool_choice any, tool_choice tool, and the thinking field.
  3. 3Replace forced tool calls with auto plus strict tool use, and handle the prose fallback path.
  4. 4Add a guard at 272K input tokens if you use GPT-6 with long prompts.
  5. 5Diary 21 November 2026 for GPT-5.6 Sol promotional pricing and 1 January 2027 for Gemini Flash.

Common questions

How much do GPT-6 Sol and GPT-6 Luna cost?

For prompts up to 272K input tokens, GPT-6 Sol is $2 input, $0.20 cached input and $10 output per million tokens. GPT-6 Luna is $0.10 input, $0.01 cached input and $0.50 output. Above 272K, Sol is $4, $0.40 and $15, and Luna is $0.20, $0.02 and $0.75.

How much does Claude Opus 5.5 cost?

$4 per million input tokens and $20 per million output tokens, against $5 and $25 for Opus 5. Cache hits are $0.20 per million, because Opus 5.5 prices cache hits at 0.05x base input rather than the usual 0.1x.

Is Claude Opus 5.5 a drop-in replacement for Opus 5?

No. Three request shapes return a 400 error: the thinking field in either its enabled or disabled form, tool_choice types any and tool, and the computer_20251124 computer use tool on the Claude API and Google Cloud. On Amazon Bedrock the older computer use tool still works.

Why does Anthropic claim 40 percent when list prices fell 20 percent?

The list price cut is 20 percent on both input and output. Anthropic says its tests show 40 percent lower cost on typical workloads at default settings, with the difference coming from token efficiency rather than from the per-token rate. That figure depends on workload shape, so it is worth measuring on your own traffic.

Is GPT-6 pricing promotional?

Nothing on OpenAI's changelog or pricing page describes GPT-6 Sol or Luna pricing as promotional or introductory. GPT-5.6 Sol is separately described as promotional, available at least through 21 November 2026.

Sources

Read against the primary documentation rather than secondary coverage. Where a figure comes from a provider's own docs, it is quoted as published on 2026-09-25.

Related

More from Signals

A 9.5 in next/og. Whether it reaches you depends on one line in your OG route.
The advisory rates it 9.5, but it only fires if your OG image route puts attacker-controlled text into SVG. Here is how to find out which side of that line you are on.
A package install reads your home directory. This week two of them did it on purpose.
The implant did nothing clever. It read the files your shell reads, in the place your credentials live, and sent them somewhere else. That is the whole attack, and it works.
GitHub is switching off SHA-1 SSH keys. Find out now whether yours is one of them.
The keys at risk are the old ones, on the machines nobody logs into, in the pipelines that have run untouched for three years. Those are also the ones that will fail loudest.
Every third-party script tag is a standing grant to run code on your visitors.
A marketing form, a chat widget, an analytics snippet. Each one is permission for someone else's server to execute whatever it sends, on every page it sits on, forever.
1.8 million Android apps were scanned for hardcoded keys. Here is how to check yours.
Finding secrets in shipped apps is now a cheap, automated pipeline. Anything compiled into an APK, an IPA or a JavaScript bundle should be treated as already published.
OpenAI's Agents API will hold your agent state. What breaks if you ever need to leave.
Two major providers moved into the agent state layer in the same week. A managed harness is a real shortcut, as long as you keep a copy of what it holds.
Meta's Muse agent can now check out at your store. What merchants should change.
Agent purchases are arriving through wallets and single-use cards, not through merchants adopting a new protocol. Many merchants will receive them without choosing to.
What Brevo's SSO incident teaches about multi-tenant SAML and hijacked sending accounts.
One incident, two lessons: why email authentication did not help, and the tenant-scoping mistake anyone shipping SSO can make.
Cloudflare now sorts bots into Search, Training and Agent. What it means for your site and your agent.
The same change lands on two audiences. Site owners can now accidentally block search; agent builders will find more doors closed.
OpenAI has published seven shutdown dates. Here is the calendar.
Seven dates between 23 October and 26 February. Every one announced months ahead, in public. The failure mode is never the notice.
Nvidia bought Hugging Face. Your open-weight fallback is now a vendor relationship.
The commitments say nothing breaks. The structural change is that "we can always self-host" is now a dependency on one vendor rather than on a neutral commons.
The Videos API goes away on 24 September and OpenAI names nothing to move to.
Every other deprecation on OpenAI's page offers a migration target. This one does not, which makes it a different kind of problem.
Whisper shuts down on 26 February. The risk is not the deadline.
Five months is a generous window. Whisper is also typically wired into a background job that fails into a queue rather than into a user's face.
The Assistants API is gone. Your app may not have told you yet.
It shut down on 26 August 2026. The replacement is not a drop-in, and the most common migration mistake changes your model's behaviour without throwing an error.
One Copilot code review costs 13 requests. Here is the rest of the maths.
Copilot now bills on usage rather than seats. The headline change is simple. The multipliers underneath it are where teams get surprised.
Row-level security is on by default now. That is not the same as being protected.
Lovable fixed the default. The gap that actually leaks data was never the default, it was the policy, and no platform can write that for you.
Your model comparison is measuring the wrong number.
Every price list is per token. Your bill is per finished piece of work. Those two numbers can rank models in opposite orders.
An agent with production log access is a new identity. Treat it like one.
Always-on agents that read production logs are arriving fast. The access-control question they raise is old and well understood, which is the good news.

Open the tool.

Ten production categories, three minutes, and a ranked list of what to fix first.

Check your own stack