What the same prompt really costs across providers
"How much does this prompt cost?" sounds like a question with one answer. It isn't.
Every provider bills differently, and the differences don't line up. Input tokens and output tokens are priced separately — and output usually costs five to six times more than input, because generating a token is sequential and memory-bandwidth-bound while reading your prompt is one parallel pass. So a short question that triggers a long answer can cost more than a long question that triggers a short one.
Then it gets worse:
- Cached input is billed at a fraction of normal input — but only if your prefix is stable and ordered correctly. Reorder your system prompt and you lose the discount.
- Tokenizers differ. The same string is a different number of tokens on each provider, so "tokens" isn't a comparable unit across vendors without counting per-provider.
- Reasoning tokens may be billed but hidden. Batch tiers are roughly half price. Image and audio have their own units entirely.
This is why a dashboard that just multiplies "tokens × a rate" quietly drifts from your invoice. To get it right you have to normalize to a real unit — cost per request, per task, per outcome — and reconcile it against what the provider actually charged, credits and all.
That reconciliation is unglamorous and it's most of the work. It's also the part nobody checks until finance asks why the estimate and the invoice disagree. We'd rather get it right first and make the dashboard pretty second.
More on how we're doing that reconciliation in a future post.