Input vs output tokens
Input tokens are the text you send a model and output tokens are the text it writes back; they are billed at separate rates, and the output rate is almost always several times the input rate.
The asymmetry is computational rather than commercial. Input tokens are processed in a single batched pass over the whole sequence, which keeps a GPU busy efficiently. Output tokens are produced one at a time, each requiring its own pass over the model weights and each waiting on the one before it. The second is the expensive half, and every rate card reflects it.
How much more expensive varies by model, and that ratio decides which model is cheapest for a given shape of work. A summarisation job that reads fifty thousand tokens and writes three hundred is priced almost entirely off the input rate. An agent that reads a short instruction and writes a long file is priced almost entirely off the output rate.
Comparing two models on their input rate alone therefore picks the wrong one about half the time. The comparison that holds is total cost at your own input-to-output ratio, which is a number you can measure from a day of real traffic and then apply to any rate card.
APIs report the two counts separately, as prompt_tokens and completion_tokens. Any cost model built on total_tokens alone is wrong by whatever the output multiple happens to be.
What it costs you
Because the two rates differ by a multiple rather than a margin, the shape of a workload matters more than the model's headline price. Shifting work from output to input — asking for a classification label instead of a paragraph explaining it, or a diff instead of a rewritten file — often cuts a bill by more than switching models would. This is the cheapest optimisation available to most teams and the one least often attempted.
Worked from today’s rates
Kimi K3 charges $1.85/M for input and $9.00/M for output — an output multiple of 4.9x. A request that reads 20,000 tokens and writes 500 costs $0.0415, of which the input side is the larger share.
Related terms
- TokenA token is the unit of text a language model reads and writes — roughly four characters of English, or about three quarters of a word — and it is also the unit that every language model API bills by.
- Prompt cachingPrompt caching is the reuse of an already-processed prompt prefix, so that repeated leading tokens — a system prompt, a tool schema, a fixed document — are billed at a reduced cached-input rate instead of the full input rate.
- Throughput (tokens per second)Throughput is the rate at which a model emits output tokens once generation has started, usually quoted in tokens per second, and together with time to first token it determines how long a complete response takes.
Go deeper
Every rate quoted above is published in full on the pricing page, alongside the model publisher’s own official rate.