← The Burn Log

· 6 min read

Why your AI API bill is higher than you think

Output tokens cost multiples of input, context gets re-sent every turn, and agents multiply everything. The mechanics behind surprise AI bills, explained.

Every month, somewhere, a developer opens their AI provider dashboard, makes a small involuntary sound, and posts a screenshot. The bill is always higher than expected. This is not bad luck — it's four compounding mechanics that pricing pages technically disclose and nobody actually internalizes.

1. Output tokens cost a multiple of input tokens

Across essentially every provider, generating a token costs several times more than reading one — output is commonly priced at 3–5× the input rate. Your mental model says "I sent a short question"; the bill says "and received 2,000 tokens of thorough, beautifully-formatted answer." Long answers, verbose code generation, and models that "think" before answering (those reasoning tokens are billed as output too) all land on the expensive side of the meter.

2. Context is re-sent on every single turn

The API is stateless: each request carries the entire conversation so far. Turn 20 of a chat doesn't cost one message — it costs all twenty, again, as input. A long conversation grows roughly quadratically in total tokens processed. The same trap scales up in coding agents, where the "conversation" includes every file the agent has read. That 500-line file you asked about once? It rides along in every subsequent request.

3. Agents multiply everything

A chat interface makes one model call per user message. An agent makes as many as it wants: it reads files, calls tools, gets results, re-reads, retries after errors, spawns subagents. One innocuous "fix this bug" can fan out into dozens of API calls, each carrying that ever-growing context from mechanic #2. Agents are the single biggest reason AI bills jumped from "coffee budget" to "car payment" — and why Claude Code's token counter is such a sobering read.

4. Cache reads are discounted, not free

Prompt caching is genuinely great: re-reading a cached prefix costs a fraction of the normal input rate. But a fraction of a very large number is still a number, and cache writes typically cost extra. A heavy agent session can push enormous token volume through the cache — cheaper per token, still real money, and still real tokens burned. (On the Burnmaxxing leaderboard, cached tokens count toward your burn. Tokens are tokens.)

What to do about it

  • Watch output length. Asking for concise answers is the cheapest optimization that exists.
  • Trim context. Start new conversations instead of riding one thread forever; in agents, keep working sets small.
  • Match the model to the task. Frontier models for hard problems, small fast models for glue work.
  • Set budget alerts in every provider console you use. All of them have some form of limit or notification.
  • Actually measure it.You can't manage what you don't track — here's how to get one number across providers.

Or: embrace it

Alternatively, accept that the bill is the price of building fast, verify your burn, and at least get a cardand a leaderboard rank out of it. If you're going to burn the money anyway, you might as well be absolutely burnmaxxing.