LLM API Cost Calculator

Turn request volume, prompt shape and cache hit rate into a monthly bill across the current GPT, Claude, Gemini and DeepSeek tiers. Prices are pre-filled with list rates (checked 2026-08-15) and every cell is editable, so your negotiated rate goes in as easily.

Workload

Monthly token volume (over 30 days) · Input · Output

Monthly cost by model

Model Input $/M Cached $/M Output $/M Monthly cost Per 1k requests vs cheapest
Claude Opus 5 Anthropic
Claude Sonnet 5 Anthropic
Claude Haiku 4.5 Anthropic
DeepSeek V4 Pro DeepSeek
DeepSeek V4 Flash DeepSeek
Gemini 3.7 Flash Google
Gemini 3.5 Flash Lite Google
GPT-5.6 Sol OpenAI
GPT-5.6 Terra OpenAI
GPT-5.3 Codex OpenAI
GPT-5.6 Luna OpenAI

List prices as published by each vendor, checked 2026-08-15. Every number is editable — put your negotiated rate in.

Everything is calculated in your browser. No input leaves the page.

Price sources: Anthropic · DeepSeek · Google · OpenAI

How the number is produced

Monthly cost = uncached input tokens × input rate + cached input tokens × cache-read rate + output tokens × output rate, with requests annualised over 30 days. Every rate is per million tokens, which is the unit all four vendors now quote in.

Two things get underestimated more than anything else. Output weight — output is priced 5 to 6× input almost everywhere, so a prompt change that trims an 800-token answer to 300 usually saves more than moving down a model tier. And cache hit rate — in RAG and agent workloads the system prompt and retrieved context repeat across turns, and going from 0% to 80% cuts the input side to a fifth. That is why it is a slider here rather than a buried assumption.

What is deliberately not modelled: batch and low-priority tiers, which typically halve both sides; long-context rates, which kick in above each vendor's threshold and cost roughly double; tool calls, web search and vector storage, all billed separately; and reserved capacity, private deployment or data-residency uplifts. This answers "what does this volume cost at per-token rates", not "what will the invoice say".

Where a vendor publishes no cache-read rate, the cached column is pre-filled with the full input rate — no assumed discount, erring towards over-estimating rather than under.

Related reading