Input tokens are what the model reads; output tokens are what it writes back. Input covers your prompt, the conversation so far, files, and tool results; output is the answer, draft, or code. Both count toward cost, speed, and limits, and a long session history or giant attachment is input even when your typed prompt is short.
An internet connection makes this concrete. Download is what comes into your house; upload is what you send out. They’re related lanes that behave differently: one can be slower, more limited, or priced another way.
Why you care
A model can usually read far more than it can write at once: your context window might hold a huge amount of input while the maximum answer stays much smaller, and output is often priced separately and generated more slowly. Input and output explain most AI friction: a slow session usually means too much input, an answer that stopped early hit an output limit, and a surprise bill means it read and wrote more than you realized. Prompt caching helps when the same instructions get reused. Skip counting by hand: give the model what it needs and ask for the output you actually want.