Skip to content

AI Economics

The Token Price Collapse: What Half-Price Frontier AI Actually Changes

The Maths That Changes What You Build

📉 🪙 💰

When GPT-5.6 Sol landed on 9 July 2026 at half the price of Claude Fable 5, most of the coverage treated it as a scoreboard update. It isn't. A 50% price cut doesn't make the same projects cheaper — it makes a whole category of projects exist that didn't before.

I've spent two weeks re-costing my own pipelines against the new numbers. Here's what actually moved.

The four prices that matter (not one)

Everyone quotes the headline in/out rate and stops. There are four rates, and the two nobody quotes are where the money is:

                  input    output   cached in   batch in/out
GPT-5.6 Sol       $5       $30      $0.50       $2.50 / $15
Claude Fable 5    $10      $50      $1.00       $5.00 / $25
                  per 1M tokens

Cached input is 10× cheaper than fresh input on both providers. Batch is 50% off again on both. Stack those two discounts against the cheaper base rate and the spread between a naive integration and a tuned one is roughly 20× — far bigger than the gap between the two vendors.

Which means the interesting question was never "which model is cheaper". It's "am I paying the fresh-input, real-time rate for work that could be cached and batched".

The workload that just flipped

Concrete example from this site. I wanted every one of ~880 blog posts audited for a weak meta description, a missing FAQ block, and a heading structure that doesn't match the target keyword. Call it 4k input tokens per post and 800 output.

880 posts x 4,000 in  = 3.52M input tokens
880 posts x   800 out = 0.70M output tokens

Fable 5, real-time:  3.52 x $10  + 0.70 x $50  = $70.20
Sol, real-time:      3.52 x $5   + 0.70 x $30  = $38.60
Sol, batch:          3.52 x $2.50 + 0.70 x $15 = $19.30

$70 versus $19. At $70 I think about it, scope it down to the top 100 posts, and do it once. At $19 I run it every month and stop thinking about it. That's not a discount — it's a different habit.

And this is a small corpus. Scale it to a real content operation, a support-ticket backlog, or a product catalogue and the same flip happens at every size.

The money pattern: a provider adapter you write once

You cannot exploit any of this if your model choice is hard-coded across forty files. The single highest-ROI thing in your AI stack is a boring adapter with one job: make the model a config value.

// lib/ai.ts — one seam, two providers, zero call-site churn
type Job = { system: string; user: string; batch?: boolean };

const ROUTES = {
  cheap:   { provider: 'openai',    model: 'gpt-5.6-luna' },
  default: { provider: 'openai',    model: 'gpt-5.6-sol'  },
  careful: { provider: 'anthropic', model: 'claude-fable-5' },
} as const;

export async function run(tier: keyof typeof ROUTES, job: Job) {
  const { provider, model } = ROUTES[tier];
  return provider === 'openai'
    ? openai(model, job)
    : anthropic(model, job);
}

Now a price change, a new release, or a bad week from one vendor is a one-line edit. I've re-pointed this seam twice in 2026 and neither move touched a single call site.

The second half of the pattern is tiering by task, not by vibe. Most calls in a real system are not hard:

  • cheap — "did anything in this log look like an error?", classification, tagging, extraction. A small model nails these and costs a rounding error.
  • default — the actual work. Drafting, refactoring, multi-step agent turns.
  • careful — irreversible or expensive-if-wrong. Migrations, money, anything customer-facing that ships unreviewed.

I audited my own usage and found I'd been running the flagship on tasks a small model handles perfectly — watching a dev-server log for the strings error|failed|cannot|undefined. That's a grep with opinions, and it belongs on a cheap always-on watcher. It does not need a frontier model, and paying frontier rates to stare at a file is the most common waste I see in AI stacks.

Prompt caching is the discount you're probably leaving on the table

Agentic sessions re-send an enormous, near-identical prefix every turn: system prompt, tool definitions, project rules, repo context. Fresh, that prefix is full price on every single turn. Cached, it's a tenth.

Two rules to actually get the hit rate:

Put the stable stuff first, the volatile stuff last. Caches match on prefix. One changing token near the top invalidates everything after it. So: system prompt → tool defs → project rules → retrieved docs → then the user's turn. If you're injecting a timestamp or a request ID at the top of your system prompt, you have a 0% cache hit rate and a very expensive bug.

Keep the prefix byte-identical. Rebuilding the prompt with a different key order, a re-serialised JSON blob, or a trailing-whitespace difference reads as a different prefix. Serialise it once, deterministically, and reuse the string.

The catch: cheaper tokens invite more tokens

Here's the trap, and I walked straight into it. When the marginal cost of a model call drops, the discipline to not make the call drops with it. I caught myself spinning up parallel sub-agents for work that was one grep, and leaving verbose agents running because "it's only a few cents".

Two guardrails that fixed it for me:

Compress the comms. My default output mode is deliberately terse — abbreviations, arrows for causality, fragments, one word where one word does, full technical accuracy preserved. It cuts roughly 75% of output tokens, and output is the expensive side of the ledger at 6× input. The biggest single win is right before dispatching parallel sub-agents, because their output flows back into the main context and gets re-billed as input on every subsequent turn.

Cap the loop. An agent with a cheap model and no iteration ceiling is a subscription to nothing. Hard-limit turns per task and make the model report what it couldn't finish, rather than discovering the spend afterwards.

There's a structural version of this too: inference is a variable cost that scales with usage. More success means more GPU spend. That's a utility's margin profile, not a software company's — which is why the price war has further to run and why nobody's premium is safe.

The verdict

Half-price frontier tokens don't make your existing AI features cheaper so much as they change your threshold for what's worth automating at all. The corpus-wide audit, the nightly content pass, the "re-check every record" job you shelved on cost — go back and re-run the numbers, because a lot of shelved ideas are now $20 jobs.

Then do the three unglamorous things: put a provider adapter behind your calls, route by task tier instead of habit, and order your prompts so the cache actually hits. Those three outlive whichever model is winning this quarter — and something will be winning next quarter.

Cheap tokens are only cheap if you're not paying flagship rates to watch a log file.

Want your AI spend audited and a provider-agnostic layer wired in so you can swap models on a config change? Get in touch, or browse the work first.

Let us make some quick suggestions?
Please provide your full name.
Please provide your phone number.
Please provide a valid phone number.
Please provide your email address.
Please provide a valid email address.
Please provide your brand name or website.
Please provide your brand name or website.