Relay365Multi-model API relay desk
← All desk bulletins
Spend watchEN662 desk reads

Why Output Tokens Often Dominate AI Bills

A short prompt can produce a surprisingly large AI bill. The reason is often not what you send to the model, but what the model generates. Output tokens commonly cost more per token than input tokens, and open-ended requests can produce far more text than you need. Here is a numbered walkthrough for understanding that pattern and controlling it.

#1 · Separate what goes in from what comes out

Input tokens represent the material a model receives: your instructions, conversation history, documents, and tool results. Output tokens represent generated content, such as an answer, code, or a structured response. Tokens are pieces of text, not a fixed number of words, so use the API’s usage data rather than estimating costs from word counts alone.

For a basic text request, the calculation is straightforward: input tokens multiplied by the input rate, plus output tokens multiplied by the output rate. If rates are quoted per million tokens, divide each token count by one million before multiplying.

#2 · Check the rate difference before blaming prompt length

Many models have a higher output rate than input rate. That means equal token counts do not necessarily contribute equally to your bill. As a purely illustrative example, if output costs four times as much per token, 1,000 output tokens cost the same as 4,000 input tokens. This is arithmetic, not a quoted price for any particular model.

When comparing options such as Claude Haiku 4.5 and Gemini 2.5 Flash, check the current input and output rates separately. Also check any applicable caching, context-length, or processing-mode rules rather than assuming one headline price describes every request.

#3 · Notice how easily generation expands

A request like “explain this thoroughly” leaves the answer length largely unconstrained. Ask for alternatives, examples, tests, documentation, and a summary together, and the generated response can grow quickly. In coding workflows, rewriting an entire file may produce substantially more output than returning a small patch.

The problem compounds across repeated calls. A verbose answer that seems inexpensive once can become a meaningful expense when generated for every support ticket, document, or development task. Measure cost per completed task, not just the price of one response.

#4 · Account for generation you may not see

For some reasoning models and APIs, billed generation can include reasoning tokens that are not exposed as ordinary answer text. A concise visible response therefore does not always imply a small output charge. Inspect the usage fields and billing documentation for the exact model and endpoint you use.

Multi-step agents also make multiple requests. Tool results become input on later turns, while successive model responses add generation charges. Review the whole run rather than judging its cost by the final message alone.

#5 · Set useful boundaries, not arbitrary restrictions

  • Specify the deliverable: ask for five findings, a short explanation, or a patch instead of an unrestricted response.
  • Request only needed fields: omit commentary when your application only consumes structured values.
  • Use output limits carefully: leave enough room for a complete answer and handle truncation explicitly.
  • Tune reasoning controls where supported: test whether a lower setting still meets your quality requirements.
  • Track retries: an answer that is too short to be useful can trigger extra calls and erase the savings.

#6 · Recognize when input costs win instead

Output does not dominate every bill. Large document collections, long uncached conversation histories, and repeated tool dumps can make input the larger expense. Other services or modalities can introduce separate charges, too. Compare actual usage categories before optimizing; the title of a pricing column is not evidence of your workload’s biggest cost.

#7 · Choose a practical place to measure

Relay365 can fit teams that want pay-as-you-go access to multiple model families through a relay desk. It works with Claude Code, Codex, Gemini CLI, and OpenAI SDK clients, making it an option for testing workflows across models. Check current rates and compatibility for your chosen configuration rather than assuming a relay automatically lowers costs.

Create a Relay365 account if that setup fits your workflow, then run a small, representative evaluation. Record input usage, billed generation, retries, and whether each task succeeded. The goal is not the shortest answer: it is the least unnecessary generation needed to deliver a reliable result.

Further desk bulletins

Curious how it runs on your own code? Sign up →