Direct answer
One million tokens has no single price
If every token used one $1-per-million rate, the answer would be $1. Real requests usually mix ordinary input, cached input reads, cache writes, and generated output—and providers can price each bucket differently. The calculator below prices the mix you actually mean.
Price a one-million-token mix
Set the token buckets first, then paste the current per-million rates from your provider. The starter $1 rates are a neutral worksheet baseline, not a claim about any model.
1,000,000 total tokens
Your four buckets add up to exactly one million.
API-equivalent estimate
$1.00
Exactly 1,000,000 tokens are priced. Taxes, platform fees, batch discounts, and subscription allowances are not included.
Ordinary input
$0.65
650,000 × $1/M
Cached input reads
$0.20
200,000 × $1/M
Cache writes
$0.05
50,000 × $1/M
Output
$0.10
100,000 × $1/M
Compare illustrative workload mixes
Each preset totals exactly one million tokens and keeps your rate entries unchanged. These are examples, not usage benchmarks.
Start with transparent custom rates
Worksheet examples dated August 28, 2026. Neither set represents a provider or model; replace it with the current rates on your provider's pricing page.
Scale
How much content is one million tokens?
Token counts are model-specific. For rough English-language planning, one million tokens often lands somewhere around half a million to eight hundred thousand words. Use the target model's tokenizer when an exact limit or bill depends on the answer.
500k–800k
English words
A planning range, not a tokenizer count. Language, punctuation, and formatting change the ratio.
1,000–1,600
500-word pages
Derived from the word range. A real page can be much shorter or longer.
33–53 hours
Reading time
At 250 words per minute, before allowing for code review or technical reading.
Tokenizer-dependent
Source code
Identifiers, symbols, whitespace, and language syntax make a universal lines-of-code conversion unreliable.
Interpretation
Why the same million can cost differently
- Output can carry a different rate. A workload that generates long answers may cost more than an input-heavy workload even when both total one million tokens.
- A cache hit is not ordinary input. Reused context belongs in the cache-read bucket only when the provider confirms a cache hit.
- Creating a cache may have its own rate. Keep writes separate from reads so a discounted read does not hide the initial write cost.
- Model and service matter. Direct API, cloud-hosted, batch, and third-party gateway prices may not match.
A defensible workflow
Get a number you can explain
- 01Choose the exact model, provider, region, and API mode you expect to use.
- 02Copy the current input, cache-read, cache-write, and output rates from the provider.
- 03Replace the illustrative token mix with your usage export—or compare the clearly labeled scenarios.
- 04Record the date and assumptions beside the estimate, then compare it with the eventual bill.
Worked example with custom worksheet rates
This example demonstrates the formula. The rates are deliberately illustrative and do not describe any provider.
| Bucket | Tokens | Example $/M | Cost |
|---|---|---|---|
| Ordinary input | 500,000 | $2.00 | $1.00 |
| Cache read | 300,000 | $0.20 | $0.06 |
| Cache write | 100,000 | $2.50 | $0.25 |
| Output | 100,000 | $8.00 | $0.80 |
| Total | 1,000,000 | — | $2.11 |
Sources
- LiteLLM model pricing dataset
Public model pricing reference used for API-equivalent estimates; provider billing remains authoritative.