Look at Claude's list prices and one pattern jumps out: output is exactly five times the price of input, on every current model, on every platform. Claude Fable 5 is $10 in / $50 out per million tokens; Claude Opus 4.8 is $5 / $25; Claude Sonnet 5 is $3 / $15 ($2 / $10 introductory pricing through August 31, 2026); Claude Haiku 4.5 is $1 / $5. Cloud marketplace list prices match these first-party rates on Amazon Bedrock, Google Vertex AI, Microsoft Foundry, and Claude Platform on AWS alike.
The intuition for the asymmetry: reading your prompt is a single pass over the text, while generating an answer produces tokens one at a time, each requiring a full run of the model. Generation is simply more compute per token, and the price reflects it.
What the 5:1 ratio means in practice
A worked example on Claude Opus 4.8. Suppose a summarization endpoint sends 20,000 input tokens and gets back 1,000 output tokens per request. The input side costs 20,000 × $5/1M = $0.10; the output side costs 1,000 × $25/1M = $0.025. Input dominates. Now flip it: a content-drafting endpoint sends 1,000 tokens of instructions and generates 8,000 tokens of prose. Input is $0.005; output is 8,000 × $25/1M = $0.20 — forty times the input cost.
The lesson: know which side of the ledger each workload lives on. Input-heavy workloads (long-document Q&A, retrieval-augmented generation, classification over large contexts) optimize by caching and trimming context. Output-heavy workloads (drafting, code generation, report writing) optimize by controlling how much the model says.
Reasoning tokens are output tokens
One line item people miss: when Claude "thinks" before answering — adaptive or extended thinking — those reasoning tokens are billed as output tokens, at the full output rate, even when the reasoning text is summarized or omitted from what you see. The response's usage.output_tokens_details.thinking_tokens field reports how many. On models with adaptive thinking, the effort parameter (levels from low to max, default high) is the lever that governs how much of this expensive output the model spends; see thinking budgets as a cost control.
Five ways to shift the ratio in your favor
1. Cap and right-size max_tokens. You only pay for tokens actually generated, but a tight cap prevents runaway generations from turning a $0.01 request into a $0.50 one. Match the cap to the task — see output length budgeting.
2. Ask for less prose. Instructing Claude to answer without preamble, return only a label, or skip restating the question directly removes output tokens. Structured outputs (a JSON schema via output_config.format) constrain the answer to exactly the fields you need.
3. Spend input to save output. Because input is five times cheaper, adding a few hundred tokens of precise instructions and examples that produce a shorter, right-first-time answer is usually a winning trade — especially when it avoids a second, fully-billed retry call.
4. Lower effort where depth isn't needed. Lower effort produces fewer thinking tokens, fewer and more combined tool calls, and terser responses — all output-side savings on the same model.
5. Make cheap input even cheaper. Prompt caching drops repeated input to 0.1x the base input price — turning the 5:1 output-to-input ratio into 50:1 against cached tokens. The break-even math shows when it pays.
usage.input_tokens and usage.output_tokens per endpoint for a week. Multiply by list prices. The endpoint where output dollars exceed input dollars is where output-side controls pay off first.One caveat when comparing models
Cheaper per token is not always cheaper per task. Claude Opus 4.7 and later, Fable 5, and Sonnet 5 use a newer tokenizer that produces roughly 30% more tokens for the same text than Sonnet 4.6 and earlier — so re-baseline token counts when migrating rather than assuming the old volume. And a smaller model that needs two attempts can out-spend a larger one that gets it right once. Measure cost per completed task, not per million tokens.
Where to go next
Continue with the anatomy of a Claude token bill for the full set of line items, or the Batch API discount, which halves both sides of the ratio for asynchronous work.