Shift note: output tokens took the larger charge
The input looked modest. The response kept growing. By the time the request finished, the expensive part was not the question but the answer: explanations, repeated context, extra examples, and a closing summary nobody needed. That is the billing pattern worth checking before switching models.
Output tokens can quietly become the largest charge, particularly when generation costs more per token than input. They do not dominate every workload: long-document processing, cached context, and short classifications can behave differently. The useful comparison is not simply cheaper model against expensive model. It is cost per accepted result.
The verbose route meets the compact route
Put two configurations head to head on the same task. Route A asks for a comprehensive answer with rationale, examples, and a summary. Route B requests only the deliverable: the patch, the extracted fields, or the decision with a short explanation. Start with the same model so the first test isolates response design rather than model capability.
Suppose Route A generates 3,000 output tokens while Route B generates 600. Those are illustrative counts, not measured product results. At the same output rate, Route B incurs one-fifth of the output-token charge. Its total request cost will not necessarily fall by the same proportion because input charges and other billable usage remain.
The compact route wins when both answers pass the same acceptance checks. The verbose route wins only when its additional content contributes enough value to justify the charge. More text is not automatically more complete, and less text is not automatically sufficient.
A lower output rate faces a shorter accepted answer
Now compare two models. A lower output-token rate looks attractive, but a longer response can erase that advantage. Ignoring input and other charges for this isolated comparison, a model producing five times as many output tokens needs an output rate no greater than one-fifth of its competitor's rate merely to match the output charge.
For example, you could test Claude Haiku 4.5 and Gemini 2.5 Flash on your own support summaries. Use current rates, identical source material, and the same required fields. Do not assume either model is cheaper overall or more concise without measuring the actual responses.
- Record input tokens, output tokens, applicable rates, and whether each answer was accepted.
- Include retries and corrective follow-ups in the task total rather than treating them as unrelated requests.
- Check whether the provider bills additional reasoning tokens or other usage, because visible answer length may not represent all billable generation.
The lower-rate model wins only when its complete accepted-task cost is lower. A higher-rate model can win with fewer tokens or fewer retries, but that outcome requires evidence from your workload.
A hard token cap faces a clear response contract
A maximum-output setting is a useful guardrail, not a writing specification. A tight cap can interrupt JSON, cut off a patch, or omit the final required field. Paying for a truncated answer and then requesting a replacement can cost more than allowing a sufficient response initially.
A response contract works earlier in the process. Specify required fields, a target length, whether explanations are necessary, and what to omit. For a ticket triage task, ask for a category, urgency, and one sentence of justification instead of an unrestricted analysis.
The response contract wins as the primary control; the cap stays as a backstop. Validate completeness before lowering limits further. Where quality depends on detailed explanation, preserve it deliberately rather than trimming every task to the same length.
The next shift gets a measured routing rule
Relay365 fits when you want to test multiple model families through a pay-as-you-go relay desk rather than maintain separate client integrations for every comparison. It works with Claude Code, Codex, Gemini CLI, and OpenAI SDK clients. The API base is https://api.api365relay.com; OpenAI clients add /v1. Verify each selected model's supported features and current pricing before routing production traffic.
Create a Relay365 account if that setup matches your evaluation workflow, then run a small representative batch before widening traffic.
The final verdict is operational: prefer compact, complete answers over unrestricted prose; prefer measured task cost over headline token rates; and keep hard limits behind explicit response requirements. The cheapest answer is the one that finishes the job without buying unnecessary output—or another attempt.
Further desk bulletins
| Date | Bulletin title | Filed under | Language |
|---|---|---|---|
| 2026-10-30 | Shift Note: Trim the System Prompt Before Next Run | Spend watch | EN |
| 2026-10-30 | Desk Log: Ten Minutes to a First-Token Clock | Spend watch | EN |
| 2026-10-30 | Shift Log: Invoices, Refunds and Prepaid Funds | Spend watch | EN |
| 2026-10-30 | Shift Log: Long System Prompts Lost the Cost Check | Spend watch | EN |
| 2026-10-30 | Shift Note: Token Checks Before the Request Leaves | Spend watch | EN |
| 2026-10-30 | Shift Log: Small Top-Up, Two Routes to a Prototype | Spend watch | EN |
Curious how it runs on your own code? Sign up →