The short version: the big number on a model's pricing page — "$X per 1M tokens" — is not what you'll pay. It's the input to a calculation with six variables the page underplays: the input/output split, the cache rate, the batch discount, the long-context tier, the expiry date, and the gap between price-per-token and cost-per-task. Read those six, in that order, and the sticker turns into a real forecast. Skip them and you'll budget on a number that's wrong in your favor — until the invoice arrives.
Here's the checklist, then why each line matters.
Read the output price, not the input price. Find the cache rate and the batch rate. Check whether long context costs more. Note the expiry date. Then decide on cost per completed task, measured on your own eval — never on the sticker.
1. Input and output are priced separately — and output is where the money goes#
Almost every pricing page leads with a single "$ per 1M tokens" figure, and almost always it's the input price, the cheaper of the two. Output costs 2–6x more: Claude Sonnet 5 is $2 per 1M input but $10 per 1M output; DeepSeek V4 Flash is about $0.14 in / $0.28 out. Agents are output-heavy — they reason, they call tools, they write — so your blended rate sits far closer to the output number than the headline suggests.
Do this: estimate your real input:output ratio from a few sample runs, then blend the two prices. If you only remember one number from a pricing page, remember the output one.
2. Cached input is a different, much lower price#
If your agent resends the same big system prompt, the same toolset, or the same reference document on every turn, you are not paying the input rate on it — or you shouldn't be. Prompt caching bills repeated context at a separate cached-read rate: roughly a tenth of normal input on Anthropic, and steeper still on DeepSeek's first-party cache (reported north of 90% off). For a long-running agent, the cache rate is your true cost of input, because most of your input is the same bytes over and over.
Do this: work out how much of your input is stable, repeated context. If it's most of it, the cache-read price is the number to budget on. If a vendor's page doesn't publish one, go find it before you commit.
3. Batch work is half price#
Anything that doesn't need an answer in the next few seconds — bulk extraction, classification, offline evals, backfills — can usually run through a batch or async endpoint at about 50% off the live price. It's one of the most reliable discounts in the stack and one of the least used, because it never appears in the headline number.
Do this: sort your workloads into "interactive" and "can wait." Everything in the second bucket should be batched.
4. Long context can cost more per token#
A 1M-token context window is a spec, not a flat price. Several models step the rate up above a threshold — Gemini has charged a premium above roughly 200k tokens — so a request that fills the window is billed differently from a short one. If your prompts are genuinely large, the sticker price is a floor, not the rate you'll pay.
Do this: check whether the rate changes above a context threshold, find where the line is, and measure how big your prompts actually are (they're usually bigger than you think).
5. The number has an expiry date#
Pricing pages are dated snapshots that don't announce their own staleness. Introductory pricing always ends on a date: Claude Sonnet 5's intro $2/$10 rises ~50% to $3/$15 on September 1, 2026 — a bill increase you inherit even if you change nothing. And cheap models get cut mid-quarter to win volume: OpenAI dropped GPT-5.6 Luna 80% on July 30, three weeks after launch. In one week at the end of July, two of the numbers you might have budgeted on moved.
Do this: screenshot the page with the date you saw it. Diarize known expiries. Re-check before every budget cycle.
6. Price is not cost — measure per completed task#
The last and most important gap: your bill isn't cost per token, it's cost per completed task. Fold in the retries, the invalid tool calls, and the simple fact that a weaker model often needs more tokens — and more attempts — to get the job right. A "cheaper" model that fails twice before it succeeds is more expensive than a pricier one that lands it first try. The sticker price ranks models; only your own eval ranks them for your workload.
Do this: compute cost per successful task — task success rate × tokens per attempt × price — on a real eval set. Default bulk work to the budget tier, escalate the paths that need it, and let the measured number decide. We laid out the mechanics in how to measure cost per completed task.
Where this leaves you#
None of this is a reason to avoid the cheap tier — it's a reason to read it correctly. The models that dropped their prices this summer are genuinely good buys for the right work; the mistake is budgeting on the one number the page wants you to see. Read the output price, find the cache and batch rates, note the expiry, and rank on cost-per-task. Then the pricing page stops being marketing and starts being a forecast.
For the current numbers to run this against, see our August 2026 agent model price map, and for the deeper split between the sticker and the bill, why 'Flash' no longer means cheapest.



