Token Cheat Sheet
A one-page token and cost reference that fills itself in from your own ratios, rates and context limits.
Every number below is yours. The pre-filled values are round examples chosen to be obviously round — not anyone’s prices, not a measured ratio, and not a recommendation. Replace them with your own and the whole card recalculates; the URL carries them, so the card you print is the card you linked.
≈ 5,333 characters · $0.0040 as input, $0.02 as output. Estimated, not tokenized. A real count needs the model's vocabulary; the authoritative number is usage.prompt_tokens on the response.
The four identities everything else is built from
- tokens ≈ characters ÷ 4
- tokens ≈ words ÷ 0.75
- cost = tokens ÷ 1,000,000 × rate
- input room = context − max_tokens = 128,000 − 4,096 = 123,904
Your rates, laddered
- 1,000 tokens$0.0030 in · $0.02 out
- 10,000 tokens$0.03 in · $0.15 out
- 100,000 tokens$0.30 in · $1.50 out
- 1,000,000 tokens$3.00 in · $15.00 out
- 10,000,000 tokens$30.00 in · $150.00 out
- Cumulative input over 20 turns, history resent
- 64,500 tokens · $0.19
- If history were not resent
- 17,000 tokens · $0.05
- The multiple resending costs you
- 3.8×
What people forget to count
- The system prompt — billed on every request, not once per session.
- Tool and function schemas — serialised into the prompt on every call that offers them, whether or not one is used.
- The chat template — role markers and turn delimiters the API adds around your messages.
- The whole history — a stateless API rebills every previous turn on every new one. That is the quadratic row above.
- Reasoning tokens — generated and billed as output on models that think, even when they are not shown to you.
- Retries — a timeout that already generated 800 tokens is normally billed for them.
- Images and audio — priced as tokens by a formula per modality, not by file size.
Why a cheat sheet with no numbers on it is the useful kind
Most token cheat sheets are a table of someone else’s prices and a ratio someone measured once. Both go stale — prices move, and the ratio was measured on a corpus that is not yours. What does not go stale is the arithmetic: four identities, a ladder, and the list of things that get left out of the count. Fill in your own numbers and print it.
The two rows worth internalising are the unit and the quadratic. The unit is per million tokens, and the reason to write it out every time is that a per-thousand figure looks identical at a glance and is off by a factor of a thousand — an estimate a thousand times too low is the one that gets approved. The quadratic is the conversation: resending the history means turn twenty pays for turns one to nineteen again, so a chat that adds a fixed amount per turn costs proportionally to n², not n. Twenty turns at 250 tokens each is not 5,000 input tokens, and the row above shows what it is instead.
Everything derived here from characters or words is an estimate, because this page has no tokenizer in it and could not honestly have one — the vocabulary would be megabytes and nothing here fetches anything at runtime. Use it to size a budget, then check the real figure the moment you have one: the usage object on any API response carries the exact prompt and completion counts the bill was computed from, and one real response settles what a hundred estimates cannot.