Per-request pricing is the figure most teams actually need, because it is the one that multiplies. Getting it right means separating input from output, since providers price them differently and output is typically several times more expensive per token.
Start with a representative request rather than an average you have guessed. Take a real prompt, including the system message and any tool definitions, and count it. Then take a real response. The ratio matters more than either number: a workload with a long prompt and a short answer behaves very differently from one with a short prompt and a verbose structured response.
Multiply by a thousand and you have a figure you can reason about. The most common mistake at this point is forgetting that retries, failed validations and multi-turn conversations all consume tokens. A pipeline that validates structured output and retries once on failure does not cost what a single call costs — it costs somewhere between one and two calls, weighted by your failure rate.
List pricing is a baseline, not a forecast. Prompt caching, batch processing, free tiers and negotiated agreements can reduce the bill. Long-context pricing, regional uplifts, tool use, media, retries and taxes can increase it. Some of those factors are absent from a simple price table, so record what your estimate includes and compare it with the provider dashboard once the workload is running.
Finally, check the date on whatever prices you are using. Provider pricing changes without much notice, and a spreadsheet built six months ago may be quietly wrong. The provider pricing page is always the authority.