saturday, september 5, 2026 · the day's ai, attributed published by trilot llc · wyoming
guide · working with ai

Price-proofing an AI API bill you don't control

Vendor prices move on schedules you don't set. Learn what actually sets your per-token rate, and the four levers that are genuinely yours.

Published 2026-09-05 · Updated 2026-09-05 · Read 9 min · Reviewed by Rami Steitieh

Verified 2026-09-05 · Rami
on this page · 0 / 0 checked

You picked a model, copied its per-token rate into a spreadsheet, and shipped. Some months later the invoice moved and nothing in your code had changed. The rate on the pricing page changed, or the model you were calling got retired and the replacement is priced differently, or your prompts grew past a length threshold and a surcharge switched on. None of those are billing errors. All three are published policy, sitting on pages you stopped reading after the first week.

This guide is for solo operators and small teams paying an API bill directly, on published list prices, with no negotiated contract. If you are on a committed-spend agreement, your rates are whatever your contract says and most of this does not apply. If your AI spend is a per-seat subscription rather than metered tokens, this also does not apply, because seat pricing hides the thing this guide is about. What follows is the short version of where the number comes from, which parts of it you can move, and which parts belong to the vendor’s hardware and are never going to be yours.

The price on the page usually has a date attached to it

Google’s Gemini API pricing page currently lists Gemini 3.8 Flash at $0.75 per million input tokens and $3.75 per million output tokens, with the qualifier “through December 31, 2026”, followed by $1.50 and $7.50 starting January 1, 2027 [1]. The same doubling applies to Gemini 3.7 Flash and 3.6 Flash, and to the model’s context caching rate, which goes from $0.075 to $0.15 per million [1]. OpenAI dates its numbers too, without printing a successor: the page says gpt-5.6-sol’s promotional pricing is available “at least through November 21, 2026”, which tells you when to look again rather than what you will pay [3].

That is the first habit worth building. The number on a pricing page is a quote with an expiry, and the expiry is usually printed right next to it in smaller text. Read the footnote, not just the figure.

It also means vendor comparisons have a shelf life measured in months. Today, Gemini 3.8 Flash at $0.75 input is cheaper than Claude Haiku 4.5 at $1 per million input [1][2]. On January 1 it is $1.50 and it is the more expensive of the two, without either company announcing anything new [1][2]. If you built a routing decision on a spreadsheet in the spring, the spreadsheet has an opinion about January that you never gave it.

Output tokens are where the bill actually lives

Every major vendor charges several times more for tokens the model writes than for tokens you send. Gemini 3.8 Flash is 5x, at $0.75 in against $3.75 out [1]. Claude Sonnet 5 is 5x, at $2 in against $10 out, and Claude Fable 5.1 is 5x at $10 against $50 [2]. OpenAI’s gpt-5.6-terra is 6x, at $2 in against $12 out, and gpt-6-astra is 5x at $10 against $50 [3].

Work the arithmetic on a realistic call and the asymmetry gets loud. A request to Gemini 3.8 Flash with 4,000 input tokens and 600 output tokens costs $0.003 for the input and $0.00225 for the output at current rates [1]. The output is 13% of the tokens and 43% of the cost. Doubling your system prompt is cheap. Letting the model answer in three paragraphs where one would do is not.

Length also triggers surcharges on the input side, so the two interact. Gemini 3.1 Pro Preview costs $2 per million input for prompts up to 200,000 tokens and $4 above that, with output going from $12 to $18 across the same boundary [1]. Gemini 2.5 Pro has the same structure at $1.25 and $2.50 input [1]. OpenAI splits every model into a short-context and a long-context rate, where the long-context input price is exactly double and the output price about half again higher: gpt-6-astra runs $10 and $50 short, $20 and $75 long [3]. A retrieval step that quietly starts stuffing more documents into the prompt can push you across a line and change the unit price of every token in the request, output included.

The practical move is dull and effective. Set an explicit maximum output length on production calls, ask for the shape of answer you actually parse rather than a discussion of it, and watch the input size of anything assembled by code rather than typed by a human.

Caching and batching are the two discounts you can take this week

Both are available on list pricing, at all three vendors, with no negotiation and no change of model.

Batch is the simpler one. Google, Anthropic and OpenAI each discount batch processing by 50% on both input and output [1][2][3]. On Claude Sonnet 5 that turns $2 and $10 into $1 and $5 [2]. You trade immediacy for half the price, which is the right trade for anything that runs on a schedule: overnight summarisation, backfills, classification of a queue, weekly reports. Interactive chat is the only workload where this genuinely does not fit.

Caching is the bigger discount and the one people leave on the table. Anthropic charges cache reads at 0.1x the base input rate, and at 0.025x on Claude Fable 5.1 and Mythos 5.1, which is $0.25 per million against a $10 base [2]. Writing to the cache costs 1.25x the base rate for a five-minute lifetime or 2x for an hour, so the five-minute cache pays for itself after a single hit: 1.25 to write plus 0.1 to read is cheaper than paying full rate twice [2]. OpenAI prices cached input at a tenth of fresh input across the range, so gpt-6-astra reads at $1 instead of $10 [3]. Google runs implicit caching automatically on Gemini 2.5 and newer with no configuration at all, passing the saving on when a request hits, though the cache only activates above a minimum prompt size: 4,096 tokens for the Gemini 3.x Flash models and 3.1 Pro Preview, 2,048 for Gemini 2.5 Flash and Pro [5]. Cached token counts come back in the response object’s usage.total_cached_tokens field, so you can check whether you are actually hitting [5].

Caching rewards prompt structure more than prompt cleverness. The discount applies to a stable prefix, so put the system instructions, the schema and the fixed reference material at the front, and the thing that changes on every call at the very end. A prompt that interpolates a timestamp or a user id into the second sentence has destroyed its own cache and will keep paying full price while looking, to you, identical.

The tier you pick moves the bill more than any vendor price change

Set the January increase aside for a moment. Doubling is a 2x event and it made a news cycle. The spread between tiers at a single vendor, available to you right now, is larger than that by an order of magnitude.

Anthropic’s range runs from Claude Haiku 4.5 at $1 and $5 per million to Claude Fable 5.1 at $10 and $50, a straight 10x [2]. Google’s runs from Gemini 3.5 Flash-Lite at $0.30 and $2.50 to Gemini 3.1 Pro Preview at $2 and $12, nearly 7x on input [1]. OpenAI’s is the widest of the three, from gpt-5.6-luna at $0.20 and $1.20 to gpt-6-astra at $10 and $50, which is 50x on input and about 42x on output [3]. No vendor pricing decision you will see this year moves your bill the way choosing the wrong end of that range does.

The same logic applies to the options you switch on without thinking of them as pricing. Anthropic’s Fast Mode on Opus 5 and 4.8 costs $10 input and $50 output against the standard $5 and $25, which is double [2]. Data residency for US inference is a 1.1x multiplier on every token category [2]. Anthropic’s server-side web search is $10 per 1,000 searches on top of the tokens it produces [2]. OpenAI adds a 10% uplift for regional processing on models released on or after March 5, 2026, and fast mode there costs 2x standard rates [3]. Each of those is a defensible choice. None of them should be a default you discover on an invoice.

The model you budgeted for will be retired before the price stops moving

Notice periods are published, and they are shorter than most people assume. Anthropic commits to at least 60 days’ notice before retiring a publicly released model, with email to customers who have active deployments [4]. OpenAI commits to at least 6 months for generally available models, at least 3 months for specialised variants such as chat, Codex and deep research versions, and says preview models may go with as little as 2 weeks [6]. Google deprecates preview models with at least 2 weeks’ notice, and its “latest” aliases are hot-swapped with every new release by design [7].

These are not hypothetical. Anthropic’s own table lists claude-opus-4-1-20250805 as retired on August 5, 2026 and claude-sonnet-4-20250514 as retired on June 15, 2026, with claude-haiku-4-5-20251001 carrying a stated retirement no sooner than October 15, 2026 [4]. Gemini 2.0 Flash is listed as shut down [7]. On the OpenAI side, o1-preview shut down on July 28, 2025 and gpt-4-32k on June 6, 2025 [6].

The API surface moves too, not only the price and the model id. Anthropic has deprecated the temperature, top_p and top_k parameters on Claude Opus 4.7 and later, and a non-default value now returns a 400 error rather than being ignored [4]. Code that has worked for a year can fail on a model upgrade for reasons that have nothing to do with the model.

So pin a dated model id in production rather than a floating alias, keep each vendor’s deprecation page in a calendar reminder rather than an inbox, and when a notice does arrive, export your usage from the vendor console to see which of your keys is still calling the old model [4]. Sixty days is enough time if you start on day one and uncomfortable if you start on day fifty.

Custom silicon is the lever the vendor holds and you don’t

Underneath all of this sits a number you never see: what it costs the vendor to serve one token. That is set by hardware, by data-centre capacity, and by how much of the stack the vendor owns. It is the floor your price sits on, and you have no input into it whatsoever.

The clearest recent illustration is a chip Google is reportedly building. In July 2026, The Information reported a Google project codenamed Frozen v2, silicon optimised for the Gemini models’ architecture rather than for general-purpose workloads, expected to deliver between six and 10 times better performance per watt than Google’s current silicon, with a hoped-for data-centre rollout in 2028 [8]. Treat every part of that carefully. It is a leak rather than an announcement, the figure is an internal expectation rather than a benchmark, and 2028 is far enough away that it changes nothing you decide this quarter.

What it does illustrate is the shape of the thing. When a vendor’s serving costs fall, the vendor chooses between cutting your price and keeping the margin, and you find out which from a pricing page. When capacity is tight or a promotional period ends, the same page moves the other way, which is exactly what the January 2027 Gemini Flash increase is [1]. Watching the hardware news will not tell you what you will be charged. Only the pricing page does that, and only for as long as the date next to the number holds.

checklist
Before you commit to a per-token rate
0 of 8 · saved in this browser only
calculator
What this workload costs per month
$ / month

Defaults are Gemini 3.8 Flash list pricing as of September 2026 [1]. Halve both prices for batch. Computed in the page; nothing is sent anywhere.

What still goes wrong

Every price in this guide is what the vendor’s page said on the date in the frontmatter, and the entire point of the guide is that those pages move. Google has already printed the January 1, 2027 increase next to today’s Flash rates, so one set of numbers here is scheduled to change [1], and OpenAI’s promotional tier carries a date with no successor price attached to it [3]. Re-read the pricing page before you plan a budget on it, and do not trust a comparison table older than a quarter, including this one.

Cross-vendor comparison is rougher than it looks even on the day you do it. The same text tokenises differently in different models, so a $1 per million rate at one vendor and a $1 per million rate at another are not the same price for the same paragraph. Comparing list rates gets you the right order of magnitude and the right tier, not a precise answer. The only reliable comparison is running your own representative workload through both and reading the usage fields that come back.

Caching is fragile in a way the pricing pages do not dramatise. A prefix that changes invalidates the cache, so a prompt you edit daily can pay the 1.25x or 2x write premium repeatedly and never collect the read discount [2]. Batch is a real 50% but it is only free if latency genuinely does not matter, and the boundary between “scheduled” and “interactive” tends to blur once a feature is live. And the cheapest tier is not cheap if it needs three attempts and a retry to produce what the tier above produces once. Measure the cost of a completed task, not the cost of a call.

sources
  1. 01Google — Gemini API pricingai.google.dev
  2. 02Anthropic — Claude API pricingplatform.claude.com
  3. 03OpenAI — API pricingdevelopers.openai.com
  4. 04Anthropic — Model deprecationsplatform.claude.com
  5. 05Google — Gemini API context cachingai.google.dev
  6. 06OpenAI — Deprecationsdevelopers.openai.com
  7. 07Google — Gemini models and release stagesai.google.dev
  8. 08SiliconANGLE — Google reportedly developing 'Frozen v2' AI chip optimized for Gemini modelssiliconangle.com
next guide
Read your vendor's deprecation page, not its funding announcements
9 min · verified 2026-09-04
related guides