How Claude API pricing actually works
Every request bills two meters: input tokens (everything you send — system prompt, conversation history, tool definitions, documents) and output tokens (everything the model writes back, including its thinking). Output is 5× the input price on every current Claude model, so workloads that generate long answers from short prompts cost far more than the raw token counts suggest — and vice versa: stuffing a large document into a prompt for a one-line answer is cheaper than it looks.
Cache reads are the biggest lever
A prompt-cache read bills at 10% of the input price. A chat app that resends a 20,000-token system prompt on every turn pays full price once and a tenth of it on every subsequent turn — if the prefix is byte-stable. The calculator's cache slider models this: drag it to the share of your input that repeats across calls. Cache writes cost 1.25× (5-minute TTL) or 2× (1-hour TTL), so caching pays for itself after one to two reads.
Batch when nobody is waiting
The Batch API halves both meters in exchange for asynchronous delivery (most batches finish within an hour). Classification runs, nightly content generation, backfills — anything without a person watching — should be batched by default.
Context windows are a budget, not a feature
A 1M-token context window bills at the same per-token rate whether you use 9k or 900k of it. The window doesn't cost extra — filling it does. Long agentic sessions that resend their full history each turn grow quadratically in input spend unless caching or compaction is in play.