Tokens, not words: how a model reads your text
Text is split into tokens — roughly word fragments — before a model sees it. Tokenisation explains why models struggle to count letters, why non-English text costs more, why JSON is expensive, and why your bill scales with tokens rather than words.
Before a model sees your text, a tokeniser rewrites it. Characters go in, integers come out, and those integers are the only thing the model ever handles. Almost every pricing question and a surprising number of quality bugs trace back to this step.
What a token actually is
A token is a frequently-occurring chunk of text, learned from a corpus. Common English words are often a single token. Rarer words split into fragments. Punctuation and spaces usually attach to neighbours rather than standing alone.
The practical rule for English prose is that a token averages about four characters, so a thousand tokens is roughly seven hundred and fifty words. It is an estimate, not an identity — code, tables and identifiers all break it.
Why JSON costs more than it looks
Structured text is dense in punctuation, and punctuation tokenises poorly. Braces, quotes, colons and repeated key names all consume tokens without carrying much meaning. A payload that looks compact to a human can be surprisingly expensive to send.
Why letter puzzles go wrong
Ask a model how many times a letter appears in a word and it may well be wrong. This is not a reasoning failure; it is a representation failure. The word arrived as one or two integers, and the letters inside were never visible.
The workaround follows directly: make the letters into tokens. Asking the model to write the word with spaces between each character, and only then count, turns an impossible task into an easy one.
Language changes the price
Tokenisers are fitted to whatever their training data contained, which for most models means a heavy English bias. Text in a less-represented language fragments into many more tokens for the same meaning.
If you are building for a multilingual audience, measure this rather than assuming. The same user question can cost two or three times as much in one language as another, and your context budget shrinks by the same factor.
What to do about it
Count tokens rather than characters when you budget. Trim repeated scaffolding from prompts before you trim the content. Prefer compact field names in structured output. And when a task involves the shape of words rather than their meaning, expect to help the model see the characters.
Frequently asked questions
Why can a model write an essay but miscount the letters in a word?
Because it never sees the letters. A word may arrive as one or two tokens, and counting characters inside a token is not something the representation exposes. Asking the model to spell the word out first often fixes it, because that turns one token into many.
Does the same sentence cost the same in every language?
No. Tokenisers are fitted to their training mix, so text in under-represented languages fragments into far more tokens. The same meaning can cost two or three times as much to send.