Billing is per token, not per request or per seat. Providers price input and output separately, per million tokens. Input is what you send: the system prompt, the chat history and the new user message. Output is what the model writes, including tool-call arguments, and it usually costs several times more than input.
A token is a piece of text from the model's vocabulary, usually a subword chunk, not a whole word or a character. English prose averages roughly 4 characters per token. Code, JSON and non-English text pack fewer characters into each token, so they cost more.
"tokenization" -> ["token", "ization"] 2 tokens
Each provider uses its own tokenizer, so the same text counts differently across models. Even one provider's count can shift: Claude 4.7 and later produce about 30 percent more tokens for the same text than earlier Claude models.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
The diagram below the answer is the concept . Jump to it ↓