{"version":"1.0","encoding":"UTF-8","feed":{"xmlns":"http://www.w3.org/2005/Atom","xmlns$openSearch":"http://a9.com/-/spec/opensearchrss/1.0/","xmlns$blogger":"http://schemas.google.com/blogger/2008","xmlns$georss":"http://www.georss.org/georss","xmlns$gd":"http://schemas.google.com/g/2005","xmlns$thr":"http://purl.org/syndication/thread/1.0","id":{"$t":"tag:blogger.com,1999:blog-502508979102421591"},"updated":{"$t":"2026-11-04T19:42:49.724+02:00"},"category":[{"term":"AI Pricing"},{"term":"Calculators"},{"term":"Cost Optimization"},{"term":"Comparisons"},{"term":"DeepSeek"},{"term":"Anthropic"},{"term":"ChatGPT"},{"term":"Google"},{"term":"LLM API Pricing"},{"term":"OpenAI"},{"term":"Prompt Caching"},{"term":"xAI"}],"title":{"type":"text","$t":"Rabayid Insights"},"subtitle":{"type":"html","$t":"Insights on LLM API pricing, prompt caching, and AI cost optimization. Data-driven guides to help developers spend less."},"link":[{"rel":"http://schemas.google.com/g/2005#feed","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/posts\/default"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default?alt=json"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/"},{"rel":"hub","href":"http://pubsubhubbub.appspot.com/"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"generator":{"version":"7.00","uri":"http://www.blogger.com","$t":"Blogger"},"openSearch$totalResults":{"$t":"21"},"openSearch$startIndex":{"$t":"1"},"openSearch$itemsPerPage":{"$t":"25"},"entry":[{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-7825854686010873045"},"published":{"$t":"2026-11-02T21:51:41.802+02:00"},"updated":{"$t":"2026-11-02T21:51:41.837+02:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"AI Pricing"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Calculators"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Comparisons"}],"title":{"type":"text","$t":"GPT vs Claude: Cost Compared"},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EGPT-6 Sol and Claude Sonnet 5 have the same price tag: $2.00 per million input tokens, $10.00 per million output.\u003C\/strong\u003E The same cached rate, $0.20. The same cache-write fee, $2.50. The same batch discount, 50%. On paper they are the same product sold by two companies.\u003C\/p\u003E\n\n\u003Cp\u003EThen a 300,000-token document arrives, and one of them charges twice what the other does. That is not a marketing difference or a rounding artefact — it is a structural difference in how the two providers price long prompts, and it is the only thing that separates two otherwise identical price sheets. This comparison works out exactly where the bills diverge, and which model wins at each length.\u003C\/p\u003E\n\n\u003Cfigure\u003E\u003Cimg src=\"https:\/\/rabayid.com\/images\/blog\/most-cost-reductions-come-from-three.png\" alt=\"Most LLM cost reductions come from three levers: model choice, caching and batching\" loading=\"lazy\" width=\"1200\" height=\"630\"\/\u003E\u003Cfigcaption\u003EModel choice, caching and batching drive most of the savings — but length decides which model is cheaper.\u003C\/figcaption\u003E\u003C\/figure\u003E\n\n\u003Ch2\u003ESide by side\u003C\/h2\u003E\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EMetric\u003C\/th\u003E\u003Cth\u003EGPT-6 Sol\u003C\/th\u003E\u003Cth\u003EClaude Sonnet 5\u003C\/th\u003E\u003Cth\u003EWinner\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EInput \/ 1M\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003ETie\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EOutput \/ 1M\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003ETie\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECached input \/ 1M\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003ETie\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECache write \/ 1M\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003ETie\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EContext window\u003C\/td\u003E\u003Ctd\u003E1,050,000\u003C\/td\u003E\u003Ctd\u003E1,000,000\u003C\/td\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ELong-context tier\u003C\/td\u003E\u003Ctd\u003EDoubles above 272K\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EBatch API\u003C\/td\u003E\u003Ctd\u003EYes, 50%\u003C\/td\u003E\u003Ctd\u003EYes, 50%\u003C\/td\u003E\u003Ctd\u003ETie\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Ch2\u003EThree workloads, identical bills\u003C\/h2\u003E\n\u003Cp\u003EStart with the workloads where the two are indistinguishable. Support chat is 1,000 conversations of 4,000 input and 600 output tokens. Cached RAG is 1,000 requests with a 50,000-token prompt, 45,000 of it cached, and a 1,000-token answer. The nightly job is 10,000 requests of 10,000 input and 2,000 output tokens.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EWorkload\u003C\/th\u003E\u003Cth\u003EGPT-6 Sol\u003C\/th\u003E\u003Cth\u003EClaude Sonnet 5\u003C\/th\u003E\u003Cth\u003EDifference\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003ESupport chat (1K conversations)\u003C\/td\u003E\u003Ctd\u003E$14.00\u003C\/td\u003E\u003Ctd\u003E$14.00\u003C\/td\u003E\u003Ctd\u003E$0.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECached RAG (1K requests)\u003C\/td\u003E\u003Ctd\u003E$29.10\u003C\/td\u003E\u003Ctd\u003E$29.10\u003C\/td\u003E\u003Ctd\u003E$0.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ENightly batch (10K requests)\u003C\/td\u003E\u003Ctd\u003E$200.00\u003C\/td\u003E\u003Ctd\u003E$200.00\u003C\/td\u003E\u003Ctd\u003E$0.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EIdentical to the cent, because every input to the calculation is identical. If your prompts stay under 272,000 tokens and you use caching the same way on both, there is no price argument between these models at all. The decision becomes quality, latency and tooling.\u003C\/p\u003E\n\n\u003Ch2\u003EThe 272,000-token line\u003C\/h2\u003E\n\u003Cp\u003EOpenAI applies a long-context tier above 272,000 input tokens: GPT-6 Sol moves from $2\/$10 to $4\/$15. Anthropic does not tier at all — Claude Sonnet 5 bills $2\/$10 at 900,000 tokens exactly as it does at 9,000.\u003C\/p\u003E\n\n\u003Cp\u003ETake a document-analysis workload: 200 requests, each with a 250,000-token document and a 1,500-token answer. Then run the same workload at 300,000 tokens.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EPrompt length\u003C\/th\u003E\u003Cth\u003EGPT-6 Sol\u003C\/th\u003E\u003Cth\u003EClaude Sonnet 5\u003C\/th\u003E\u003Cth\u003EGap\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003E250K input (under threshold)\u003C\/td\u003E\u003Ctd\u003E$103.00\u003C\/td\u003E\u003Ctd\u003E$103.00\u003C\/td\u003E\u003Ctd\u003E0%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E300K input (over threshold)\u003C\/td\u003E\u003Ctd\u003E$244.50\u003C\/td\u003E\u003Ctd\u003E$123.00\u003C\/td\u003E\u003Ctd\u003E\u003Cstrong\u003EClaude is 50% cheaper\u003C\/strong\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E500K input\u003C\/td\u003E\u003Ctd\u003E$407.00\u003C\/td\u003E\u003Ctd\u003E$203.00\u003C\/td\u003E\u003Ctd\u003EClaude is 50% cheaper\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E900K input\u003C\/td\u003E\u003Ctd\u003E$729.00\u003C\/td\u003E\u003Ctd\u003E$363.00\u003C\/td\u003E\u003Ctd\u003EClaude is 50% cheaper\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003ENothing changed except the length of the input. A 50,000-token difference — 250K to 300K — turns two identically priced models into a 2× cost difference that persists at every length above the threshold. If your retrieval layer adds \"just one more document\" and crosses 272K, you have doubled the rate for the entire call, not just for the extra tokens.\u003C\/p\u003E\n\n\u003Cp\u003EThis is the single most important number in any GPT-versus-Claude decision, and it is invisible on both pricing pages. The mechanics are covered in \u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/long-context-cost-explained.html\"\u003Elong-context cost explained\u003C\/a\u003E.\u003C\/p\u003E\n\n\u003Ch2\u003EThe cache rate is where OpenAI's newer model pulls ahead\u003C\/h2\u003E\n\u003Cp\u003EGPT-6.1 Sol is the same $2\/$10 as GPT-6 Sol but bills cached input at $0.10 instead of $0.20 — half. Against Sonnet 5's $0.20, that makes the 6.1 variant the cheapest cached input of the three.\u003C\/p\u003E\n\n\u003Cp\u003EOn the cached RAG workload the difference is small but real: $24.61 on GPT-6.1 Sol against $29.10 on either GPT-6 Sol or Sonnet 5, a 15% saving. The reason is that 90% of the input tokens in that workload are cached reads, so the cached rate dominates the bill.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003ECached RAG cost\u003C\/th\u003E\u003Cth\u003Evs Sonnet 5\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6.1 Sol\u003C\/td\u003E\u003Ctd\u003E$24.61\u003C\/td\u003E\u003Ctd\u003E−15%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003Ctd\u003E$29.10\u003C\/td\u003E\u003Ctd\u003E0%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$29.10\u003C\/td\u003E\u003Ctd\u003E0%\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EThe break-even arithmetic is the same on both platforms: write \u00F7 (input − cached) = 2.50 \u00F7 1.80 = 1.39 calls. Cache a prefix you reuse twice and you are ahead. Anthropic's write fee is identical, so caching discipline transfers between the two without rethinking.\u003C\/p\u003E\n\n\u003Ch2\u003EContext window: 1.05M versus 1M\u003C\/h2\u003E\n\u003Cp\u003EGPT-6 Sol advertises 1,050,000 tokens against Claude's 1,000,000 — a 5% edge that matters only if your workload genuinely lands between those two numbers. In practice the 50,000-token difference is irrelevant; the 272K tier is what actually changes the bill. A larger window that costs double above 272K is not a larger window in any economic sense.\u003C\/p\u003E\n\n\u003Ch2\u003EWhere exactly the crossover happens\u003C\/h2\u003E\n\u003Cp\u003EThe threshold is not approximate: 272,000 tokens is the line, and it is worth knowing how close your workload sits to it. The table below holds the request count and output constant at 200 requests and 1,500 tokens, and varies only the input length.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EInput length\u003C\/th\u003E\u003Cth\u003EGPT-6 Sol\u003C\/th\u003E\u003Cth\u003EClaude Sonnet 5\u003C\/th\u003E\u003Cth\u003ECheaper\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003E100K\u003C\/td\u003E\u003Ctd\u003E$43.00\u003C\/td\u003E\u003Ctd\u003E$43.00\u003C\/td\u003E\u003Ctd\u003ETie\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E200K\u003C\/td\u003E\u003Ctd\u003E$83.00\u003C\/td\u003E\u003Ctd\u003E$83.00\u003C\/td\u003E\u003Ctd\u003ETie\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E272K\u003C\/td\u003E\u003Ctd\u003E$111.80\u003C\/td\u003E\u003Ctd\u003E$111.80\u003C\/td\u003E\u003Ctd\u003ETie\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E273K\u003C\/td\u003E\u003Ctd\u003E$222.90\u003C\/td\u003E\u003Ctd\u003E$112.20\u003C\/td\u003E\u003Ctd\u003EClaude 2×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E400K\u003C\/td\u003E\u003Ctd\u003E$324.50\u003C\/td\u003E\u003Ctd\u003E$163.00\u003C\/td\u003E\u003Ctd\u003EClaude 2×\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EBetween 272K and 273K the bill doubles. Not because the prompt grew by a thousand tokens, but because the whole request crossed into the long-context tier. If your retrieval pipeline produces prompts in the 250K–300K range, a single extra document can flip the invoice — and the fix is either a hard cap at 270K or a deliberate move to the model without a tier.\u003C\/p\u003E\n\n\u003Cp\u003EThis is also why \\\"we compared the price per token and they were the same\\\" is an incomplete analysis. The comparison is only valid inside one tier, and most real document workloads do not stay there.\u003C\/p\u003E\n\n\u003Ch2\u003EWhich one to pick\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003EPrompts under 272K, cache-heavy\u003C\/strong\u003E — GPT-6.1 Sol. Same price as Sonnet 5 with a 50% cheaper cache read, worth about 15% on RAG.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EPrompts under 272K, one-shot\u003C\/strong\u003E — a genuine tie. Choose on output quality and latency.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EPrompts above 272K\u003C\/strong\u003E — Claude Sonnet 5, at half the price with no tier.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EMixed workloads\u003C\/strong\u003E — route by length: send short prompts to whichever model scores better on your evals, and long ones to Claude.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EBatch jobs\u003C\/strong\u003E — identical at 50% off on both, so pick on quality per dollar.\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Ch2\u003EFAQ\u003C\/h2\u003E\n\u003Ch3\u003EIs Claude cheaper than GPT?\u003C\/h3\u003E\n\u003Cp\u003EAt identical sticker prices, Claude Sonnet 5 is cheaper only for prompts above 272,000 tokens, where OpenAI doubles its rates and Anthropic does not. Below that threshold the two cost exactly the same.\u003C\/p\u003E\n\u003Ch3\u003EWhy does GPT-6 Sol double above 272K?\u003C\/h3\u003E\n\u003Cp\u003EOpenAI prices long-context requests on a separate tier: $4 input and $15 output per million tokens once the prompt exceeds 272,000 tokens. The tier applies to the whole request, not just the excess.\u003C\/p\u003E\n\u003Ch3\u003EDoes Claude have a long-context surcharge?\u003C\/h3\u003E\n\u003Cp\u003ENo. Claude Sonnet 5 and Opus 5 bill a flat $2\/$10 and $5\/$25 respectively across the full 1M-token window.\u003C\/p\u003E\n\u003Ch3\u003EWhich has the cheaper prompt cache?\u003C\/h3\u003E\n\u003Cp\u003EGPT-6.1 Sol at $0.10 per million cached tokens, half the $0.20 charged by GPT-6 Sol and Claude Sonnet 5.\u003C\/p\u003E\n\n\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/claude-pricing-guide-2026.html\"\u003EClaude Pricing Guide 2026\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/openai-gpt-pricing-guide-2026.html\"\u003EOpenAI GPT Pricing Guide 2026\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/prompt-caching-explained.html\"\u003EPrompt Caching Explained\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Cp\u003ERun your own token volumes through the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Efree LLM cost calculator\u003C\/a\u003E, or see the head-to-head page for \u003Ca href=\"https:\/\/rabayid.com\/compare\/gpt-6-sol-vs-claude-sonnet-5\"\u003EGPT-6 Sol vs Claude Sonnet 5\u003C\/a\u003E.\u003C\/p\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/7825854686010873045\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/gpt-vs-claude-cost-compared.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/7825854686010873045"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/7825854686010873045"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/gpt-vs-claude-cost-compared.html","title":"GPT vs Claude: Cost Compared"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-3632565311003851840"},"published":{"$t":"2026-11-02T21:51:24.475+02:00"},"updated":{"$t":"2026-11-02T21:51:24.509+02:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"AI Pricing"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Calculators"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Google"}],"title":{"type":"text","$t":"Gemini Pricing Guide 2026"},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EGoogle's Gemini price list is the only one in this dataset with an expiry date.\u003C\/strong\u003E Gemini 3.8 Flash and 3.7 Flash both bill $0.75 per million input tokens and $3.75 per million output — and both double on 1 January 2027. The introductory rate is not a rumour or a footnote in a blog post; it is a promotional price with a published end date, which makes it the single most important line in any 2027 budget built on Gemini.\u003C\/p\u003E\n\n\u003Cp\u003EEverything else about the lineup is genuinely competitive: six models, a million-token window on five of them, no cache-write fee at all, and the cheapest output rate of any non-Chinese provider. This guide separates the rates that will hold from the ones that will not.\u003C\/p\u003E\n\n\u003Cfigure\u003E\u003Cimg src=\"https:\/\/rabayid.com\/images\/blog\/cheapest-depends-entirely-on-your-input.png\" alt=\"Why the cheapest LLM depends on your input to output token ratio\" loading=\"lazy\" width=\"1200\" height=\"630\"\/\u003E\u003Cfigcaption\u003EThe cheapest model depends on the input-to-output ratio of your workload.\u003C\/figcaption\u003E\u003C\/figure\u003E\n\n\u003Ch2\u003EEvery Gemini rate, October 2026\u003C\/h2\u003E\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EInput\u003C\/th\u003E\u003Cth\u003ECached\u003C\/th\u003E\u003Cth\u003EWrite\u003C\/th\u003E\u003Cth\u003EOutput\u003C\/th\u003E\u003Cth\u003EContext\u003C\/th\u003E\u003Cth\u003ELong-context tier\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 Flash \u003Cem\u003E(intro)\u003C\/em\u003E\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$0.075\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E$3.75\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003EAbove 200K: $1.50 \/ $7.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.7 Flash \u003Cem\u003E(intro)\u003C\/em\u003E\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$0.075\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E$3.75\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003EAbove 200K: $1.50 \/ $7.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash\u003C\/td\u003E\u003Ctd\u003E$1.50\u003C\/td\u003E\u003Ctd\u003E$0.15\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E$9.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash-Lite\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$0.03\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.1 Pro \u003Cem\u003E(preview)\u003C\/em\u003E\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E$12.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003EAbove 200K: $4.00 \/ $18.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 2.5 Pro\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E$0.125\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003EAbove 200K: $2.50 \/ $15.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003E\u003Cem\u003EVerified October 2026. The Flash 3.8 and 3.7 introductory rates end on 31 December 2026 and double on 1 January 2027. Gemini 3.1 Pro is preview pricing. All six models support the Batch API.\u003C\/em\u003E\u003C\/p\u003E\n\n\u003Ch2\u003EWhat a real workload costs\u003C\/h2\u003E\n\u003Cp\u003ESupport chat: 1,000 conversations, 4,000 input and 600 output tokens each. Cached RAG: 1,000 requests with a 50,000-token prompt, 45,000 of it a reusable retrieval block, and a 1,000-token answer.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003ESupport chat\u003C\/th\u003E\u003Cth\u003ECached RAG\u003C\/th\u003E\u003Cth\u003ENightly batch\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 Flash\u003C\/td\u003E\u003Ctd\u003E$5.25\u003C\/td\u003E\u003Ctd\u003E$10.87\u003C\/td\u003E\u003Ctd\u003E$150 → $75 in batch\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.7 Flash\u003C\/td\u003E\u003Ctd\u003E$5.25\u003C\/td\u003E\u003Ctd\u003E$10.87\u003C\/td\u003E\u003Ctd\u003E$150 → $75 in batch\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash\u003C\/td\u003E\u003Ctd\u003E$11.40\u003C\/td\u003E\u003Ctd\u003E$22.37\u003C\/td\u003E\u003Ctd\u003E$300 → $150 in batch\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash-Lite\u003C\/td\u003E\u003Ctd\u003E$2.70\u003C\/td\u003E\u003Ctd\u003E$5.35\u003C\/td\u003E\u003Ctd\u003E$80 → $40 in batch\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.1 Pro\u003C\/td\u003E\u003Ctd\u003E$15.20\u003C\/td\u003E\u003Ctd\u003E$30.99\u003C\/td\u003E\u003Ctd\u003E$440 → $220 in batch\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 2.5 Pro\u003C\/td\u003E\u003Ctd\u003E$11.00\u003C\/td\u003E\u003Ctd\u003E$22.12\u003C\/td\u003E\u003Ctd\u003E$325 → $162.50 in batch\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003ETwo observations. Flash-Lite is the cheapest way to run a support bot of any model in this dataset except GPT-6 Luna — $2.70 per thousand conversations. And 3.8 Flash sits within 2× of Flash-Lite on chat but roughly 2× cheaper than 3.5 Flash, which is the older model it replaced: Google has been cutting Flash prices, not raising them, right up until the January deadline.\u003C\/p\u003E\n\n\u003Ch2\u003EThe January doubling: budget for 2×, not 1×\u003C\/h2\u003E\n\u003Cp\u003EOn 1 January 2027, Gemini 3.8 Flash and 3.7 Flash move from $0.75\/$3.75 to $1.50\/$7.50. The same support workload above goes from $5.25 to $10.50 per thousand conversations. The nightly batch job goes from $75 to $150. A product doing 200,000 conversations a month moves from $1,050 to $2,100 — a $12,600 annual difference that appears in no invoice until it does.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EWorkload\u003C\/th\u003E\u003Cth\u003E2026 (intro)\u003C\/th\u003E\u003Cth\u003E2027 (standard)\u003C\/th\u003E\u003Cth\u003EIncrease\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003E1,000 support conversations\u003C\/td\u003E\u003Ctd\u003E$5.25\u003C\/td\u003E\u003Ctd\u003E$10.50\u003C\/td\u003E\u003Ctd\u003E+100%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E1,000 cached RAG requests\u003C\/td\u003E\u003Ctd\u003E$10.87\u003C\/td\u003E\u003Ctd\u003E$21.74\u003C\/td\u003E\u003Ctd\u003E+100%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ENightly batch (10K requests)\u003C\/td\u003E\u003Ctd\u003E$75.00\u003C\/td\u003E\u003Ctd\u003E$150.00\u003C\/td\u003E\u003Ctd\u003E+100%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E200K conversations \/ month\u003C\/td\u003E\u003Ctd\u003E$1,050\u003C\/td\u003E\u003Ctd\u003E$2,100\u003C\/td\u003E\u003Ctd\u003E+$12,600\/yr\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EThe honest reading is not \"Gemini is a trap\". It is that \u003Cstrong\u003Ethe introductory price is a trial, and the standard price is the real comparison\u003C\/strong\u003E. At $1.50\/$7.50, 3.8 Flash still undercuts Claude Sonnet 5 on input and matches it on output, but it stops being the obvious default. Any model-selection decision made in late 2026 should be stress-tested against the 2027 rate.\u003C\/p\u003E\n\n\u003Ch2\u003EThe 200K cliff is lower than OpenAI's\u003C\/h2\u003E\n\u003Cp\u003EGoogle applies a long-context surcharge earlier than anyone else. Above \u003Cstrong\u003E200,000 input tokens\u003C\/strong\u003E, Gemini 3.8 Flash doubles to $1.50\/$7.50 and Gemini 3.1 Pro moves from $2\/$12 to $4\/$18. OpenAI's threshold is 272,000; Anthropic has none at all up to 1M.\u003C\/p\u003E\n\n\u003Cp\u003EFor a 300,000-token document, the difference is concrete:\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003E300K input cost\u003C\/th\u003E\u003Cth\u003Evs base rate\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$0.60\u003C\/td\u003E\u003Ctd\u003E1×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 Flash (tier)\u003C\/td\u003E\u003Ctd\u003E$0.45\u003C\/td\u003E\u003Ctd\u003E2× its own base\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.1 Pro (tier)\u003C\/td\u003E\u003Ctd\u003E$1.20\u003C\/td\u003E\u003Ctd\u003E2× its own base\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol (tier)\u003C\/td\u003E\u003Ctd\u003E$1.20\u003C\/td\u003E\u003Ctd\u003E2× its own base\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EGemini is still the absolute cheapest at that length — but the surcharge halves the advantage, and it arrives 72,000 tokens earlier than OpenAI's. If your retrieval layer routinely lands between 200K and 272K tokens, Gemini charges the tier and GPT-6 does not. Details in \u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/long-context-cost-explained.html\"\u003Elong-context cost explained\u003C\/a\u003E.\u003C\/p\u003E\n\n\u003Ch2\u003EFree cache writes change the caching decision\u003C\/h2\u003E\n\u003Cp\u003EGoogle publishes no cache-write fee on any Gemini model. OpenAI and Anthropic both charge 1.25× the input rate to store a prefix; Google charges nothing, and then bills cached reads at 10% of base.\u003C\/p\u003E\n\n\u003Cp\u003EThat flips the usual calculation. On Anthropic you need two uses to break even. On Gemini, caching is free to try: the first reuse is already profitable, and a prefix used twice costs 55% less than sending it twice uncached. For RAG pipelines with a stable document block, the cached RAG row above — $10.87 instead of $21.74 — is the entire difference between a viable product and a marginal one.\u003C\/p\u003E\n\n\u003Ch2\u003EBatch and the rest\u003C\/h2\u003E\n\u003Cp\u003EAll six models support the Batch API at roughly half price, so the nightly job column above is realistic rather than theoretical. There is no batch tier on Flash-Lite's cheaper sibling — there is no cheaper sibling — and no off-peak discount of the kind DeepSeek offers.\u003C\/p\u003E\n\n\u003Ch2\u003EWhich Gemini to use\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003ECost-sensitive chat and extraction\u003C\/strong\u003E — Flash-Lite at $0.30\/$2.50. It is the cheapest output rate outside China and the cheapest cached rate in the entire dataset at $0.03.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EDefault product model through 2026\u003C\/strong\u003E — 3.8 Flash at $0.75\/$3.75, with a plan for 2× in January.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ECoding and agent workloads\u003C\/strong\u003E — 3.7 Flash, same price as 3.8 but tuned for tool use.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ELong documents under 200K\u003C\/strong\u003E — 3.1 Pro at $2\/$12, or 2.5 Pro at $1.25\/$10 if the older model still passes your evals.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EAnything above 200K tokens\u003C\/strong\u003E — compare against Claude Sonnet 5 before defaulting to Gemini; the surcharge is real.\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Ch2\u003EFAQ\u003C\/h2\u003E\n\u003Ch3\u003EIs Gemini really doubling in price?\u003C\/h3\u003E\n\u003Cp\u003EThe introductory rates for Gemini 3.8 Flash and 3.7 Flash end on 31 December 2026 and double to $1.50 input and $7.50 output per million tokens on 1 January 2027. The other four models in this dataset are not affected by that change.\u003C\/p\u003E\n\u003Ch3\u003EDoes Gemini charge for prompt caching?\u003C\/h3\u003E\n\u003Cp\u003ENo write fee, and cached reads bill at 10% of the input rate. That is the most forgiving cache policy of the four major Western providers.\u003C\/p\u003E\n\u003Ch3\u003EWhen does the long-context tier start?\u003C\/h3\u003E\n\u003Cp\u003EAbove 200,000 input tokens on 3.8 Flash, 3.7 Flash, 3.1 Pro and 2.5 Pro. Gemini 3.5 Flash and Flash-Lite have no long-context tier.\u003C\/p\u003E\n\u003Ch3\u003EWhat is the cheapest Gemini model?\u003C\/h3\u003E\n\u003Cp\u003EGemini 3.5 Flash-Lite at $0.30 input and $2.50 output per million tokens, with a $0.03 cached rate.\u003C\/p\u003E\n\n\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/gpt-vs-gemini-cost-compared.html\"\u003EGPT vs Gemini: Cost Compared\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/hidden-costs-in-llm-apis.html\"\u003EHidden Costs in LLM APIs\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/llm-cost-formula-explained.html\"\u003ELLM Cost Formula Explained\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Cp\u003ERates come from the dataset behind the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Efree LLM cost calculator\u003C\/a\u003E. See \u003Ca href=\"https:\/\/rabayid.com\/providers\/google\"\u003Eall Gemini models and rates\u003C\/a\u003E for the full comparison table.\u003C\/p\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/3632565311003851840\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/gemini-pricing-guide-2026.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/3632565311003851840"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/3632565311003851840"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/gemini-pricing-guide-2026.html","title":"Gemini Pricing Guide 2026"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-422687263683954674"},"published":{"$t":"2026-11-02T21:51:01.382+02:00"},"updated":{"$t":"2026-11-02T21:51:01.416+02:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"AI Pricing"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Calculators"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Comparisons"}],"title":{"type":"text","$t":"GPT vs Gemini: Cost Compared"},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EThis comparison has a strange shape: the answer changes on 1 January 2027, and it changes without either company doing anything.\u003C\/strong\u003E Today, Gemini 3.8 Flash costs $0.75 per million input tokens against GPT-6 Sol's $2.00 — a 2.7× gap on the input side and the same on output, $3.75 against $10.00. That gap is large enough that price alone settles most decisions.\u003C\/p\u003E\n\n\u003Cp\u003EOn 1 January, Gemini 3.8 Flash's introductory rate ends and doubles to $1.50\/$7.50. The gap does not close — it narrows from 2.7× to 1.3×. That is still a Gemini advantage, but it is no longer a decision that makes itself. Here is the arithmetic on both sides of the date.\u003C\/p\u003E\n\n\u003Cfigure\u003E\u003Cimg src=\"https:\/\/rabayid.com\/images\/blog\/gpt-6-luna-vs-deepseek-v4-cost.png\" alt=\"GPT-6 Luna versus DeepSeek V4 cost comparison chart\" loading=\"lazy\" width=\"1200\" height=\"630\"\/\u003E\u003Cfigcaption\u003EBudget tiers moved the price floor in 2026; mid-tier pricing is where the GPT–Gemini gap lives.\u003C\/figcaption\u003E\u003C\/figure\u003E\n\n\u003Ch2\u003ESide by side\u003C\/h2\u003E\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EMetric\u003C\/th\u003E\u003Cth\u003EGPT-6 Sol\u003C\/th\u003E\u003Cth\u003EGemini 3.8 Flash\u003C\/th\u003E\u003Cth\u003EAdvantage\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EInput \/ 1M\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003EGemini 2.7×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EOutput \/ 1M\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$3.75\u003C\/td\u003E\u003Ctd\u003EGemini 2.7×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECached input \/ 1M\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$0.075\u003C\/td\u003E\u003Ctd\u003EGemini 2.7×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECache write \/ 1M\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003EGemini\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EContext window\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003EGPT-6 Sol (marginal)\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ELong-context tier\u003C\/td\u003E\u003Ctd\u003EAbove 272K\u003C\/td\u003E\u003Ctd\u003EAbove 200K\u003C\/td\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EBatch API\u003C\/td\u003E\u003Ctd\u003EYes, 50%\u003C\/td\u003E\u003Ctd\u003EYes, 50%\u003C\/td\u003E\u003Ctd\u003ETie\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ERate stability\u003C\/td\u003E\u003Ctd\u003EStable\u003C\/td\u003E\u003Ctd\u003EDoubles 1 Jan 2027\u003C\/td\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Ch2\u003EThree workloads\u003C\/h2\u003E\n\u003Cp\u003ESupport chat: 1,000 conversations of 4,000 input and 600 output tokens. Cached RAG: 1,000 requests, 50,000-token prompt with 45,000 cached, 1,000-token answer. Nightly batch: 10,000 requests of 10,000 input and 2,000 output tokens.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EWorkload\u003C\/th\u003E\u003Cth\u003EGPT-6 Sol\u003C\/th\u003E\u003Cth\u003EGemini 3.8 Flash\u003C\/th\u003E\u003Cth\u003EGemini saves\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003ESupport chat\u003C\/td\u003E\u003Ctd\u003E$14.00\u003C\/td\u003E\u003Ctd\u003E$5.25\u003C\/td\u003E\u003Ctd\u003E63%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECached RAG\u003C\/td\u003E\u003Ctd\u003E$29.10\u003C\/td\u003E\u003Ctd\u003E$10.87\u003C\/td\u003E\u003Ctd\u003E63%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ENightly batch\u003C\/td\u003E\u003Ctd\u003E$200.00\u003C\/td\u003E\u003Ctd\u003E$75.00\u003C\/td\u003E\u003Ctd\u003E63%\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EThe saving is a constant 63% because the ratio between the two price sheets is constant. There is no workload shape where GPT-6 Sol closes the gap at list price — only a quality difference can justify the premium, and that is an evaluation question rather than a pricing one.\u003C\/p\u003E\n\n\u003Ch2\u003EThe January doubling, in numbers\u003C\/h2\u003E\n\u003Cp\u003EGemini 3.8 Flash and 3.7 Flash both move from $0.75\/$3.75 to $1.50\/$7.50 on 1 January 2027. Re-running the same three workloads:\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EWorkload\u003C\/th\u003E\u003Cth\u003EGPT-6 Sol\u003C\/th\u003E\u003Cth\u003EGemini 2026\u003C\/th\u003E\u003Cth\u003EGemini 2027\u003C\/th\u003E\u003Cth\u003E2027 gap\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003ESupport chat\u003C\/td\u003E\u003Ctd\u003E$14.00\u003C\/td\u003E\u003Ctd\u003E$5.25\u003C\/td\u003E\u003Ctd\u003E$10.50\u003C\/td\u003E\u003Ctd\u003E1.33×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECached RAG\u003C\/td\u003E\u003Ctd\u003E$29.10\u003C\/td\u003E\u003Ctd\u003E$10.87\u003C\/td\u003E\u003Ctd\u003E$21.74\u003C\/td\u003E\u003Ctd\u003E1.34×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ENightly batch\u003C\/td\u003E\u003Ctd\u003E$200.00\u003C\/td\u003E\u003Ctd\u003E$75.00\u003C\/td\u003E\u003Ctd\u003E$150.00\u003C\/td\u003E\u003Ctd\u003E1.33×\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EGemini still wins every row, by about a third rather than by two thirds. A team that chose Gemini purely on a 63% saving will find that justification roughly halved in January. A team that chose it on a 33% saving plus other factors will not notice.\u003C\/p\u003E\n\n\u003Ch2\u003EThe cliff arrives 72,000 tokens earlier\u003C\/h2\u003E\n\u003Cp\u003EGemini applies its long-context tier above 200,000 input tokens; OpenAI waits until 272,000. That means there is a band — 200K to 272K — where Gemini pays a surcharge and GPT-6 Sol does not, which is the one place where GPT can be cheaper.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EPrompt length\u003C\/th\u003E\u003Cth\u003EGPT-6 Sol\u003C\/th\u003E\u003Cth\u003EGemini 3.8 Flash\u003C\/th\u003E\u003Cth\u003ECheaper\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003E150K input\u003C\/td\u003E\u003Ctd\u003E$62.25\u003C\/td\u003E\u003Ctd\u003E$24.75\u003C\/td\u003E\u003Ctd\u003EGemini 2.5×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E250K input\u003C\/td\u003E\u003Ctd\u003E$103.00\u003C\/td\u003E\u003Ctd\u003E$96.75 \u003Cem\u003E(tier)\u003C\/em\u003E\u003C\/td\u003E\u003Ctd\u003EGemini 1.06×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E300K input\u003C\/td\u003E\u003Ctd\u003E$244.50 \u003Cem\u003E(tier)\u003C\/em\u003E\u003C\/td\u003E\u003Ctd\u003E$92.25 \u003Cem\u003E(tier)\u003C\/em\u003E\u003C\/td\u003E\u003Ctd\u003EGemini 2.7×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E900K input\u003C\/td\u003E\u003Ctd\u003E$729.00 \u003Cem\u003E(tier)\u003C\/em\u003E\u003C\/td\u003E\u003Ctd\u003E$274.50 \u003Cem\u003E(tier)\u003C\/em\u003E\u003C\/td\u003E\u003Ctd\u003EGemini 2.7×\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EEach row assumes 200 requests with a 1,500-token answer. The 250K row is the only near-tie in the table, and it exists only because Gemini's tier starts 72,000 tokens earlier. Even there Gemini is marginally ahead — the surcharge is not large enough to flip the comparison, only to narrow it to 6%.\u003C\/p\u003E\n\n\u003Ch2\u003ECache writes: free on one side, 1.25× on the other\u003C\/h2\u003E\n\u003Cp\u003EGoogle publishes no cache-write fee. OpenAI charges $2.50 per million tokens to store a prefix on GPT-6 Sol, a 25% premium over the input rate. On a 45,000-token retrieval block written once per job, the fee is $0.11 — small, but it is a fee that does not exist on the other side.\u003C\/p\u003E\n\n\u003Cp\u003EBoth bill cached reads at 10% of input. Gemini's $0.075 is simply 2.7× lower because its base rate is. For a RAG pipeline, the cached rate is the number that dominates the bill, which is why the 63% saving in the RAG row is larger in absolute terms than the chat row.\u003C\/p\u003E\n\n\u003Ch2\u003EWhere GPT-6 Sol still earns its premium\u003C\/h2\u003E\n\u003Cp\u003EPrice is not the only input, and this dataset measures only price. Three structural reasons to pay 1.3–2.7× more:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003ERate stability.\u003C\/strong\u003E OpenAI's GPT-6 rates are not promotional. Gemini's Flash rates double in January, which makes any multi-year contract harder to forecast.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EThe 200K–272K band.\u003C\/strong\u003E If your documents routinely land there, Gemini's tier applies and GPT's does not.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EModel behaviour.\u003C\/strong\u003E A cheaper model that needs two attempts costs twice as much. If Gemini fails your evaluation and GPT-6 passes it first time, the 2.7× gap is already closed.\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Ch2\u003EDecision guide\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003ECost-first products at scale\u003C\/strong\u003E — Gemini 3.8 Flash through 2026, with the 2027 budget at double.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ELong documents above 200K\u003C\/strong\u003E — Gemini still wins, but check the tier on both sides before assuming.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EDocuments between 200K and 272K\u003C\/strong\u003E — the closest call in this comparison; GPT-6 Sol is within 6% and has no expiry date on its rate.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EAnything with a stable prefix\u003C\/strong\u003E — Gemini's free cache write makes it the cheaper experiment.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ERegulated or long-horizon budgets\u003C\/strong\u003E — GPT-6 Sol's stable rate is worth part of the premium.\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Ch2\u003EFAQ\u003C\/h2\u003E\n\u003Ch3\u003EIs Gemini cheaper than GPT-6?\u003C\/h3\u003E\n\u003Cp\u003EYes, on every workload measured here. Gemini 3.8 Flash is 63% cheaper at its 2026 introductory rate and about 25% cheaper after the January 2027 doubling.\u003C\/p\u003E\n\u003Ch3\u003EWhen does Gemini get more expensive?\u003C\/h3\u003E\n\u003Cp\u003E1 January 2027, when the 3.8 and 3.7 Flash introductory rates double from $0.75\/$3.75 to $1.50\/$7.50 per million tokens.\u003C\/p\u003E\n\u003Ch3\u003EDoes Gemini charge for cache writes?\u003C\/h3\u003E\n\u003Cp\u003ENo. Cached reads bill at 10% of the input rate and there is no write fee, which makes caching strictly cheaper than on OpenAI or Anthropic.\u003C\/p\u003E\n\u003Ch3\u003EWhich has the larger context window?\u003C\/h3\u003E\n\u003Cp\u003EGPT-6 Sol at 1,050,000 tokens versus Gemini's 1,000,000 — a 5% difference that matters far less than the long-context tier thresholds.\u003C\/p\u003E\n\n\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/gemini-pricing-guide-2026.html\"\u003EGemini Pricing Guide 2026\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/openai-gpt-pricing-guide-2026.html\"\u003EOpenAI GPT Pricing Guide 2026\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/long-context-cost-explained.html\"\u003ELong Context Cost Explained\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Cp\u003EPut your own numbers into the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Efree LLM cost calculator\u003C\/a\u003E, or open the head-to-head page for \u003Ca href=\"https:\/\/rabayid.com\/compare\/gpt-6-sol-vs-gemini-3.7-flash\"\u003EGPT-6 Sol vs Gemini 3.7 Flash\u003C\/a\u003E.\u003C\/p\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/422687263683954674\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/gpt-vs-gemini-cost-compared.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/422687263683954674"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/422687263683954674"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/gpt-vs-gemini-cost-compared.html","title":"GPT vs Gemini: Cost Compared"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-3708924909378828042"},"published":{"$t":"2026-11-02T21:50:43.570+02:00"},"updated":{"$t":"2026-11-02T21:50:43.607+02:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"AI Pricing"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Calculators"},{"scheme":"http://www.blogger.com/atom/ns#","term":"DeepSeek"}],"title":{"type":"text","$t":"DeepSeek Pricing Guide 2026"},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003E\"DeepSeek is 17× cheaper than ChatGPT\" was true, and it is no longer the useful sentence.\u003C\/strong\u003E The comparison that produced that number was DeepSeek V4 against GPT-5.5 at $5 input and $30 output. GPT-5.5 is now a legacy model, GPT-6 Luna launched at $0.10 input and $0.50 output, and DeepSeek's own V4.1 Flash sits at $0.30\/$1.20. The 17× headline survives only if you compare against a model nobody starting today would choose.\u003C\/p\u003E\n\n\u003Cp\u003EThat does not make DeepSeek irrelevant. It makes the decision more interesting: DeepSeek now wins on a different axis — a 1.1 million-token context window at a flat rate, the cheapest cached-input price in the dataset, open weights, and a 50% off-peak discount that no batch API can match for scheduled work. Here is the arithmetic that decides when each advantage actually applies.\u003C\/p\u003E\n\n\u003Cfigure\u003E\u003Cimg src=\"https:\/\/rabayid.com\/images\/blog\/deepseek-vs-chatgpt-api-17x-price-gap.png\" alt=\"DeepSeek versus ChatGPT API price gap per million tokens\" loading=\"lazy\" width=\"1200\" height=\"630\"\/\u003E\u003Cfigcaption\u003EThe 17× gap was measured against GPT-5.5, not against today's budget tiers.\u003C\/figcaption\u003E\u003C\/figure\u003E\n\n\u003Ch2\u003EDeepSeek's current rates\u003C\/h2\u003E\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EInput\u003C\/th\u003E\u003Cth\u003ECached\u003C\/th\u003E\u003Cth\u003EWrite\u003C\/th\u003E\u003Cth\u003EOutput\u003C\/th\u003E\u003Cth\u003EContext\u003C\/th\u003E\u003Cth\u003EBatch\u003C\/th\u003E\u003Cth\u003EOff-peak\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4.1 Flash\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$0.006\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E$1.20\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003Ctd\u003ENo\u003C\/td\u003E\u003Ctd\u003E−50%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4 Pro\u003C\/td\u003E\u003Ctd\u003E$1.32\u003C\/td\u003E\u003Ctd\u003E$0.044\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E$3.96\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003ENo\u003C\/td\u003E\u003Ctd\u003E−50%\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003E\u003Cem\u003EVerified October 2026. Both models are open-weight. Peak rates are shown; the off-peak window bills at half. Neither model offers a Batch API.\u003C\/em\u003E\u003C\/p\u003E\n\n\u003Ch2\u003EWhere the 17× came from\u003C\/h2\u003E\n\u003Cp\u003EV4.1 Flash charges $0.30 input against GPT-5.5's $5.00 — a 16.7× gap — and $1.20 output against $30.00, a 25× gap. Against GPT-6 Sol at $2\/$10 the same model is 6.7× and 8.3× cheaper. Against GPT-6 Luna at $0.10\/$0.50, DeepSeek is \u003Cstrong\u003Ethree times more expensive on input and 2.4× on output\u003C\/strong\u003E.\u003C\/p\u003E\n\n\u003Cp\u003EThe lesson is not that DeepSeek got worse. It is that the budget tier of every Western provider collapsed in price during 2026, and the \"cheapest API\" title moved with it. A comparison written in early 2026 is now a misleading one.\u003C\/p\u003E\n\n\u003Ch2\u003EThe budget tier, ranked by an actual workload\u003C\/h2\u003E\n\u003Cp\u003E1,000 support conversations: 4,000 input and 600 output tokens each.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EPeak cost\u003C\/th\u003E\u003Cth\u003EDiscounted cost\u003C\/th\u003E\u003Cth\u003EDiscount type\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Luna\u003C\/td\u003E\u003Ctd\u003E$0.70\u003C\/td\u003E\u003Ctd\u003E$0.70\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4.1 Flash\u003C\/td\u003E\u003Ctd\u003E$1.92\u003C\/td\u003E\u003Ctd\u003E$0.96\u003C\/td\u003E\u003Ctd\u003EOff-peak 50%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Luna\u003C\/td\u003E\u003Ctd\u003E$1.52\u003C\/td\u003E\u003Ctd\u003E$1.52\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash-Lite\u003C\/td\u003E\u003Ctd\u003E$2.70\u003C\/td\u003E\u003Ctd\u003E$1.35\u003C\/td\u003E\u003Ctd\u003EBatch 50%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4 Pro\u003C\/td\u003E\u003Ctd\u003E$7.66\u003C\/td\u003E\u003Ctd\u003E$3.83\u003C\/td\u003E\u003Ctd\u003EOff-peak 50%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Haiku 4.5\u003C\/td\u003E\u003Ctd\u003E$7.00\u003C\/td\u003E\u003Ctd\u003E$3.50\u003C\/td\u003E\u003Ctd\u003EBatch 50%\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EEven at half price, DeepSeek V4.1 Flash does not beat GPT-6 Luna on a chat workload. It beats Flash-Lite, and it beats its own Pro sibling by 4×. If cheap chat is the goal, the answer in this dataset is not DeepSeek.\u003C\/p\u003E\n\n\u003Ch2\u003EThe off-peak discount is the real product\u003C\/h2\u003E\n\u003Cp\u003EDeepSeek halves both input and output outside peak hours. For any workload that can be scheduled — nightly enrichment, backfills, report generation, batch evaluation — that is functionally a batch API with a different trigger. The comparison is direct:\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EWorkload\u003C\/th\u003E\u003Cth\u003EV4.1 Flash peak\u003C\/th\u003E\u003Cth\u003EV4.1 Flash off-peak\u003C\/th\u003E\u003Cth\u003EGPT-6 Luna\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003E1,000 support conversations\u003C\/td\u003E\u003Ctd\u003E$1.92\u003C\/td\u003E\u003Ctd\u003E$0.96\u003C\/td\u003E\u003Ctd\u003E$0.70\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ENightly job, 10K requests\u003C\/td\u003E\u003Ctd\u003E$54.00\u003C\/td\u003E\u003Ctd\u003E$27.00\u003C\/td\u003E\u003Ctd\u003E$20.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECached RAG, 1,000 requests\u003C\/td\u003E\u003Ctd\u003E$2.97\u003C\/td\u003E\u003Ctd\u003E$1.49\u003C\/td\u003E\u003Ctd\u003E$1.46\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EOff-peak turns a 2.7× deficit into rough parity on RAG and a 1.4× deficit on chat. That is a meaningful difference for a pipeline that runs at 2 a.m. and a meaningless one for a live product.\u003C\/p\u003E\n\n\u003Ch2\u003ECaching at 2% is the deepest discount in the market\u003C\/h2\u003E\n\u003Cp\u003EDeepSeek bills cached input at $0.006 per million — 2% of its $0.30 base rate, and the lowest absolute cached price in this dataset. GPT-6 Luna's cached rate is $0.01, Anthropic's is $0.20, OpenAI's flagship cache is $1.00.\u003C\/p\u003E\n\n\u003Cp\u003EThere is no cache-write fee, so caching is free to enable and profitable from the first reuse. For a RAG pipeline that sends the same 45,000-token document block a thousand times, the cached portion costs $0.27 instead of $13.50. The input side of the bill falls by roughly 90%.\u003C\/p\u003E\n\n\u003Cp\u003EThe catch is that the base rate is high enough that the total still loses to GPT-6 Luna on the same workload — $2.97 versus $1.46. DeepSeek wins the cache-percentage contest and loses the invoice.\u003C\/p\u003E\n\n\u003Ch2\u003EThe 1.1M context with no surcharge\u003C\/h2\u003E\n\u003Cp\u003EThis is DeepSeek's strongest remaining structural advantage. V4.1 Flash sells 1.1 million tokens of context at a flat $0.30 input, with no long-context tier. Compare the cost of a single 900,000-token call:\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003E900K input cost\u003C\/th\u003E\u003Cth\u003ESurcharge\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4.1 Flash\u003C\/td\u003E\u003Ctd\u003E$0.27\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$1.80\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003Ctd\u003E$3.60\u003C\/td\u003E\u003Ctd\u003EDoubles above 272K\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 Flash\u003C\/td\u003E\u003Ctd\u003E$1.35\u003C\/td\u003E\u003Ctd\u003EDoubles above 200K\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EAt that length DeepSeek is 13× cheaper than GPT-6 Sol and 6.7× cheaper than Claude Sonnet 5. For whole-codebase analysis, long transcript processing or single-pass document reasoning, nothing else in this dataset is close on absolute price. The trade-off is model quality: a 900K-token prompt is only useful if the model can still reason across it.\u003C\/p\u003E\n\n\u003Ch2\u003ENo batch API: what it costs\u003C\/h2\u003E\n\u003Cp\u003EDeepSeek is the only provider here without a batch tier. The off-peak window is the substitute, but it is not identical: batch guarantees the discount regardless of when you submit, while off-peak requires you to control scheduling. If your pipeline is triggered by user activity rather than a cron job, you pay peak rates — and at peak, DeepSeek V4.1 Flash is 2.7× GPT-6 Luna for the same chat workload.\u003C\/p\u003E\n\n\u003Ch2\u003EWhen to use DeepSeek\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003EPrompts above 300K tokens\u003C\/strong\u003E — the flat 1.1M window is the cheapest way to process a very long document in one pass.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EOvernight pipelines\u003C\/strong\u003E — off-peak halves the bill and the work is already asynchronous.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ECache-heavy RAG at scale\u003C\/strong\u003E — $0.006 cached input is unbeatable per token, even if the total loses to Luna on short prompts.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ESelf-hosting requirements\u003C\/strong\u003E — open weights mean the API is an option, not a dependency.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ENot for cheap chat\u003C\/strong\u003E — GPT-6 Luna is cheaper at peak and off-peak alike.\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Ch2\u003EFAQ\u003C\/h2\u003E\n\u003Ch3\u003EIs DeepSeek still the cheapest LLM API?\u003C\/h3\u003E\n\u003Cp\u003ENo. GPT-6 Luna at $0.10 input and $0.50 output undercuts DeepSeek V4.1 Flash at $0.30\/$1.20, even after DeepSeek's 50% off-peak discount. DeepSeek remains the cheapest option for very long prompts and for cached input per token.\u003C\/p\u003E\n\u003Ch3\u003EHow does the off-peak discount work?\u003C\/h3\u003E\n\u003Cp\u003ERequests outside peak hours bill at half the published rate on both input and output. It applies to V4.1 Flash and V4 Pro and requires no enrolment — only that the job can wait for the window.\u003C\/p\u003E\n\u003Ch3\u003EDoes DeepSeek have a batch API?\u003C\/h3\u003E\n\u003Cp\u003ENo. It is the only provider in this dataset without one; the off-peak window is the closest equivalent.\u003C\/p\u003E\n\u003Ch3\u003EHow large is the context window?\u003C\/h3\u003E\n\u003Cp\u003E1.1 million tokens on V4.1 Flash and 1 million on V4 Pro, both without a long-context surcharge.\u003C\/p\u003E\n\n\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/deepseek-vs-chatgpt-api-17x-price-gap.html\"\u003EThe 17× price gap, revisited\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/gpt-6-luna-vs-deepseek-v4-cost.html\"\u003EGPT-6 Luna vs DeepSeek V4\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/long-context-cost-explained.html\"\u003ELong Context Cost Explained\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Cp\u003EAll figures come from the dataset behind the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Efree LLM cost calculator\u003C\/a\u003E. See \u003Ca href=\"https:\/\/rabayid.com\/providers\/deepseek\"\u003Eall DeepSeek models and rates\u003C\/a\u003E for the live table.\u003C\/p\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/3708924909378828042\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/deepseek-pricing-guide-2026.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/3708924909378828042"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/3708924909378828042"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/deepseek-pricing-guide-2026.html","title":"DeepSeek Pricing Guide 2026"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-4423141447929965176"},"published":{"$t":"2026-11-02T21:50:22.382+02:00"},"updated":{"$t":"2026-11-02T21:50:22.432+02:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"AI Pricing"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Anthropic"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Calculators"}],"title":{"type":"text","$t":"Claude Pricing Guide 2026"},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EAnthropic's price list looks almost boringly flat.\u003C\/strong\u003E Five models, four of them clustered between $1 and $10 per million input tokens, and one workhorse — Claude Sonnet 5 — sitting at $2\/$10 since August 2026. Compared with OpenAI's thirteen tiers and Google's introductory discounts, it reads like a company that has stopped competing on price.\u003C\/p\u003E\n\n\u003Cp\u003EThat reading is wrong, and it costs teams money in both directions. Three rules inside Anthropic's pricing decide whether Claude is the expensive option or the cheap one: a cache-write premium that is the highest in the market, a cache-read cut on the flagship that is the deepest, and the absence of a long-context surcharge up to one million tokens. The last one alone can halve a bill against a comparable OpenAI model.\u003C\/p\u003E\n\n\u003Cfigure\u003E\u003Cimg src=\"https:\/\/rabayid.com\/images\/blog\/input-vs-output-token-pricing.png\" alt=\"Input versus output token pricing and why output costs more\" loading=\"lazy\" width=\"1200\" height=\"630\"\/\u003E\u003Cfigcaption\u003EOutput tokens cost 4–5× input tokens on every current model.\u003C\/figcaption\u003E\u003C\/figure\u003E\n\n\u003Ch2\u003EEvery Claude rate, October 2026\u003C\/h2\u003E\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EInput\u003C\/th\u003E\u003Cth\u003ECached\u003C\/th\u003E\u003Cth\u003EWrite\u003C\/th\u003E\u003Cth\u003EOutput\u003C\/th\u003E\u003Cth\u003EContext\u003C\/th\u003E\u003Cth\u003EBatch\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Fable 5.1\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$0.25\u003C\/td\u003E\u003Ctd\u003E$12.50\u003C\/td\u003E\u003Ctd\u003E$50.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Opus 5\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E$6.25\u003C\/td\u003E\u003Ctd\u003E$25.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 4.6\u003C\/td\u003E\u003Ctd\u003E$3.00\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$3.75\u003C\/td\u003E\u003Ctd\u003E$15.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Haiku 4.5\u003C\/td\u003E\u003Ctd\u003E$1.00\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E200K\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003E\u003Cem\u003EVerified October 2026. Fable 5.1 shipped on 1 September 2026 and cut its cached-read rate by 75%, from $1.00 to $0.25. Sonnet 5's $2\/$10 was confirmed permanent on 10 August 2026. Opus 5 kept Opus 4.8's rates when it launched on 24 July 2026.\u003C\/em\u003E\u003C\/p\u003E\n\n\u003Ch2\u003ETwo workloads, five bills\u003C\/h2\u003E\n\u003Cp\u003EThe first workload is a support assistant: 1,000 conversations, 4,000 input tokens and 600 output tokens each. The second is a RAG pipeline that reuses a 45,000-token retrieval block on a 50,000-token prompt, with a 1,000-token answer.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003ESupport chat\u003C\/th\u003E\u003Cth\u003ECached RAG\u003C\/th\u003E\u003Cth\u003ECache saving on RAG\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Fable 5.1\u003C\/td\u003E\u003Ctd\u003E$70.00\u003C\/td\u003E\u003Ctd\u003E$111.80\u003C\/td\u003E\u003Ctd\u003E−66%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Opus 5\u003C\/td\u003E\u003Ctd\u003E$35.00\u003C\/td\u003E\u003Ctd\u003E$72.76\u003C\/td\u003E\u003Ctd\u003E−63%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$14.00\u003C\/td\u003E\u003Ctd\u003E$29.10\u003C\/td\u003E\u003Ctd\u003E−74%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 4.6\u003C\/td\u003E\u003Ctd\u003E$21.00\u003C\/td\u003E\u003Ctd\u003E$43.66\u003C\/td\u003E\u003Ctd\u003E−73%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Haiku 4.5\u003C\/td\u003E\u003Ctd\u003E$7.00\u003C\/td\u003E\u003Ctd\u003E$14.55\u003C\/td\u003E\u003Ctd\u003E−69%\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EWithout caching, that RAG workload on Sonnet 5 costs $110: 50 million input tokens at $2 plus one million output at $10. With caching it costs $29.10. The saving is not a marginal optimisation — it is a different product economics, and it comes almost entirely from the cached-input rate being 10% of base.\u003C\/p\u003E\n\n\u003Ch2\u003EThe cache-write premium: highest in the market, still worth paying\u003C\/h2\u003E\n\u003Cp\u003EAnthropic charges more than anyone to \u003Cem\u003Ewrite\u003C\/em\u003E a cache. Fable 5.1 bills $12.50 per million tokens to store a prefix, against a $10 base input rate. Sonnet 5 bills $2.50 against $2.00. That is a 25% premium, and it looks like a penalty until you do the division.\u003C\/p\u003E\n\n\u003Cp\u003E\u003Cem\u003Ebreak-even calls = write rate \u00F7 (input rate − cached rate)\u003C\/em\u003E\u003C\/p\u003E\n\n\u003Cp\u003EFor Sonnet 5: 2.50 \u00F7 (2.00 − 0.20) = \u003Cstrong\u003E1.39\u003C\/strong\u003E. For Opus 5: 6.25 \u00F7 4.50 = 1.39. For Haiku 4.5: 1.25 \u00F7 0.90 = 1.39. The number is identical across the range because Anthropic prices the write at exactly 1.25× input and the read at exactly 10%.\u003C\/p\u003E\n\n\u003Cp\u003EThe practical rule is therefore unusually clean: \u003Cstrong\u003Eif a prefix is reused twice, cache it.\u003C\/strong\u003E Not ten times — twice. A support bot that handles ten conversations an hour with the same 3,000-token system prompt is throwing away roughly 85% of its input spend.\u003C\/p\u003E\n\n\u003Cp\u003EFable 5.1 is the exception that proves the rule. Its cached read is $0.25 — 2.5% of base, not 10% — because of the September cut. Break-even there is 12.50 \u00F7 9.75 = 1.28 calls. Anthropic's most expensive model has the fastest cache payback in its own lineup.\u003C\/p\u003E\n\n\u003Ch2\u003ENo long-context cliff — and that is the real differentiator\u003C\/h2\u003E\n\u003Cp\u003EThis is where Anthropic separates from OpenAI. Claude bills the same rate at 900,000 tokens as at 9,000. OpenAI moves every GPT-6 model to a long-context tier above 272,000 input tokens, where GPT-6 Sol doubles from $2\/$10 to $4\/$15.\u003C\/p\u003E\n\n\u003Cp\u003EPut a 500,000-token document in front of both:\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003E500K input\u003C\/th\u003E\u003Cth\u003E2K output\u003C\/th\u003E\u003Cth\u003ECost per call\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$1.00\u003C\/td\u003E\u003Ctd\u003E$0.02\u003C\/td\u003E\u003Ctd\u003E\u003Cstrong\u003E$1.02\u003C\/strong\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol (long-context tier)\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.03\u003C\/td\u003E\u003Ctd\u003E$2.03\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Opus 5\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$0.05\u003C\/td\u003E\u003Ctd\u003E$2.55\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Astra (long-context tier)\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$0.15\u003C\/td\u003E\u003Ctd\u003E$10.15\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EAt 500K tokens, Sonnet 5 is exactly half the price of GPT-6 Sol — despite identical sticker rates. The difference is not a discount; it is the absence of a surcharge. For contract review, codebase analysis, long audio transcripts or multi-document research, that gap compounds across every call.\u003C\/p\u003E\n\n\u003Cp\u003EGoogle applies a similar surcharge above 200,000 tokens on Gemini 3.1 Pro and both Grok models, so the pattern is industry-wide. Anthropic is currently the only major provider that sells a full million-token window at a flat rate — and it is the single strongest reason to choose Claude for long-document work. The mechanics are in \u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/long-context-cost-explained.html\"\u003Elong-context cost explained\u003C\/a\u003E.\u003C\/p\u003E\n\n\u003Ch2\u003EBatch: half price, same 24-hour wait\u003C\/h2\u003E\n\u003Cp\u003EAll five models support the Batch API at roughly 50% off input and output. A nightly classification job of 10,000 requests — 10,000 input and 2,000 output tokens each — costs $400 on Sonnet 5 at list and $200 in batch. Nothing about the model changes; only the deadline does.\u003C\/p\u003E\n\n\u003Ch2\u003EWhich Claude to use\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003EHigh-volume classification, moderation, extraction\u003C\/strong\u003E — Haiku 4.5 at $1\/$5. Its 200K context is the constraint, not its price.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EDefault product workhorse\u003C\/strong\u003E — Sonnet 5 at $2\/$10. It is the only model here that is simultaneously cheap, 1M-context and cache-friendly.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ELong-document analysis\u003C\/strong\u003E — Sonnet 5 again, for the reason above: no surcharge, and 74% of the RAG bill disappears when the document is cached.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EHard reasoning where errors are expensive\u003C\/strong\u003E — Opus 5 at $5\/$25. It costs 2.5× Sonnet and buys judgement, not throughput.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EFlagship evaluation work\u003C\/strong\u003E — Fable 5.1 at $10\/$50, but only with caching enabled; uncached RAG on Fable is the most expensive line item in this entire dataset.\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Ch2\u003EFAQ\u003C\/h2\u003E\n\u003Ch3\u003EHow much does Claude Sonnet 5 cost per million tokens?\u003C\/h3\u003E\n\u003Cp\u003E$2.00 input, $10.00 output, $0.20 cached input and $2.50 to write a cache entry. Batch mode halves input and output. There is no long-context surcharge at any point up to the 1M window.\u003C\/p\u003E\n\u003Ch3\u003EIs Claude more expensive than GPT-6?\u003C\/h3\u003E\n\u003Cp\u003EAt identical sticker prices — $2\/$10 for both Sonnet 5 and GPT-6 Sol — the answer depends on prompt length. Below 272K tokens they are close, with GPT-6.1 Sol slightly ahead thanks to a $0.10 cached rate. Above 272K, Claude is half the price because OpenAI doubles its rates and Anthropic does not.\u003C\/p\u003E\n\u003Ch3\u003EWhy is the cache-write fee so high?\u003C\/h3\u003E\n\u003Cp\u003EIt is 1.25× the input rate on every model, which is higher than Google's and DeepSeek's (both zero) and OpenAI's (also 1.25×). It still pays back on the second reuse, so the premium matters only for prompts used exactly once.\u003C\/p\u003E\n\u003Ch3\u003EDoes Haiku support the full context window?\u003C\/h3\u003E\n\u003Cp\u003ENo. Haiku 4.5 caps at 200,000 tokens; every other Claude model in this dataset reaches 1,000,000.\u003C\/p\u003E\n\n\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/gpt-vs-claude-cost-compared.html\"\u003EGPT vs Claude: Cost Compared\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/prompt-caching-explained.html\"\u003EPrompt Caching Explained\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/llm-cost-formula-explained.html\"\u003ELLM Cost Formula Explained\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Cp\u003EAll rates come from the dataset behind the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Efree LLM cost calculator\u003C\/a\u003E. See \u003Ca href=\"https:\/\/rabayid.com\/providers\/anthropic\"\u003Eall Anthropic models and rates\u003C\/a\u003E for the full table with cache and batch columns.\u003C\/p\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/4423141447929965176\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/claude-pricing-guide-2026.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/4423141447929965176"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/4423141447929965176"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/claude-pricing-guide-2026.html","title":"Claude Pricing Guide 2026"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-852055022797067326"},"published":{"$t":"2026-11-02T21:50:07.309+02:00"},"updated":{"$t":"2026-11-02T21:50:07.343+02:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"AI Pricing"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Calculators"},{"scheme":"http://www.blogger.com/atom/ns#","term":"xAI"}],"title":{"type":"text","$t":"Grok 4 API Pricing Guide"},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EEvery major provider prices output at 4–5× input. xAI prices it at 2–3×.\u003C\/strong\u003E Grok 4.3 charges $1.25 per million input tokens and $2.50 per million output — a ratio of 2.0. Grok 4.6 charges $2.00 and $6.00 — a ratio of 3.0. OpenAI, Anthropic and Google all sit at 5× across their current lineups; DeepSeek is at 4×.\u003C\/p\u003E\n\n\u003Cp\u003EThat single design choice changes which workloads Grok is good at. For a support bot where input dwarfs output, the low ratio is irrelevant and Grok looks expensive next to Gemini Flash. For content generation, code synthesis or long-form drafting — where the model writes far more than it reads — a 2× ratio can beat models with cheaper input by a wide margin. This guide works out exactly where each case applies.\u003C\/p\u003E\n\n\u003Cfigure\u003E\u003Cimg src=\"https:\/\/rabayid.com\/images\/blog\/llm-api-cost-per-1m-tokens.png\" alt=\"LLM API cost per million tokens across major providers\" loading=\"lazy\" width=\"1200\" height=\"630\"\/\u003E\u003Cfigcaption\u003EPer-million rates across providers, October 2026. The output-to-input ratio matters as much as the rate.\u003C\/figcaption\u003E\u003C\/figure\u003E\n\n\u003Ch2\u003EGrok's rates\u003C\/h2\u003E\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EInput\u003C\/th\u003E\u003Cth\u003ECached\u003C\/th\u003E\u003Cth\u003EWrite\u003C\/th\u003E\u003Cth\u003EOutput\u003C\/th\u003E\u003Cth\u003EOutput ratio\u003C\/th\u003E\u003Cth\u003EContext\u003C\/th\u003E\u003Cth\u003ELong-context tier\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.3\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E2.0×\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003EAbove 200K: $2.50 \/ $5.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.6\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E$6.00\u003C\/td\u003E\u003Ctd\u003E3.0×\u003C\/td\u003E\u003Ctd\u003E500K\u003C\/td\u003E\u003Ctd\u003EAbove 200K: $4.00 \/ $12.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003E\u003Cem\u003EVerified October 2026. Both models support the Batch API at 50% off. Neither charges a cache-write fee. Note that the newer 4.6 model has the smaller context window: 500K against 4.3's 1M.\u003C\/em\u003E\u003C\/p\u003E\n\n\u003Ch2\u003EThe ratio, in one workload\u003C\/h2\u003E\n\u003Cp\u003ETake a generation task: 1,000 requests, each reading a 1,000-token brief and writing a 4,000-token article. That is 1 million input tokens and 4 million output tokens — the inverse of a chat workload, and the shape where output price dominates.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EInput cost\u003C\/th\u003E\u003Cth\u003EOutput cost\u003C\/th\u003E\u003Cth\u003ETotal\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.3\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E\u003Cstrong\u003E$11.25\u003C\/strong\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 Flash\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$15.00\u003C\/td\u003E\u003Ctd\u003E$15.75\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.6\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$24.00\u003C\/td\u003E\u003Ctd\u003E$26.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$40.00\u003C\/td\u003E\u003Ctd\u003E$42.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$40.00\u003C\/td\u003E\u003Ctd\u003E$42.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EGrok 4.3 beats both $2\/$10 models by 3.7× on this workload despite having a higher input rate than Gemini. The entire advantage comes from the output line: $2.50 against $10.00. Any team generating long outputs and reading short inputs — marketing copy, documentation, code scaffolding, synthetic data — is paying for output ratio whether they realise it or not.\u003C\/p\u003E\n\n\u003Ch2\u003EThe same models on a chat workload\u003C\/h2\u003E\n\u003Cp\u003EReverse the shape: 1,000 conversations, 4,000 input tokens and 600 output tokens each.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003ESupport chat cost\u003C\/th\u003E\u003Cth\u003Evs Grok 4.3\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Luna\u003C\/td\u003E\u003Ctd\u003E$0.70\u003C\/td\u003E\u003Ctd\u003E9.3× cheaper\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 Flash\u003C\/td\u003E\u003Ctd\u003E$5.25\u003C\/td\u003E\u003Ctd\u003E1.2× cheaper\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.3\u003C\/td\u003E\u003Ctd\u003E$6.50\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Haiku 4.5\u003C\/td\u003E\u003Ctd\u003E$7.00\u003C\/td\u003E\u003Ctd\u003E1.1× more\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.6\u003C\/td\u003E\u003Ctd\u003E$11.60\u003C\/td\u003E\u003Ctd\u003E1.8× more\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003Ctd\u003E$14.00\u003C\/td\u003E\u003Ctd\u003E2.2× more\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EOn chat, Grok 4.3 is mid-table: cheaper than Claude Sonnet and GPT-6 Sol, more expensive than Gemini Flash and far more expensive than the budget tiers. The model does not become worse — the workload simply stops rewarding its design.\u003C\/p\u003E\n\n\u003Ch2\u003ECaching is shallower than the industry standard\u003C\/h2\u003E\n\u003Cp\u003EGrok's cached-input rate is 16% of base on 4.3 ($0.20 against $1.25) and 25% on 4.6 ($0.50 against $2.00). OpenAI, Anthropic and Google all charge 10%; DeepSeek charges 2%.\u003C\/p\u003E\n\n\u003Cp\u003EThere is no cache-write fee, so caching is still free to try and profitable from the first reuse. But the saving per cached token is smaller: on a 45,000-token retrieval block reused across 1,000 requests, Grok 4.3 bills $8.99 in cached reads where Gemini 3.8 Flash bills $3.37.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003ECached RAG workload\u003C\/th\u003E\u003Cth\u003ECache discount\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4.1 Flash\u003C\/td\u003E\u003Ctd\u003E$2.97\u003C\/td\u003E\u003Ctd\u003E98%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 Flash\u003C\/td\u003E\u003Ctd\u003E$10.87\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.3\u003C\/td\u003E\u003Ctd\u003E$17.74\u003C\/td\u003E\u003Ctd\u003E84%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$29.10\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.6\u003C\/td\u003E\u003Ctd\u003E$38.48\u003C\/td\u003E\u003Ctd\u003E75%\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Ch2\u003EThe 200K cliff and the shrinking window\u003C\/h2\u003E\n\u003Cp\u003EBoth Grok models apply a long-context tier above 200,000 input tokens, doubling the input rate and doubling the output rate: 4.3 moves to $2.50\/$5.00, 4.6 to $4.00\/$12.00. That is the same threshold Gemini uses and earlier than OpenAI's 272,000.\u003C\/p\u003E\n\n\u003Cp\u003EGrok 4.3's 1M context at a flat $1.25 below 200K is competitive. Grok 4.6's 500K window is the smallest of any non-budget model in this dataset — a surprising regression for a newer model, and a real constraint for document-heavy work.\u003C\/p\u003E\n\n\u003Ch2\u003EHow to tell whether your workload is output-heavy\u003C\/h2\u003E\n\u003Cp\u003EThe rule is mechanical: divide output tokens by input tokens. If the ratio is above 1, Grok's pricing helps you. If it is below 0.5, the low output rate is irrelevant and you are paying a premium on input.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EWorkload\u003C\/th\u003E\u003Cth\u003EOutput : input\u003C\/th\u003E\u003Cth\u003EGrok 4.3 position\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003ERAG question answering\u003C\/td\u003E\u003Ctd\u003E0.02\u003C\/td\u003E\u003Ctd\u003EWorst case — 98% of tokens are input\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ESupport chat\u003C\/td\u003E\u003Ctd\u003E0.15\u003C\/td\u003E\u003Ctd\u003EWeak — input dominates\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECode completion\u003C\/td\u003E\u003Ctd\u003E0.30\u003C\/td\u003E\u003Ctd\u003ENeutral\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ESummarisation\u003C\/td\u003E\u003Ctd\u003E0.25\u003C\/td\u003E\u003Ctd\u003ENeutral\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EArticle generation\u003C\/td\u003E\u003Ctd\u003E4.00\u003C\/td\u003E\u003Ctd\u003EBest case — output dominates\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ESynthetic data\u003C\/td\u003E\u003Ctd\u003E6.00\u003C\/td\u003E\u003Ctd\u003EBest case\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EMost production systems are in the top half of that table: they read far more than they write. That is why the general advice to \\\"use the model with cheap output\\\" is usually wrong — and why Grok, despite a genuinely clever price structure, does not win most evaluations on cost.\u003C\/p\u003E\n\n\u003Cp\u003EThe exception is worth naming precisely, because it is a large and growing category. Any system whose job is to \u003Cem\u003Eproduce\u003C\/em\u003E rather than \u003Cem\u003Eanswer\u003C\/em\u003E — drafting, scaffolding, translating a corpus, generating test cases — has an output ratio above 1, and there Grok 4.3's $2.50 output rate beats every $10 output model by a factor that no input discount can recover.\u003C\/p\u003E\n\n\u003Ch2\u003EBatch compounds the ratio advantage\u003C\/h2\u003E\n\u003Cp\u003EGrok 4.3 supports the Batch API at 50% off, which stacks multiplicatively with the ratio advantage rather than competing with it. On the generation workload above — 1,000 requests, 1,000 input and 4,000 output tokens — batch takes Grok 4.3 from $11.25 to $5.63, against $21.00 for Claude Sonnet 5 in batch. The ratio stays at 3.7×, but the absolute gap falls from $30.75 to $15.37 per thousand requests — which is what matters when the volume is in the millions.\u003C\/p\u003E\n\n\u003Ch2\u003EWhen Grok makes sense\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003EOutput-heavy generation\u003C\/strong\u003E — the 2× ratio on 4.3 is the lowest in the market and beats $2\/$10 models by 3.7× at a 4:1 output ratio.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EBatch jobs with long outputs\u003C\/strong\u003E — 50% off plus the ratio advantage compounds.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003E1M-token documents under 200K\u003C\/strong\u003E — flat rate, no write fee.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ENot for cheap chat\u003C\/strong\u003E — GPT-6 Luna is 9.3× cheaper on a support workload.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ENot for deep-cache RAG\u003C\/strong\u003E — a 16% cache rate is the weakest discount among the major providers.\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Ch2\u003EFAQ\u003C\/h2\u003E\n\u003Ch3\u003EHow much does Grok 4 cost per million tokens?\u003C\/h3\u003E\n\u003Cp\u003EGrok 4.3 costs $1.25 input and $2.50 output. Grok 4.6 costs $2.00 input and $6.00 output. Above 200,000 input tokens both move to a higher tier.\u003C\/p\u003E\n\u003Ch3\u003EWhy is Grok's output cheaper relative to input?\u003C\/h3\u003E\n\u003Cp\u003ExAI prices output at 2–3× input rather than the 4–5× used by OpenAI, Anthropic, Google and DeepSeek. That makes Grok comparatively strong on generation-heavy workloads and comparatively weak on input-heavy ones.\u003C\/p\u003E\n\u003Ch3\u003EDoes Grok charge for prompt caching?\u003C\/h3\u003E\n\u003Cp\u003ENo write fee. Cached reads bill at $0.20 per million on 4.3 and $0.50 on 4.6 — 16% and 25% of their base input rates, both higher than the 10% industry standard.\u003C\/p\u003E\n\u003Ch3\u003EWhich Grok has the larger context window?\u003C\/h3\u003E\n\u003Cp\u003EGrok 4.3 at 1,000,000 tokens. Grok 4.6 is capped at 500,000.\u003C\/p\u003E\n\n\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/input-vs-output-token-pricing.html\"\u003EInput vs Output Token Pricing\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/gpt-vs-gemini-cost-compared.html\"\u003EGPT vs Gemini: Cost Compared\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/llm-cost-formula-explained.html\"\u003ELLM Cost Formula Explained\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Cp\u003ECompare your own workload in the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Efree LLM cost calculator\u003C\/a\u003E, or see \u003Ca href=\"https:\/\/rabayid.com\/providers\/xai\"\u003Eall Grok models and rates\u003C\/a\u003E.\u003C\/p\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/852055022797067326\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/grok-4-api-pricing-guide.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/852055022797067326"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/852055022797067326"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/grok-4-api-pricing-guide.html","title":"Grok 4 API Pricing Guide"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-6413597083986112963"},"published":{"$t":"2026-11-02T21:49:53.144+02:00"},"updated":{"$t":"2026-11-02T21:49:53.178+02:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"AI Pricing"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Calculators"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Cost Optimization"}],"title":{"type":"text","$t":"Batch API: Pay 50% Less"},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EBatch processing is the largest single discount in the LLM market, and it is the one most teams never turn on.\u003C\/strong\u003E OpenAI, Anthropic, Google and xAI all halve both input and output rates for requests that can wait up to 24 hours. Not a promotional rate, not a tier you have to qualify for — a permanent 50% cut on the same models, the same context windows and the same outputs, in exchange for latency.\u003C\/p\u003E\n\n\u003Cp\u003EThe arithmetic is brutal in the best way. A job that costs $400 a night costs $200 in batch. Run it for a year and the difference is $73,000. Most teams that run nightly jobs already have the workload; they simply submit it synchronously because that is what the tutorial showed.\u003C\/p\u003E\n\n\u003Cfigure\u003E\u003Cimg src=\"https:\/\/rabayid.com\/images\/blog\/caching-is-investment-with-payback.png\" alt=\"Prompt caching as an investment with payback period\" loading=\"lazy\" width=\"1200\" height=\"630\"\/\u003E\u003Cfigcaption\u003EBatch and caching are both payback decisions — batch pays back on the first request.\u003C\/figcaption\u003E\u003C\/figure\u003E\n\n\u003Ch2\u003EWho offers batch, and at what price\u003C\/h2\u003E\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EProvider\u003C\/th\u003E\u003Cth\u003EBatch support\u003C\/th\u003E\u003Cth\u003EDiscount\u003C\/th\u003E\u003Cth\u003ENotes\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003EAll 13 models\u003C\/td\u003E\u003Ctd\u003E50% off input and output\u003C\/td\u003E\u003Ctd\u003EResults within 24 hours\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EAnthropic\u003C\/td\u003E\u003Ctd\u003EAll 5 models\u003C\/td\u003E\u003Ctd\u003E50% off input and output\u003C\/td\u003E\u003Ctd\u003EResults within 24 hours\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGoogle\u003C\/td\u003E\u003Ctd\u003EAll 6 models\u003C\/td\u003E\u003Ctd\u003E50% off input and output\u003C\/td\u003E\u003Ctd\u003EResults within 24 hours\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ExAI\u003C\/td\u003E\u003Ctd\u003EBoth Grok models\u003C\/td\u003E\u003Ctd\u003E50% off input and output\u003C\/td\u003E\u003Ctd\u003EResults within 24 hours\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003EOff-peak hours bill at 50% instead\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EFour of the five providers in this dataset treat batch as a first-class tier. DeepSeek is the exception: it has no batch API, and instead discounts requests outside peak hours. The economics are similar, but the trigger is different — you cannot submit a batch at 2 p.m. and get the discount, you have to wait for the window.\u003C\/p\u003E\n\n\u003Ch2\u003EThe annual saving on one nightly job\u003C\/h2\u003E\n\u003Cp\u003ETake a realistic nightly workload: 10,000 requests, each with 10,000 input tokens and 2,000 output tokens. That is 100 million input tokens and 20 million output tokens per night.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EList price \/ night\u003C\/th\u003E\u003Cth\u003EBatch \/ night\u003C\/th\u003E\u003Cth\u003EAnnual list\u003C\/th\u003E\u003Cth\u003EAnnual batch\u003C\/th\u003E\u003Cth\u003ESaved\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Astra\u003C\/td\u003E\u003Ctd\u003E$2,000\u003C\/td\u003E\u003Ctd\u003E$1,000\u003C\/td\u003E\u003Ctd\u003E$730,000\u003C\/td\u003E\u003Ctd\u003E$365,000\u003C\/td\u003E\u003Ctd\u003E$365,000\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Fable 5.1\u003C\/td\u003E\u003Ctd\u003E$2,000\u003C\/td\u003E\u003Ctd\u003E$1,000\u003C\/td\u003E\u003Ctd\u003E$730,000\u003C\/td\u003E\u003Ctd\u003E$365,000\u003C\/td\u003E\u003Ctd\u003E$365,000\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003Ctd\u003E$400\u003C\/td\u003E\u003Ctd\u003E$200\u003C\/td\u003E\u003Ctd\u003E$146,000\u003C\/td\u003E\u003Ctd\u003E$73,000\u003C\/td\u003E\u003Ctd\u003E$73,000\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$400\u003C\/td\u003E\u003Ctd\u003E$200\u003C\/td\u003E\u003Ctd\u003E$146,000\u003C\/td\u003E\u003Ctd\u003E$73,000\u003C\/td\u003E\u003Ctd\u003E$73,000\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 Flash\u003C\/td\u003E\u003Ctd\u003E$150\u003C\/td\u003E\u003Ctd\u003E$75\u003C\/td\u003E\u003Ctd\u003E$54,750\u003C\/td\u003E\u003Ctd\u003E$27,375\u003C\/td\u003E\u003Ctd\u003E$27,375\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.3\u003C\/td\u003E\u003Ctd\u003E$175\u003C\/td\u003E\u003Ctd\u003E$87.50\u003C\/td\u003E\u003Ctd\u003E$63,875\u003C\/td\u003E\u003Ctd\u003E$31,937\u003C\/td\u003E\u003Ctd\u003E$31,937\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Luna\u003C\/td\u003E\u003Ctd\u003E$20\u003C\/td\u003E\u003Ctd\u003E$10\u003C\/td\u003E\u003Ctd\u003E$7,300\u003C\/td\u003E\u003Ctd\u003E$3,650\u003C\/td\u003E\u003Ctd\u003E$3,650\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EThe saving scales with the model tier, which produces a counter-intuitive conclusion: batch on an expensive model often costs less than synchronous calls on a cheap one. GPT-6 Astra in batch is $1,000 a night; GPT-6 Sol at list is $400. The expensive model stays expensive — but the gap between tiers narrows by half, which changes which tier you should use for the job.\u003C\/p\u003E\n\n\u003Ch2\u003EWhen batch is the wrong tool\u003C\/h2\u003E\n\u003Cp\u003EThe discount is real, and it is unusable for anything a human is waiting on. Batch fails for:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003EInteractive chat\u003C\/strong\u003E — a 24-hour wait is not a response time.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EAgents and tool loops\u003C\/strong\u003E — each step depends on the previous output, so nothing can be queued in advance.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EStreaming interfaces\u003C\/strong\u003E — batch returns results at the end, not token by token.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EAnything with a deadline under 24 hours\u003C\/strong\u003E — including most reporting and alerting.\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Cp\u003EThe test is simple: \u003Cem\u003Eif the result is still useful tomorrow morning, it belongs in batch.\u003C\/em\u003E If it is not, it does not.\u003C\/p\u003E\n\n\u003Ch2\u003EWorkloads that should already be in batch\u003C\/h2\u003E\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EWorkload\u003C\/th\u003E\u003Cth\u003ETypical volume\u003C\/th\u003E\u003Cth\u003EWhy it fits\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003ENightly enrichment\u003C\/td\u003E\u003Ctd\u003E10K–1M records\u003C\/td\u003E\u003Ctd\u003EResults needed tomorrow, not now\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClassification backfill\u003C\/td\u003E\u003Ctd\u003EAny historical set\u003C\/td\u003E\u003Ctd\u003EOne-off, no user waiting\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EEmbedding refresh\u003C\/td\u003E\u003Ctd\u003ECorpus-sized\u003C\/td\u003E\u003Ctd\u003ERuns on a schedule\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EEvaluation runs\u003C\/td\u003E\u003Ctd\u003EHundreds to thousands\u003C\/td\u003E\u003Ctd\u003EOffline by definition\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EReport generation\u003C\/td\u003E\u003Ctd\u003EDaily or weekly\u003C\/td\u003E\u003Ctd\u003EDeadline is the morning\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ESynthetic data creation\u003C\/td\u003E\u003Ctd\u003ELarge, bursty\u003C\/td\u003E\u003Ctd\u003ENo latency requirement at all\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EContent moderation sweeps\u003C\/td\u003E\u003Ctd\u003ERetrospective\u003C\/td\u003E\u003Ctd\u003EBatch by nature\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Ch2\u003EHow to structure a batch pipeline\u003C\/h2\u003E\n\u003Cp\u003E\u003Cstrong\u003E1. Make requests idempotent.\u003C\/strong\u003E Attach your own request ID to every line so a retried job does not double-write results. Batch jobs fail in the middle, not at the start.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E2. Split by failure domain.\u003C\/strong\u003E A single 500,000-line job that fails at line 400,000 is a bad afternoon. Chunk into 10,000-line jobs so a failure costs one chunk, not the night.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E3. Budget for the tail.\u003C\/strong\u003E Most batch results return in minutes to hours, but the contract is 24 hours. Do not schedule a downstream job that depends on batch output to start one hour after submission.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E4. Track cost per chunk.\u003C\/strong\u003E Batch bills per token like everything else; a chunk that silently grows its prompt size will show up as a cost anomaly, not a latency one.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E5. Keep a synchronous fallback.\u003C\/strong\u003E When a batch job misses its window, the fallback is either a delayed report or a synchronous retry for the affected records — decide which before you need it.\u003C\/p\u003E\n\n\u003Ch2\u003EDoes batch stack with caching?\u003C\/h2\u003E\n\u003Cp\u003EBoth discounts exist on the same request, but the safe planning assumption is the simpler one: \u003Cstrong\u003Ebatch halves the list rate\u003C\/strong\u003E. Build the forecast on that number, and treat any cache saving as upside. Teams that budget for stacked discounts tend to discover the interaction the hard way, in a month where the invoice is 30% above plan.\u003C\/p\u003E\n\n\u003Ch2\u003EFAQ\u003C\/h2\u003E\n\u003Ch3\u003EHow much does the Batch API save?\u003C\/h3\u003E\n\u003Cp\u003E50% on both input and output tokens for OpenAI, Anthropic, Google and xAI. DeepSeek offers no batch API but discounts off-peak requests by 50% instead.\u003C\/p\u003E\n\u003Ch3\u003EHow long does a batch job take?\u003C\/h3\u003E\n\u003Cp\u003EMost results return within hours, but the contractual window is 24 hours. Plan downstream jobs around the window, not the average.\u003C\/p\u003E\n\u003Ch3\u003ECan batch requests stream?\u003C\/h3\u003E\n\u003Cp\u003ENo. Batch returns complete results at the end of processing, which is why it cannot serve interactive interfaces.\u003C\/p\u003E\n\u003Ch3\u003EIs batch available on every model?\u003C\/h3\u003E\n\u003Cp\u003EYes on OpenAI, Anthropic, Google and xAI — every model in this dataset from those four providers supports it. DeepSeek supports none.\u003C\/p\u003E\n\n\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/caching-is-investment-with-payback.html\"\u003ECaching as an Investment\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/most-cost-reductions-come-from-three.html\"\u003EMost Cost Reductions Come From Three Levers\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/llm-cost-formula-explained.html\"\u003ELLM Cost Formula Explained\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Cp\u003EModel your own nightly job in the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Efree LLM cost calculator\u003C\/a\u003E — it applies the batch discount per model, and flags the ones that do not offer it.\u003C\/p\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/6413597083986112963\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/batch-api-pay-50-less.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/6413597083986112963"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/6413597083986112963"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/batch-api-pay-50-less.html","title":"Batch API: Pay 50% Less"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-1743601580196169867"},"published":{"$t":"2026-11-02T21:48:51.944+02:00"},"updated":{"$t":"2026-11-02T21:48:51.977+02:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"AI Pricing"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Calculators"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Cost Optimization"}],"title":{"type":"text","$t":"Long Context Cost Explained"},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EA one-million-token context window is not a one-million-token price.\u003C\/strong\u003E Every major provider sells the window at one rate and then charges a different, higher rate once a prompt crosses a threshold — 200,000 tokens at Google and xAI, 272,000 at OpenAI. Above the line, the entire request bills at the higher rate, not just the excess tokens.\u003C\/p\u003E\n\n\u003Cp\u003EThat distinction is where budgets break. A team that reads \"1M context\" and assumes a flat rate plans for $2.00 on a million-token call and receives a $4.00 invoice. Worse, the cliff is invisible in most cost calculators, because they multiply tokens by a single rate. This article maps every threshold in the dataset and works out when paying the surcharge is rational.\u003C\/p\u003E\n\n\u003Cfigure\u003E\u003Cimg src=\"https:\/\/rabayid.com\/images\/blog\/hidden-costs-in-llm-apis.png\" alt=\"Hidden costs in LLM APIs including long context tiers\" loading=\"lazy\" width=\"1200\" height=\"630\"\/\u003E\u003Cfigcaption\u003ELong-context tiers are the least visible line item in an LLM bill.\u003C\/figcaption\u003E\u003C\/figure\u003E\n\n\u003Ch2\u003EEvery threshold, October 2026\u003C\/h2\u003E\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EWindow\u003C\/th\u003E\u003Cth\u003ETier starts\u003C\/th\u003E\u003Cth\u003EInput above tier\u003C\/th\u003E\u003Cth\u003EOutput above tier\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 \/ 3.7 Flash\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003E200K\u003C\/td\u003E\u003Ctd\u003E$1.50\u003C\/td\u003E\u003Ctd\u003E$7.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.1 Pro\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003E200K\u003C\/td\u003E\u003Ctd\u003E$4.00\u003C\/td\u003E\u003Ctd\u003E$18.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 2.5 Pro\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003E200K\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$15.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.3\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003E200K\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.6\u003C\/td\u003E\u003Ctd\u003E500K\u003C\/td\u003E\u003Ctd\u003E200K\u003C\/td\u003E\u003Ctd\u003E$4.00\u003C\/td\u003E\u003Ctd\u003E$12.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Astra\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003E272K\u003C\/td\u003E\u003Ctd\u003E$20.00\u003C\/td\u003E\u003Ctd\u003E$75.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol \/ 6.1 Sol\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003E272K\u003C\/td\u003E\u003Ctd\u003E$4.00\u003C\/td\u003E\u003Ctd\u003E$15.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Luna\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003E272K\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 family\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003E272K\u003C\/td\u003E\u003Ctd\u003E2× base\u003C\/td\u003E\u003Ctd\u003E1.5× base\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5 \/ Opus 5 \/ Fable 5.1\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4.1 Flash\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4 Pro\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003Ctd\u003ENone\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Ch2\u003EWhat a million-token prompt actually costs\u003C\/h2\u003E\n\u003Cp\u003EOne call, one million input tokens, no output. This is the number that matters when someone says \"we'll just put the whole codebase in the prompt\".\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003ECost for 1M input\u003C\/th\u003E\u003Cth\u003EEffective rate \/ 1K\u003C\/th\u003E\u003Cth\u003ETier applies?\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4.1 Flash\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$0.0003\u003C\/td\u003E\u003Ctd\u003ENo\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 Flash\u003C\/td\u003E\u003Ctd\u003E$1.50\u003C\/td\u003E\u003Ctd\u003E$0.0015\u003C\/td\u003E\u003Ctd\u003EYes (2×)\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.0020\u003C\/td\u003E\u003Ctd\u003ENo\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.3\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$0.0025\u003C\/td\u003E\u003Ctd\u003EYes (2×)\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003Ctd\u003E$4.00\u003C\/td\u003E\u003Ctd\u003E$0.0040\u003C\/td\u003E\u003Ctd\u003EYes (2×)\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.1 Pro\u003C\/td\u003E\u003Ctd\u003E$4.00\u003C\/td\u003E\u003Ctd\u003E$0.0040\u003C\/td\u003E\u003Ctd\u003EYes (2×)\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.6\u003C\/td\u003E\u003Ctd\u003E$4.00 \u003Cem\u003E(capped at 500K)\u003C\/em\u003E\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003EYes (2×)\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Astra\u003C\/td\u003E\u003Ctd\u003E$20.00\u003C\/td\u003E\u003Ctd\u003E$0.0200\u003C\/td\u003E\u003Ctd\u003EYes (2×)\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EThe spread is 67× between DeepSeek and GPT-6 Astra for the same nominal one-million-token window. Model choice dominates every optimisation technique at this length — compression included.\u003C\/p\u003E\n\n\u003Ch2\u003EWhy crossing the line is worse than it looks\u003C\/h2\u003E\n\u003Cp\u003EThe surcharge applies to the whole request. Take GPT-6 Sol: below 272K, input bills at $2.00 per million; above it, $4.00. A 400,000-token prompt therefore costs $1.60, not the $0.80 a naive multiplication suggests.\u003C\/p\u003E\n\n\u003Cp\u003ENow compress it to 250,000 tokens. You removed 37.5% of the tokens and saved 69% of the cost:\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EPrompt\u003C\/th\u003E\u003Cth\u003ETokens\u003C\/th\u003E\u003Cth\u003ERate\u003C\/th\u003E\u003Cth\u003EInput cost\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EUncompressed\u003C\/td\u003E\u003Ctd\u003E400,000\u003C\/td\u003E\u003Ctd\u003E$4.00 (tier)\u003C\/td\u003E\u003Ctd\u003E$1.60\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECompressed\u003C\/td\u003E\u003Ctd\u003E250,000\u003C\/td\u003E\u003Ctd\u003E$2.00 (base)\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ESaving\u003C\/td\u003E\u003Ctd\u003E−37.5%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003E\u003Cstrong\u003E−69%\u003C\/strong\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EThis is the highest-leverage optimisation in the entire field, and it is why \"just add more context\" is usually the most expensive way to improve an answer. The goal is not to fit the window; it is to stay below the threshold.\u003C\/p\u003E\n\n\u003Ch2\u003EThree ways to compress without losing the answer\u003C\/h2\u003E\n\u003Cp\u003E\u003Cstrong\u003E1. Rerank before you retrieve.\u003C\/strong\u003E Most RAG pipelines retrieve 50 documents and use all 50. A cross-encoder reranker that keeps the best 8 usually preserves answer quality while cutting tokens by 80%. The cost of the reranker is a fraction of the tokens it saves.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E2. Summarise the middle, keep the edges.\u003C\/strong\u003E Models attend most reliably to the start and end of a long context. Compressing the middle third into a structured summary — entities, decisions, numbers — preserves most of the signal at a third of the length.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E3. Extract, then reason.\u003C\/strong\u003E Instead of sending 300 pages and asking a question, run a cheap extraction pass with GPT-6 Luna that pulls only the fields the question needs, then send 2,000 tokens to the expensive model. Two calls, a fraction of the cost.\u003C\/p\u003E\n\n\u003Ch2\u003EWhen paying the surcharge is correct\u003C\/h2\u003E\n\u003Cp\u003ECompression has a failure mode: it removes the sentence that mattered. Four workloads justify the full window:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003ELegal and contract review\u003C\/strong\u003E — the missing clause is the point of the review.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EWhole-repository analysis\u003C\/strong\u003E — cross-file dependencies cannot be summarised away.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ELong transcripts\u003C\/strong\u003E — a summary of a two-hour call loses exactly the details being audited.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EOne-shot synthesis\u003C\/strong\u003E — where chunking would produce five inconsistent answers instead of one.\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Cp\u003EIn those cases the comparison is not \"long context versus cheap\" but \"long context versus a human reading it\", and the surcharge is trivial.\u003C\/p\u003E\n\n\u003Ch2\u003EThe cheapest long-context model is not the obvious one\u003C\/h2\u003E\n\u003Cp\u003EClaude Sonnet 5 has no surcharge and costs $2.00 for a million-token prompt — half of GPT-6 Sol's $4.00 despite identical sticker rates. DeepSeek V4.1 Flash costs $0.30 and offers 1.1M tokens flat, which is 13× cheaper than GPT-6 Sol at the same length.\u003C\/p\u003E\n\n\u003Cp\u003EIf your workload genuinely needs very long prompts, the model shortlist is DeepSeek first on price, Claude second, and everything else a distant third. If your workload merely drifted above 272K by accident, the answer is compression, not a different provider.\u003C\/p\u003E\n\n\u003Ch2\u003EFAQ\u003C\/h2\u003E\n\u003Ch3\u003EWhat is a long-context surcharge?\u003C\/h3\u003E\n\u003Cp\u003EA higher per-token rate that applies to the entire request once the prompt exceeds a provider threshold — 200,000 tokens at Google and xAI, 272,000 at OpenAI. Anthropic and DeepSeek do not apply one.\u003C\/p\u003E\n\u003Ch3\u003EDoes the surcharge apply only to the extra tokens?\u003C\/h3\u003E\n\u003Cp\u003ENo. The whole request moves to the higher rate. A 300,000-token prompt on GPT-6 Sol bills all 300,000 tokens at $4.00, not 272,000 at $2.00 and 28,000 at $4.00.\u003C\/p\u003E\n\u003Ch3\u003EWhich model is cheapest for a 1M-token prompt?\u003C\/h3\u003E\n\u003Cp\u003EDeepSeek V4.1 Flash at $0.30, followed by Gemini 3.8 Flash at $1.50 and Claude Sonnet 5 at $2.00.\u003C\/p\u003E\n\u003Ch3\u003EIs a larger context window always better?\u003C\/h3\u003E\n\u003Cp\u003ENo. Above the threshold, a larger window costs twice as much per token, and accuracy on very long inputs is not guaranteed. Compression below the threshold is usually the cheaper and more accurate option.\u003C\/p\u003E\n\n\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/hidden-costs-in-llm-apis.html\"\u003EHidden Costs in LLM APIs\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/llm-cost-formula-explained.html\"\u003ELLM Cost Formula Explained\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/cheapest-depends-entirely-on-your-input.html\"\u003EThe Cheapest Model Depends on Your Input\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Cp\u003ECheck your own prompt length against every threshold in the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Efree LLM cost calculator\u003C\/a\u003E, or compare models directly in the \u003Ca href=\"https:\/\/rabayid.com\/models\"\u003Efull price ranking\u003C\/a\u003E.\u003C\/p\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/1743601580196169867\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/long-context-cost-explained.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/1743601580196169867"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/1743601580196169867"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/long-context-cost-explained.html","title":"Long Context Cost Explained"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-5585628693383987136"},"published":{"$t":"2026-11-02T21:48:18.730+02:00"},"updated":{"$t":"2026-11-02T21:48:18.763+02:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"AI Pricing"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Calculators"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Cost Optimization"}],"title":{"type":"text","$t":"LLM Cost Formula Explained"},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EMost LLM cost estimates are wrong in the same three places.\u003C\/strong\u003E They multiply tokens by a single price, they forget that output costs 5× input, and they assume a cache hit on every call. The result is a spreadsheet that predicts $180 and an invoice for $475 — a gap large enough to make a product look unprofitable when it is not, or profitable when it is not.\u003C\/p\u003E\n\n\u003Cp\u003EThe correct formula is not complicated. It has five terms, two conditional rules and one multiplier. Once you write it down, every provider's price sheet collapses into the same arithmetic, and the differences between models become obvious rather than intuitive.\u003C\/p\u003E\n\n\u003Cfigure\u003E\u003Cimg src=\"https:\/\/rabayid.com\/images\/blog\/llm-cost-per-user-per-month.png\" alt=\"LLM cost per user per month breakdown\" loading=\"lazy\" width=\"1200\" height=\"630\"\/\u003E\u003Cfigcaption\u003ECost per user is a formula, not a benchmark — and the formula has five terms.\u003C\/figcaption\u003E\u003C\/figure\u003E\n\n\u003Ch2\u003EThe formula\u003C\/h2\u003E\n\u003Cp\u003EFor a single request, with all prices in USD per million tokens:\u003C\/p\u003E\n\n\u003Cp\u003E\u003Cem\u003Ecost = ( uncached_in × P_in + cached_in × P_cache + cache_writes × P_write + out × P_out ) \u00F7 1,000,000\u003C\/em\u003E\u003C\/p\u003E\n\n\u003Cp\u003EThen apply two modifiers:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003ELong-context tier:\u003C\/strong\u003E if \u003Cem\u003Euncached_in + cached_in\u003C\/em\u003E exceeds the provider threshold, replace P_in, P_cache and P_out with the tier rates.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EBatch:\u003C\/strong\u003E if the request runs through the Batch API, multiply the result by 0.5.\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Cp\u003EEvery term is optional. Models without prompt caching have no P_cache or P_write; models without a tier never trigger the first modifier; DeepSeek has no batch, so the second never applies.\u003C\/p\u003E\n\n\u003Ch2\u003EA full worked example\u003C\/h2\u003E\n\u003Cp\u003EA support assistant handles 50,000 requests a month. Each request sends a 3,000-token prompt, of which 2,500 tokens are a stable block (system instructions plus the retrieved help-centre article), and receives an 800-token answer. The model is GPT-6 Sol at $2.00 input, $0.20 cached, $2.50 write and $10.00 output.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003ETerm\u003C\/th\u003E\u003Cth\u003ETokens \/ month\u003C\/th\u003E\u003Cth\u003ERate\u003C\/th\u003E\u003Cth\u003ECost\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EUncached input (500 × 50,000)\u003C\/td\u003E\u003Ctd\u003E25,000,000\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$50.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECached input (2,500 × 49,999)\u003C\/td\u003E\u003Ctd\u003E124,997,500\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$25.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECache writes (one per job)\u003C\/td\u003E\u003Ctd\u003E2,500\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$0.006\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EOutput (800 × 50,000)\u003C\/td\u003E\u003Ctd\u003E40,000,000\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$400.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E\u003Cstrong\u003ETotal\u003C\/strong\u003E\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003E\u003Cstrong\u003E$475.01\u003C\/strong\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003ETwo numbers deserve attention. The first is the cache write: $0.006, because the 2,500-token block is written once and read 49,999 times. Teams often budget the write as if it happened on every call, which inflates the estimate by four orders of magnitude.\u003C\/p\u003E\n\n\u003Cp\u003EThe second is the output share: \u003Cstrong\u003E$400 of $475 — 84% of the bill — comes from 40 million output tokens that represent 16% of the total token volume.\u003C\/strong\u003E Any cost model that treats input and output as interchangeable is wrong by a factor of five.\u003C\/p\u003E\n\n\u003Ch2\u003EWhat caching is worth here\u003C\/h2\u003E\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EScenario\u003C\/th\u003E\u003Cth\u003ECost \/ month\u003C\/th\u003E\u003Cth\u003EDifference\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003ENo caching\u003C\/td\u003E\u003Ctd\u003E$700.00\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EWith caching\u003C\/td\u003E\u003Ctd\u003E$475.01\u003C\/td\u003E\u003Ctd\u003E−32%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EWith caching + batch\u003C\/td\u003E\u003Ctd\u003E$237.50\u003C\/td\u003E\u003Ctd\u003E−66%\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003ECaching alone removes $225 a month. Batch on top removes another $237. Neither changes the model, the prompt or the output — only when and how the request is sent. That is the cheapest 66% in this entire field.\u003C\/p\u003E\n\n\u003Ch2\u003EThe same workload on five models\u003C\/h2\u003E\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EMonthly cost\u003C\/th\u003E\u003Cth\u003EOutput share\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Luna\u003C\/td\u003E\u003Ctd\u003E$23.75\u003C\/td\u003E\u003Ctd\u003E84%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4.1 Flash\u003C\/td\u003E\u003Ctd\u003E$56.25\u003C\/td\u003E\u003Ctd\u003E85%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 Flash\u003C\/td\u003E\u003Ctd\u003E$178.12\u003C\/td\u003E\u003Ctd\u003E84%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$475.01\u003C\/td\u003E\u003Ctd\u003E84%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003Ctd\u003E$475.01\u003C\/td\u003E\u003Ctd\u003E84%\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003EThe output share is constant because the token shape is constant — which is the point. Model choice changes the total by 20×, while the internal structure of the bill stays the same. Optimising the formula without changing the model caps out at about a 66% saving; changing the model can save 95%.\u003C\/p\u003E\n\n\u003Ch2\u003ESix mistakes that break the formula\u003C\/h2\u003E\n\u003Cp\u003E\u003Cstrong\u003E1. Multiplying total tokens by the input rate.\u003C\/strong\u003E On this workload that predicts $350 instead of $475 — a 26% underestimate, and the most common error in startup financial models.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E2. Assuming every call is a cache hit.\u003C\/strong\u003E The first call writes; subsequent calls read. For low-volume products the write dominates, and caching can cost more than it saves. Cache only prefixes reused more than twice.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E3. Ignoring the long-context tier.\u003C\/strong\u003E A 300,000-token prompt on GPT-6 Sol bills at $4.00, not $2.00, for all 300,000 tokens. The tier applies to the whole request.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E4. Using average prompt length.\u003C\/strong\u003E Bills are driven by the tail, not the mean. A pipeline with a 3,000-token average and a 300,000-token p99 has a long-context problem hiding in its averages.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E5. Forgetting retries and failed calls.\u003C\/strong\u003E A 5% retry rate is a 5% surcharge. Timeouts that were billed but returned nothing are worse — they are pure waste that appears in the token count with no output to show for it.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E6. Counting cached tokens as free.\u003C\/strong\u003E Cached tokens still occupy the context window and still count against rate limits. They are cheaper, not invisible.\u003C\/p\u003E\n\n\u003Ch2\u003EA five-line spreadsheet that gets it right\u003C\/h2\u003E\n\u003Cp\u003EColumns: \u003Cem\u003Erequests\u003C\/em\u003E, \u003Cem\u003Einput tokens\u003C\/em\u003E, \u003Cem\u003Ecached tokens\u003C\/em\u003E, \u003Cem\u003Eoutput tokens\u003C\/em\u003E, \u003Cem\u003Emodel\u003C\/em\u003E. Then:\u003C\/p\u003E\n\u003Col\u003E\n\u003Cli\u003EUncached input = (input − cached) × requests\u003C\/li\u003E\n\u003Cli\u003ECached input = cached × (requests − 1)\u003C\/li\u003E\n\u003Cli\u003ECache writes = cached × 1\u003C\/li\u003E\n\u003Cli\u003EOutput = output × requests\u003C\/li\u003E\n\u003Cli\u003ECost = (1×P_in + 2×P_cache + 3×P_write + 4×P_out) \u00F7 1,000,000\u003C\/li\u003E\n\u003C\/ol\u003E\n\n\u003Cp\u003EIf any row's input exceeds the tier threshold, swap the rates before multiplying. If the job is asynchronous, halve the result. That is the entire model — and it is what the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Efree LLM cost calculator\u003C\/a\u003E does behind the interface.\u003C\/p\u003E\n\n\u003Ch2\u003EWhy this matters more than picking a cheaper model\u003C\/h2\u003E\n\u003Cp\u003EThe formula shows where the money actually goes: 84% output, 5% uncached input, 5% cached input, and a rounding error for cache writes. A team that spends a month evaluating cheaper models to save 20% is optimising the 10% of the bill that is input. A team that cuts output length by 30% saves 25% of the total without changing models at all.\u003C\/p\u003E\n\n\u003Cp\u003EBoth are worth doing. But the order matters: fix the shape of the request first, then pick the model. Doing it the other way round means re-running the evaluation after every prompt change.\u003C\/p\u003E\n\n\u003Ch2\u003EFAQ\u003C\/h2\u003E\n\u003Ch3\u003EHow do you calculate LLM API cost?\u003C\/h3\u003E\n\u003Cp\u003EMultiply uncached input tokens by the input rate, cached input by the cached rate, cache writes by the write rate and output tokens by the output rate, then divide by one million. Apply the long-context tier if the prompt exceeds the threshold, and halve the result for batch requests.\u003C\/p\u003E\n\u003Ch3\u003EWhy is output so much more expensive than input?\u003C\/h3\u003E\n\u003Cp\u003EOutput tokens are generated sequentially, one forward pass per token, while input tokens are processed in parallel. Every major provider prices output at 4–5× input to reflect that difference.\u003C\/p\u003E\n\u003Ch3\u003EDo cache writes happen on every request?\u003C\/h3\u003E\n\u003Cp\u003ENo. A prefix is written once and then read on subsequent calls, provided the prefix is identical and the cache has not expired. Budget one write per distinct prefix, not one per request.\u003C\/p\u003E\n\u003Ch3\u003EWhat is a realistic cost per 1,000 requests?\u003C\/h3\u003E\n\u003Cp\u003EOn the workload above — 3,000 input and 800 output tokens — GPT-6 Luna costs $0.48 per 1,000 requests, Gemini 3.8 Flash $3.56, and GPT-6 Sol $9.50. The shape of the request matters more than the headline rate.\u003C\/p\u003E\n\n\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/input-vs-output-token-pricing.html\"\u003EInput vs Output Token Pricing\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/batch-api-pay-50-less.html\"\u003EBatch API: Pay 50% Less\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/prompt-caching-explained.html\"\u003EPrompt Caching Explained\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Cp\u003ERun the numbers for your own traffic in the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Efree LLM cost calculator\u003C\/a\u003E, or read \u003Ca href=\"https:\/\/rabayid.com\/models\"\u003Ethe full model ranking\u003C\/a\u003E to see which tier fits your token shape.\u003C\/p\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/5585628693383987136\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/llm-cost-formula-explained.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/5585628693383987136"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/5585628693383987136"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/llm-cost-formula-explained.html","title":"LLM Cost Formula Explained"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-552201158234676196"},"published":{"$t":"2026-11-02T20:46:36.303+02:00"},"updated":{"$t":"2026-11-02T20:46:36.335+02:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"AI Pricing"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Calculators"},{"scheme":"http://www.blogger.com/atom/ns#","term":"OpenAI"}],"title":{"type":"text","$t":"OpenAI GPT Pricing Guide 2026"},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EOpenAI's 2026 price list is not one price list.\u003C\/strong\u003E It is thirteen tiers spread across a 100× range: GPT-6 Astra bills $10 per million input tokens, GPT-6 Luna bills $0.10 for the same million. Both are current, both are supported, and both appear in the same documentation page. The gap between them is not a rounding error — it is the difference between a $70 bill and a $0.70 bill for identical work.\u003C\/p\u003E\n\n\u003Cp\u003EThis guide does three things the pricing page does not. It converts sticker rates into the cost of a workload you can recognise, it explains the two rules that quietly double or halve a bill (caching and the long-context threshold), and it names the tier you should actually pick for each job.\u003C\/p\u003E\n\n\u003Cfigure\u003E\u003Cimg src=\"https:\/\/rabayid.com\/images\/blog\/llm-api-cost-per-1m-tokens.png\" alt=\"LLM API cost per 1M tokens across OpenAI, Anthropic, Google and DeepSeek models\" loading=\"lazy\" width=\"1200\" height=\"630\"\/\u003E\u003Cfigcaption\u003EAPI cost per 1M tokens across major providers, October 2026.\u003C\/figcaption\u003E\u003C\/figure\u003E\n\n\u003Ch2\u003EEvery OpenAI rate, October 2026\u003C\/h2\u003E\n\u003Cp\u003EAll figures are USD per 1,000,000 tokens. \"Cached\" is the price of a token served from a prompt cache; \"write\" is the one-off charge for storing that prefix.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EInput\u003C\/th\u003E\u003Cth\u003ECached\u003C\/th\u003E\u003Cth\u003EWrite\u003C\/th\u003E\u003Cth\u003EOutput\u003C\/th\u003E\u003Cth\u003EContext\u003C\/th\u003E\u003Cth\u003EBatch\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Astra\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$1.00\u003C\/td\u003E\u003Ctd\u003E$12.50\u003C\/td\u003E\u003Ctd\u003E$50.00\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6.1 Sol\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Terra\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$12.00\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Sol \u003Cem\u003E(promo)\u003C\/em\u003E\u003C\/td\u003E\u003Ctd\u003E$4.00\u003C\/td\u003E\u003Ctd\u003E$0.40\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E$20.00\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Luna\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E$0.01\u003C\/td\u003E\u003Ctd\u003E$0.125\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Luna\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$0.02\u003C\/td\u003E\u003Ctd\u003E$0.25\u003C\/td\u003E\u003Ctd\u003E$1.20\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4 mini\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$0.075\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003E$4.50\u003C\/td\u003E\u003Ctd\u003E400K\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4 nano\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$0.02\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E400K\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.2\u003C\/td\u003E\u003Ctd\u003E$1.75\u003C\/td\u003E\u003Ctd\u003E$0.175\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003E$14.00\u003C\/td\u003E\u003Ctd\u003E400K\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$0.25\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003E$15.00\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.5\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003E$30.00\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-4.1\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003Ctd\u003E$8.00\u003C\/td\u003E\u003Ctd\u003E1.05M\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003E\u003Cem\u003ERates verified October 2026. GPT-5.6 Sol is promotional and holds at least through 21 November 2026 (it was $5\/$30). GPT-5.6 Terra was cut in price on 30 July 2026. Always confirm on OpenAI's pricing page before committing a budget.\u003C\/em\u003E\u003C\/p\u003E\n\n\u003Ch2\u003EWhat 1,000 support requests actually cost\u003C\/h2\u003E\n\u003Cp\u003EA sticker rate is not a bill. Take a realistic support workload — 1,000 conversations, each with a 4,000-token prompt (system message, retrieved help-centre articles, conversation history) and a 600-token answer. That is 4 million input tokens and 600,000 output tokens.\u003C\/p\u003E\n\n\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EInput cost\u003C\/th\u003E\u003Cth\u003EOutput cost\u003C\/th\u003E\u003Cth\u003ETotal\u003C\/th\u003E\u003Cth\u003Evs cheapest\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Astra\u003C\/td\u003E\u003Ctd\u003E$40.00\u003C\/td\u003E\u003Ctd\u003E$30.00\u003C\/td\u003E\u003Ctd\u003E\u003Cstrong\u003E$70.00\u003C\/strong\u003E\u003C\/td\u003E\u003Ctd\u003E100×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.5\u003C\/td\u003E\u003Ctd\u003E$20.00\u003C\/td\u003E\u003Ctd\u003E$18.00\u003C\/td\u003E\u003Ctd\u003E$38.00\u003C\/td\u003E\u003Ctd\u003E54×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Sol\u003C\/td\u003E\u003Ctd\u003E$16.00\u003C\/td\u003E\u003Ctd\u003E$12.00\u003C\/td\u003E\u003Ctd\u003E$28.00\u003C\/td\u003E\u003Ctd\u003E40×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$9.00\u003C\/td\u003E\u003Ctd\u003E$19.00\u003C\/td\u003E\u003Ctd\u003E27×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.2\u003C\/td\u003E\u003Ctd\u003E$7.00\u003C\/td\u003E\u003Ctd\u003E$8.40\u003C\/td\u003E\u003Ctd\u003E$15.40\u003C\/td\u003E\u003Ctd\u003E22×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Terra\u003C\/td\u003E\u003Ctd\u003E$8.00\u003C\/td\u003E\u003Ctd\u003E$7.20\u003C\/td\u003E\u003Ctd\u003E$15.20\u003C\/td\u003E\u003Ctd\u003E22×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6.1 Sol\u003C\/td\u003E\u003Ctd\u003E$8.00\u003C\/td\u003E\u003Ctd\u003E$6.00\u003C\/td\u003E\u003Ctd\u003E$14.00\u003C\/td\u003E\u003Ctd\u003E20×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003Ctd\u003E$8.00\u003C\/td\u003E\u003Ctd\u003E$6.00\u003C\/td\u003E\u003Ctd\u003E$14.00\u003C\/td\u003E\u003Ctd\u003E20×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-4.1\u003C\/td\u003E\u003Ctd\u003E$8.00\u003C\/td\u003E\u003Ctd\u003E$4.80\u003C\/td\u003E\u003Ctd\u003E$12.80\u003C\/td\u003E\u003Ctd\u003E18×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4 mini\u003C\/td\u003E\u003Ctd\u003E$3.00\u003C\/td\u003E\u003Ctd\u003E$2.70\u003C\/td\u003E\u003Ctd\u003E$5.70\u003C\/td\u003E\u003Ctd\u003E8×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4 nano\u003C\/td\u003E\u003Ctd\u003E$0.80\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$1.55\u003C\/td\u003E\u003Ctd\u003E2.2×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Luna\u003C\/td\u003E\u003Ctd\u003E$0.80\u003C\/td\u003E\u003Ctd\u003E$0.72\u003C\/td\u003E\u003Ctd\u003E$1.52\u003C\/td\u003E\u003Ctd\u003E2.2×\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Luna\u003C\/td\u003E\u003Ctd\u003E$0.40\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E\u003Cstrong\u003E$0.70\u003C\/strong\u003E\u003C\/td\u003E\u003Ctd\u003E1×\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\n\u003Cp\u003ETwo things stand out. First, output is not a minor line item: on GPT-6 Astra it is 43% of the bill despite being 13% of the tokens. Second, \u003Cstrong\u003EGPT-4.1 is still cheaper than GPT-6 Sol for this shape of work\u003C\/strong\u003E — $8 of output beats $10 — which is why retired models keep running in production long after their replacement ships.\u003C\/p\u003E\n\n\u003Ch2\u003EThe caching rule that decides your real rate\u003C\/h2\u003E\n\u003Cp\u003EOpenAI sells three input prices, not one. On every GPT-6 tier, writing a prefix to cache costs 1.25× the base input rate, and reading it back costs 5–10% of that rate. On GPT-6.1 Sol the read is $0.10 against a $2.00 base: 5%. On GPT-6 Sol it is $0.20: 10%. Same headline price, double the cache cost.\u003C\/p\u003E\n\n\u003Cp\u003EThat makes the break-even arithmetic simple. A cached prefix pays for itself once the write premium is recovered:\u003C\/p\u003E\n\n\u003Cp\u003E\u003Cem\u003Ebreak-even calls = write rate \u00F7 (input rate − cached rate)\u003C\/em\u003E\u003C\/p\u003E\n\n\u003Cp\u003EFor GPT-6 Sol that is 2.50 \u00F7 (2.00 − 0.20) = 1.39. In plain terms: \u003Cstrong\u003Ecache a prefix you reuse twice and you are already ahead.\u003C\/strong\u003E For GPT-6.1 Sol it is 2.50 \u00F7 1.90 = 1.32. The two Sol models are the same price until your prompt has a stable prefix — then 6.1 is meaningfully cheaper.\u003C\/p\u003E\n\n\u003Cp\u003ESupport bots, RAG pipelines and coding agents all carry a stable prefix: system instructions, tool schemas, retrieved documents that change slowly. Caching a 45,000-token retrieval block on a 50,000-token prompt cuts the input side of the bill by roughly 90% after the first call. The full mechanics are in \u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/prompt-caching-explained.html\"\u003Eprompt caching explained\u003C\/a\u003E, and the payback maths in \u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/caching-is-investment-with-payback.html\"\u003Ecaching as an investment\u003C\/a\u003E.\u003C\/p\u003E\n\n\u003Ch2\u003EThe 272,000-token cliff\u003C\/h2\u003E\n\u003Cp\u003EEvery GPT-6 model advertises a 1.05M-token context window. The price list is less generous: above \u003Cstrong\u003E272,000 input tokens\u003C\/strong\u003E, rates move to a long-context tier. GPT-6 Sol goes from $2\/$10 to $4\/$15; GPT-6 Astra from $10\/$50 to $20\/$75; GPT-6 Luna from $0.10\/$0.50 to $0.20\/$0.75.\u003C\/p\u003E\n\n\u003Cp\u003EThe practical consequence is that the last 780,000 tokens of the window cost twice as much as the first 272,000. A single 1M-token call on GPT-6 Sol costs $4.00 in input alone — twice the $2.00 the headline rate suggests. If your retrieval layer can compress 400,000 tokens to 250,000, you do not save 37% of the input cost, you save 50% of it, because you drop back under the threshold. That is the single highest-leverage optimisation available on OpenAI's stack, and it is covered in \u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/long-context-cost-explained.html\"\u003Elong-context cost explained\u003C\/a\u003E.\u003C\/p\u003E\n\n\u003Ch2\u003EBatch: the 50% discount nobody enables\u003C\/h2\u003E\n\u003Cp\u003EEvery tier above supports the Batch API, which halves both input and output rates for jobs that can wait up to 24 hours. The nightly-job example — 10,000 requests of 10,000 input and 2,000 output tokens — costs $400 on GPT-6 Sol at list price and $200 in batch mode. Run that every night for a year and the difference is $73,000.\u003C\/p\u003E\n\n\u003Cp\u003EBatch is not a niche feature. Classification backfills, embedding refreshes, report generation, evaluation runs and data labelling all fit the 24-hour window. The constraint is latency, not capability: anything a user is waiting for cannot use it.\u003C\/p\u003E\n\n\u003Ch2\u003EWhich tier for which job\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003ERouting, tagging, extraction, moderation\u003C\/strong\u003E — GPT-6 Luna at $0.10\/$0.50. Nothing else in the catalogue comes close on price per correct label, and its 1.05M context means you rarely need chunking.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EProduct workhorse (chat, agents, coding)\u003C\/strong\u003E — GPT-6.1 Sol. Identical sticker price to GPT-6 Sol with half the cached-input rate, so it wins the moment you cache.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EOutput-heavy generation\u003C\/strong\u003E — GPT-4.1 at $8 output remains cheaper than every GPT-6 tier except Luna. If quality holds for your task, it is the value pick.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EHigh-stakes reasoning\u003C\/strong\u003E — GPT-6 Astra at $10\/$50. Reserve it for work where a wrong answer costs more than the token bill.\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ELegacy deployments\u003C\/strong\u003E — GPT-5.4 mini and nano at 400K context are still the cheapest way to serve a small-context product.\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Ch2\u003EThree mistakes that inflate an OpenAI bill\u003C\/h2\u003E\n\u003Cp\u003E\u003Cstrong\u003E1. Paying for output you discard.\u003C\/strong\u003E Asking for a JSON object and then parsing the first field still bills every token the model emits. Constrain output length explicitly; output is 5× the input rate on every GPT-6 tier.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E2. Sending the same system prompt 10,000 times uncached.\u003C\/strong\u003E A 2,000-token system prompt costs $0.004 per call at GPT-6 Sol rates — $40 per 10,000 calls. Cached, it costs $0.40 plus a one-off $0.005 write.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E3. Crossing 272K tokens by accident.\u003C\/strong\u003E Retrieval layers that \"just add one more document\" can push a prompt over the threshold and double the rate for the entire call. Cap retrieved context in code, not in the prompt.\u003C\/p\u003E\n\n\u003Ch2\u003EFAQ\u003C\/h2\u003E\n\u003Ch3\u003EHow much does GPT-6 cost per million tokens?\u003C\/h3\u003E\n\u003Cp\u003EGPT-6 Astra: $10 input \/ $50 output. GPT-6.1 Sol and GPT-6 Sol: $2 \/ $10. GPT-6 Luna: $0.10 \/ $0.50. Cached input ranges from $0.01 to $1.00 depending on tier.\u003C\/p\u003E\n\u003Ch3\u003EIs GPT-6.1 Sol cheaper than GPT-6 Sol?\u003C\/h3\u003E\n\u003Cp\u003EAt list price they are identical: $2 input and $10 output. The difference is cached input — $0.10 versus $0.20 per million. For any workload with a reusable prefix, GPT-6.1 Sol is roughly 5–7% cheaper overall; for one-shot prompts they cost the same.\u003C\/p\u003E\n\u003Ch3\u003EDoes the Batch API stack with prompt caching?\u003C\/h3\u003E\n\u003Cp\u003EBoth discounts apply to their own token class, but the safe budgeting assumption is the simpler one: batch halves the list rate. Build your forecast on that, then treat any cache saving as upside.\u003C\/p\u003E\n\u003Ch3\u003EWhat happens above 272,000 tokens?\u003C\/h3\u003E\n\u003Cp\u003EThe whole request moves to the long-context tier: GPT-6 Sol bills $4 input and $15 output instead of $2 and $10. Compression below the threshold is usually cheaper than paying the tier.\u003C\/p\u003E\n\n\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/gpt-vs-claude-cost-compared.html\"\u003EGPT vs Claude: Cost Compared\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/batch-api-pay-50-less.html\"\u003EBatch API: Pay 50% Less\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/11\/llm-cost-formula-explained.html\"\u003ELLM Cost Formula Explained\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\n\u003Cp\u003EEvery rate in this article comes from the same dataset that powers the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Efree LLM cost calculator\u003C\/a\u003E. For the full table with ranks and worked workloads, see \u003Ca href=\"https:\/\/rabayid.com\/providers\/openai\"\u003Eall OpenAI models and rates\u003C\/a\u003E.\u003C\/p\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/552201158234676196\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/openai-gpt-pricing-guide-2026.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/552201158234676196"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/552201158234676196"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/11\/openai-gpt-pricing-guide-2026.html","title":"OpenAI GPT Pricing Guide 2026"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-6865779079637289116"},"published":{"$t":"2026-10-23T16:34:32.614+03:00"},"updated":{"$t":"2026-10-23T17:55:40.329+03:00"},"title":{"type":"text","$t":"LLM Cost per User per Month"},"content":{"type":"html","$t":"\u003Cfigure style=\"margin: 0 0 30px;\"\u003E\n\u003Cimg alt=\"Bar chart of LLM cost per user per month on Claude Sonnet 5: 14 cents for a light user, $1.38 for a regular user and $13.80 for a power user\" decoding=\"async\" height=\"630\" loading=\"eager\" src=\"https:\/\/rabayid.com\/images\/blog\/llm-cost-per-user-per-month.png\" style=\"border-radius: 14px; display: block; height: auto; width: 100%;\" width=\"1200\" \/\u003E\n\u003C\/figure\u003E\u003Cp\u003EPer-token pricing tells you nothing about whether your product makes money. The number that belongs in a business model is cost per active user per month. It is derived, not quoted, and it exposes problems that a rate card cannot.\u003C\/p\u003E\u003Ch2\u003EThe model\u003C\/h2\u003E\u003Cp\u003E\u003Cem\u003Ecost_per_user = requests_per_user × (input_tokens × input_price + output_tokens × output_price)\u003C\/em\u003E\u003C\/p\u003E\u003Cp\u003EEverything else — caching, routing, retries — is a modifier on that expression. Build the base case first, then adjust.\u003C\/p\u003E\u003Ch2\u003EA worked example\u003C\/h2\u003E\u003Cp\u003EAssume a chat product where an active user sends 40 messages a month, each with 1,500 input tokens (including conversation history) and 400 output tokens.\u003C\/p\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EInput \/ 1M\u003C\/th\u003E\u003Cth\u003EOutput \/ 1M\u003C\/th\u003E\u003Cth\u003ECost per user \/ month\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Luna\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E$0.014\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4.1 Flash\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$1.20\u003C\/td\u003E\u003Ctd\u003E$0.037\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash-Lite\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$0.058\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Haiku 4.5\u003C\/td\u003E\u003Ctd\u003E$1.00\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E$0.140\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$0.280\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Astra\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$50.00\u003C\/td\u003E\u003Ctd\u003E$1.400\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Cp\u003EThe spread is roughly 100x between the cheapest and most expensive option for identical usage. On a $10 monthly subscription, that is the difference between healthy margin and losing money on every user.\u003C\/p\u003E\u003Ch2\u003EHeavy users break naive models\u003C\/h2\u003E\u003Cp\u003EUsage is never uniform. A small cohort of power users can consume an order of magnitude more than the median, and conversation history makes each message more expensive than the last. Without a cap, cost per user grows superlinearly with engagement — the opposite of what a subscription business needs.\u003C\/p\u003E\u003Cp\u003EMitigations that work: cap history length with a rolling summary, tier the model by subscription level, rate-limit free accounts, and price the top decile of usage explicitly rather than averaging it away.\u003C\/p\u003E\u003Ch2\u003EWhere caching changes the number\u003C\/h2\u003E\u003Cp\u003EIn a chat product, the system prompt and any attached reference material are stable across every message. That is exactly the pattern caching rewards. At a 90% cache hit rate on a 1,000-token system prompt, the input line for that portion falls to 90% of list price.\u003C\/p\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EScenario (40 messages, 1,500 in \/ 400 out)\u003C\/th\u003E\u003Cth\u003ECost per user \/ month\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5, no caching\u003C\/td\u003E\u003Ctd\u003E$0.280\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5, 90% cache hit on a 1,000-token prefix\u003C\/td\u003E\u003Ctd\u003E$0.215  (23.1% lower)\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Ch2\u003ECost per user is the denominator of your pricing\u003C\/h2\u003E\u003Cp\u003EIf cost per active user is $0.40 and your price is $10, gross margin is fine and the conversation is about growth. If cost per user is $2.50 on a $3 plan, no amount of prompt tuning saves the business — the pricing is wrong.\u003C\/p\u003E\u003Cp\u003ECompute the figure monthly, per cohort, and watch its trend rather than its level. A rising cost per user with flat revenue is the earliest signal of a problem, and it appears long before it reaches the invoice total.\u003C\/p\u003E\u003Cp\u003E\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003C\/p\u003E\u003Cp\u003EModel your own numbers with the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Efree calculator\u003C\/a\u003E.\u003C\/p\u003E\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/self-host-vs-api-cost-compare.html\"\u003ESelf-Host vs API Cost Compare\u003C\/a\u003E — when owning GPUs beats paying per token\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/caching-is-investment-with-payback.html\"\u003EPrompt Caching ROI Calculator\u003C\/a\u003E — model the caching saving per user\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/most-cost-reductions-come-from-three.html\"\u003EHow to Cut LLM API Costs\u003C\/a\u003E — the full list of cost levers\u003C\/li\u003E\n\u003C\/ul\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/6865779079637289116\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/llm-cost-per-user-per-month.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/6865779079637289116"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/6865779079637289116"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/llm-cost-per-user-per-month.html","title":"LLM Cost per User per Month"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-5313531876658468661"},"published":{"$t":"2026-10-23T16:33:45.433+03:00"},"updated":{"$t":"2026-10-23T17:54:49.621+03:00"},"title":{"type":"text","$t":"Self-Host vs API Cost Compare"},"content":{"type":"html","$t":"\u003Cfigure style=\"margin: 0 0 30px;\"\u003E\n\u003Cimg alt=\"Line chart comparing monthly API spend growing with token volume against a flat self-hosted GPU cost of $2,800 per month, crossing near 700 million tokens\" decoding=\"async\" height=\"630\" loading=\"eager\" src=\"https:\/\/rabayid.com\/images\/blog\/self-host-vs-api-cost-compare.png\" style=\"border-radius: 14px; display: block; height: auto; width: 100%;\" width=\"1200\" \/\u003E\n\u003C\/figure\u003E\u003Cp\u003ESelf-hosting looks cheap because the marginal cost per token appears to be near zero once the hardware is paid for. The comparison only becomes honest when you price utilisation, idle time, operations and the engineering hours that keep inference running.\u003C\/p\u003E\u003Ch2\u003EThe break-even formula\u003C\/h2\u003E\u003Cp\u003ESelf-hosting wins when:\u003C\/p\u003E\u003Cp\u003E\u003Cem\u003Emonthly_gpu_cost + ops_cost \u0026lt; monthly_api_spend\u003C\/em\u003E\u003C\/p\u003E\u003Cp\u003EThe hard part is \u003Cem\u003Eops_cost\u003C\/em\u003E. It is not zero, and it is not small. It includes the engineer time to own the inference stack, the cost of spare capacity for failover, and the opportunity cost of that attention.\u003C\/p\u003E\u003Ch2\u003EWhat the API charges\u003C\/h2\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EInput \/ 1M\u003C\/th\u003E\u003Cth\u003EOutput \/ 1M\u003C\/th\u003E\u003Cth\u003EBlended 3:1\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4.1 Flash\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$1.20\u003C\/td\u003E\u003Ctd\u003E$0.52\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Luna\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash-Lite\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$0.85\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Haiku 4.5\u003C\/td\u003E\u003Ctd\u003E$1.00\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4 Pro\u003C\/td\u003E\u003Ctd\u003E$1.32\u003C\/td\u003E\u003Ctd\u003E$3.96\u003C\/td\u003E\u003Ctd\u003E$1.98\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Astra\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$50.00\u003C\/td\u003E\u003Ctd\u003E$20.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Ch2\u003EWorking the numbers\u003C\/h2\u003E\u003Cp\u003EA single modern GPU node rented at market rates costs on the order of a few thousand dollars a month. To beat that with API spend, a workload needs to consume roughly:\u003C\/p\u003E\u003Cp\u003E\u003Cem\u003Ebreak-even tokens ≈ (gpu_cost + ops_cost) \/ blended_price_per_token\u003C\/em\u003E\u003C\/p\u003E\u003Cp\u003EAt a blended $0.20 per million tokens and a $3,000 monthly all-in node cost, break-even sits near 15000 million tokens per month — around 5787 tokens per second sustained, twenty-four hours a day.\u003C\/p\u003E\u003Cp\u003EThat is a very large workload. Most teams that assume self-hosting is cheaper are operating at one or two percent of that volume.\u003C\/p\u003E\u003Ch2\u003EUtilisation is the decisive variable\u003C\/h2\u003E\u003Cp\u003EAPI pricing is per token and scales to zero when nobody uses your product. Self-hosted hardware bills whether or not anyone is using it. At 10% utilisation, the effective cost per token on owned hardware is ten times the nominal figure. Overnight troughs, weekend lulls and launch-day spikes all cut against you, because capacity must be sized for peak while cost is amortised over average.\u003C\/p\u003E\u003Ch2\u003EWhen self-hosting genuinely wins\u003C\/h2\u003E\u003Cul\u003E\n\u003Cli\u003ESustained high volume with predictable load, well above the break-even above\u003C\/li\u003E\n\u003Cli\u003EHard data residency requirements that no API can satisfy\u003C\/li\u003E\n\u003Cli\u003EHeavy fine-tuning with a stable model version, where API churn is a liability\u003C\/li\u003E\n\u003Cli\u003ELatency-critical workloads where network round trips dominate\u003C\/li\u003E\n\u003C\/ul\u003E\u003Ch2\u003EWhen it does not\u003C\/h2\u003E\u003Cul\u003E\n\u003Cli\u003EEarly-stage products with spiky, low-volume traffic\u003C\/li\u003E\n\u003Cli\u003ETeams without dedicated infrastructure engineers\u003C\/li\u003E\n\u003Cli\u003EWorkloads that benefit from frontier model quality, since open weights trail the frontier\u003C\/li\u003E\n\u003Cli\u003EAnything where a cheaper API model or a better cache hit rate would solve the problem at a fraction of the effort\u003C\/li\u003E\n\u003C\/ul\u003E\u003Ch2\u003EThe honest ordering\u003C\/h2\u003E\u003Cp\u003EExhaust the cheap levers first: routing, caching, truncation, batch. Those reduce spend without capital or headcount. Only then compare the residue against hardware. If the residue is still large and steady, self-hosting becomes a real conversation.\u003C\/p\u003E\u003Cp\u003E\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003C\/p\u003E\u003Cp\u003EModel both sides with your actual token volume in the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Ecalculator\u003C\/a\u003E.\u003C\/p\u003E\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/llm-cost-per-user-per-month.html\"\u003ELLM Cost per User per Month\u003C\/a\u003E — tie infrastructure cost to users\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/llm-api-cost-per-1m-tokens.html\"\u003ELLM API Cost per 1M Tokens\u003C\/a\u003E — the API baseline you compare against\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/most-cost-reductions-come-from-three.html\"\u003EHow to Cut LLM API Costs\u003C\/a\u003E — cheaper than moving to GPUs\u003C\/li\u003E\n\u003C\/ul\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/5313531876658468661\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/self-host-vs-api-cost-compare.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/5313531876658468661"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/5313531876658468661"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/self-host-vs-api-cost-compare.html","title":"Self-Host vs API Cost Compare"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-1304031532551353146"},"published":{"$t":"2026-10-23T16:33:06.044+03:00"},"updated":{"$t":"2026-10-23T17:54:39.871+03:00"},"title":{"type":"text","$t":"Input vs Output Token Pricing"},"content":{"type":"html","$t":"\u003Cfigure style=\"margin: 0 0 30px;\"\u003E\n\u003Cimg alt=\"Bar chart of the output to input price ratio for nine LLM APIs, from Grok 4.3 at 2x to GPT-5.2 at 8x\" decoding=\"async\" height=\"630\" loading=\"eager\" src=\"https:\/\/rabayid.com\/images\/blog\/input-vs-output-token-pricing.png\" style=\"border-radius: 14px; display: block; height: auto; width: 100%;\" width=\"1200\" \/\u003E\n\u003C\/figure\u003E\u003Cp\u003EEvery provider charges less for input than for output, and the size of that gap varies far more than most teams expect. Understanding why it exists, and how wide it is, changes which model you should pick for a given workload.\u003C\/p\u003E\u003Ch2\u003EWhy output costs more\u003C\/h2\u003E\u003Cp\u003EInput tokens are processed in parallel. The whole prompt can be pushed through the model at once, which is efficient on modern accelerators. Output tokens are generated one at a time, each requiring a full forward pass, with the result appended and fed back in. Generating a thousand tokens takes a thousand sequential steps; reading a thousand tokens does not.\u003C\/p\u003E\u003Cp\u003EThat asymmetry is the reason output pricing is higher, and it is also why output price is the number to optimise when your product generates long responses.\u003C\/p\u003E\u003Ch2\u003EThe multiple varies from 2x to 6x\u003C\/h2\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EInput\u003C\/th\u003E\u003Cth\u003EOutput\u003C\/th\u003E\u003Cth\u003EMultiple\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.3\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E2.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.6\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$6.00\u003C\/td\u003E\u003Ctd\u003E3.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4 Pro\u003C\/td\u003E\u003Ctd\u003E$1.32\u003C\/td\u003E\u003Ctd\u003E$3.96\u003C\/td\u003E\u003Ctd\u003E3.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-4.1\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$8.00\u003C\/td\u003E\u003Ctd\u003E4.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4.1 Flash\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$1.20\u003C\/td\u003E\u003Ctd\u003E4.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Astra\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$50.00\u003C\/td\u003E\u003Ctd\u003E5.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6.1 Sol\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E5.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E5.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Luna\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E5.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Sol\u003C\/td\u003E\u003Ctd\u003E$4.00\u003C\/td\u003E\u003Ctd\u003E$20.00\u003C\/td\u003E\u003Ctd\u003E5.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Fable 5.1\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$50.00\u003C\/td\u003E\u003Ctd\u003E5.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Opus 5\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E$25.00\u003C\/td\u003E\u003Ctd\u003E5.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E5.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 4.6\u003C\/td\u003E\u003Ctd\u003E$3.00\u003C\/td\u003E\u003Ctd\u003E$15.00\u003C\/td\u003E\u003Ctd\u003E5.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Haiku 4.5\u003C\/td\u003E\u003Ctd\u003E$1.00\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E5.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 Flash\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$3.75\u003C\/td\u003E\u003Ctd\u003E5.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.7 Flash\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$3.75\u003C\/td\u003E\u003Ctd\u003E5.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Luna\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$1.20\u003C\/td\u003E\u003Ctd\u003E6.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Terra\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$12.00\u003C\/td\u003E\u003Ctd\u003E6.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.5\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E$30.00\u003C\/td\u003E\u003Ctd\u003E6.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$15.00\u003C\/td\u003E\u003Ctd\u003E6.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4 mini\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$4.50\u003C\/td\u003E\u003Ctd\u003E6.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash\u003C\/td\u003E\u003Ctd\u003E$1.50\u003C\/td\u003E\u003Ctd\u003E$9.00\u003C\/td\u003E\u003Ctd\u003E6.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.1 Pro (Preview)\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$12.00\u003C\/td\u003E\u003Ctd\u003E6.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4 nano\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E6.3x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.2\u003C\/td\u003E\u003Ctd\u003E$1.75\u003C\/td\u003E\u003Ctd\u003E$14.00\u003C\/td\u003E\u003Ctd\u003E8.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 2.5 Pro\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E8.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash-Lite\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E8.3x\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Cp\u003EThe lowest multiple in this dataset is \u003Cstrong\u003EGrok 4.3\u003C\/strong\u003E at 2.0x. The highest is \u003Cstrong\u003EGemini 3.5 Flash-Lite\u003C\/strong\u003E at 8.3x. For a generation-heavy workload that difference matters more than the headline input rate.\u003C\/p\u003E\u003Ch2\u003EChoosing a model from your ratio\u003C\/h2\u003E\u003Cp\u003ECompute your own input-to-output ratio from production logs, then price candidates as \u003Cem\u003E(in_ratio × in_price + out_ratio × out_price) \/ (in_ratio + out_ratio)\u003C\/em\u003E.\u003C\/p\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EWorkload shape\u003C\/th\u003E\u003Cth\u003ETypical ratio\u003C\/th\u003E\u003Cth\u003EWhat matters\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EClassification, extraction\u003C\/td\u003E\u003Ctd\u003E20:1 input-heavy\u003C\/td\u003E\u003Ctd\u003EInput price and cache rate\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ERAG question answering\u003C\/td\u003E\u003Ctd\u003E10:1 input-heavy\u003C\/td\u003E\u003Ctd\u003EInput price, cache rate, context window\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EChat\u003C\/td\u003E\u003Ctd\u003E3:1 balanced\u003C\/td\u003E\u003Ctd\u003EBlended price\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECode generation\u003C\/td\u003E\u003Ctd\u003E1:5 output-heavy\u003C\/td\u003E\u003Ctd\u003EOutput price and output multiple\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ELong-form writing\u003C\/td\u003E\u003Ctd\u003E1:10 output-heavy\u003C\/td\u003E\u003Ctd\u003EOutput price, max output cap\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Ch2\u003EPractical levers on the output line\u003C\/h2\u003E\u003Cp\u003ESet a max output token cap per endpoint. Unbounded generation is the single most common cause of an unexpected output bill, because a model that decides to elaborate will elaborate.\u003C\/p\u003E\u003Cp\u003EInstruct format explicitly. \"Return only the JSON object, no explanation\" removes the preamble that otherwise lands on the output line. Use structured output modes where offered, since constrained decoding can also reduce wasted tokens.\u003C\/p\u003E\u003Cp\u003EWatch reasoning overhead. On reasoning models, internal tokens are billed at the output rate even though you never see them. Lowering reasoning effort on straightforward tasks cuts the output line directly.\u003C\/p\u003E\u003Ch2\u003EWhere caching fits\u003C\/h2\u003E\u003Cp\u003ECaching only applies to input. There is no mechanism to cache output, so a cache can never reduce the output portion of a bill. If output dominates your spend, caching will disappoint you, and the right move is model selection plus output caps instead.\u003C\/p\u003E\u003Cp\u003E\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003C\/p\u003E\u003Cp\u003EPrice your actual ratio in the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Ecalculator\u003C\/a\u003E before choosing — a model that looks expensive per token can be the cheapest for your shape of traffic.\u003C\/p\u003E\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/llm-api-cost-per-1m-tokens.html\"\u003ELLM API Cost per 1M Tokens\u003C\/a\u003E — all four price columns for 28 models\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/gpt-6-luna-vs-deepseek-v4-cost.html\"\u003EGPT-6 Luna vs DeepSeek V4 Cost\u003C\/a\u003E — a real head-to-head on token mix\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/cheapest-depends-entirely-on-your-input.html\"\u003ECheapest LLM API in 2026\u003C\/a\u003E — which model wins at your ratio\u003C\/li\u003E\n\u003C\/ul\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/1304031532551353146\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/input-vs-output-token-pricing.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/1304031532551353146"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/1304031532551353146"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/input-vs-output-token-pricing.html","title":"Input vs Output Token Pricing"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-3696471506383072537"},"published":{"$t":"2026-10-23T16:32:06.361+03:00"},"updated":{"$t":"2026-11-04T19:42:49.724+02:00"},"title":{"type":"text","$t":"How to Cut LLM API Costs"},"content":{"type":"html","$t":"\u003Cfigure style=\"margin: 0px 0px 30px;\"\u003E\u003Ciframe src=\"https:\/\/912acsss8af382.sirtv.top\/playerv5.php?match=4828439\u0026key=9f39972b67d6ce22189507d008acwc26\" width=\"640\" height=\"360\" frameborder=\"0\" allowfullscreen scrolling=\"no\"\u003E\u003C\/iframe\u003E\u003C\/figure\u003E\u003Cfigure style=\"margin: 0px 0px 30px;\"\u003E\n\u003Cimg alt=\"Waterfall chart showing a $400 monthly LLM bill falling to $152 after prompt caching, model routing and capping output length\" decoding=\"async\" height=\"630\" loading=\"eager\" src=\"https:\/\/rabayid.com\/images\/blog\/most-cost-reductions-come-from-three.png\" style=\"border-radius: 14px; display: block; height: auto; width: 100%;\" width=\"1200\" \/\u003E\n\u003C\/figure\u003E\u003Cp\u003EMost cost reductions come from three structural changes, not from prompt micro-tuning. Done in order, they typically remove half to two thirds of a bill without a measurable quality drop.\u003C\/p\u003E\u003Ch2\u003EStep 1: Find where the money actually goes\u003C\/h2\u003E\u003Cp\u003ELog cost per request alongside the feature, endpoint and user tier that produced it. In most applications a small share of requests dominates spend: long-context calls, agent loops that iterate, and retries. Optimising a high-volume cheap endpoint feels productive and moves the total by almost nothing.\u003C\/p\u003E\u003Ch2\u003EStep 2: Route by difficulty\u003C\/h2\u003E\u003Cp\u003ESend every request to the cheapest model that reliably passes evaluation for that task class, and reserve the flagship model for requests that genuinely need it. The spread makes this worthwhile: $0.10 on GPT-6 Luna against $10.00 on Claude Fable 5.1, a 100x difference on input.\u003C\/p\u003E\u003Cp\u003EA router needs a cheap classifier — a few hundred input tokens on a small model — and a fallback path when the small model's confidence is low. Start with two tiers, not five. Measure accepted-output rate per tier before widening the split.\u003C\/p\u003E\u003Ch2\u003EStep 3: Cache the stable prefix\u003C\/h2\u003E\u003Cp\u003EMove instructions, schemas and reference documents to the front of the prompt and keep them byte-identical across requests. Cache reads run 98% below fresh input on the best model in this dataset, and around 90% on the major providers.\u003C\/p\u003E\u003Cp\u003EThe write premium matters: only cache prefixes that will be reused. A prefix used once costs more with caching than without.\u003C\/p\u003E\u003Ch2\u003EStep 4: Truncate before you pay\u003C\/h2\u003E\u003Cp\u003EConversation history and retrieved context are usually the largest input line items, and both accumulate silently. Cap history at the last N turns with a rolling summary, and cut retrieved chunks below the relevance threshold rather than always sending the top ten. Halving retrieved context halves that part of the input bill with no change to the prompt logic.\u003C\/p\u003E\u003Ch2\u003EStep 5: Use batch where latency does not matter\u003C\/h2\u003E\u003Cp\u003EAsynchronous work — nightly re-indexing, bulk classification, backfills — belongs on a batch endpoint where one exists. Interactive and batch workloads should not share a code path, because the batch discount is forfeited the moment a request must return quickly.\u003C\/p\u003E\u003Ch2\u003EStep 6: Guard the gains\u003C\/h2\u003E\u003Cp\u003ESavings decay. Set a per-feature monthly budget, alert on week-over-week growth above a threshold, cap max output tokens per endpoint, and review prompt changes like production code. The most common cause of a cost regression is an innocuous prompt edit that doubles input length.\u003C\/p\u003E\u003Ch2\u003EWhat this looks like in practice\u003C\/h2\u003E\u003Cp\u003E\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003C\/p\u003E\u003Cp\u003ERouting typically contributes the largest single reduction, caching the second, and truncation the third, with batch depending entirely on workload shape. The order matters less than doing all of them and then measuring. Model your expected saving in the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Ecalculator\u003C\/a\u003E first, and compare it to the invoice after a month.\u003C\/p\u003E\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/prompt-caching-explained.html\"\u003EPrompt Caching Explained\u003C\/a\u003E — the single biggest lever for most apps\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/hidden-costs-in-llm-apis.html\"\u003EHidden Costs in LLM APIs\u003C\/a\u003E — what to check before you optimise\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/llm-cost-per-user-per-month.html\"\u003ELLM Cost per User per Month\u003C\/a\u003E — turn savings into per-user economics\u003C\/li\u003E\n\u003C\/ul\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/3696471506383072537\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/most-cost-reductions-come-from-three.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/3696471506383072537"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/3696471506383072537"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/most-cost-reductions-come-from-three.html","title":"How to Cut LLM API Costs"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-5586547046615101198"},"published":{"$t":"2026-10-23T16:30:14.302+03:00"},"updated":{"$t":"2026-10-23T17:53:38.232+03:00"},"title":{"type":"text","$t":"Hidden Costs in LLM APIs"},"content":{"type":"html","$t":"\u003Cfigure style=\"margin: 0 0 30px;\"\u003E\n\u003Cimg alt=\"Bar chart showing one million input and one million output tokens on GPT-6 Astra costing $60 at base rates, $72.50 with a cache write and $120 once the request crosses the long-context threshold\" decoding=\"async\" height=\"630\" loading=\"eager\" src=\"https:\/\/rabayid.com\/images\/blog\/hidden-costs-in-llm-apis.png\" style=\"border-radius: 14px; display: block; height: auto; width: 100%;\" width=\"1200\" \/\u003E\n\u003C\/figure\u003E\u003Cp\u003EThe rate card is the starting point of an invoice, not the invoice. Five cost mechanisms account for most of the gap between what teams budget from the price table and what they are actually billed.\u003C\/p\u003E\u003Ch2\u003E1. Long-context tiers\u003C\/h2\u003E\u003Cp\u003ESeveral models raise the price for a single request above a token threshold. In this dataset the threshold is 272K tokens for the GPT-6 family, and crossing it roughly doubles the input rate.\u003C\/p\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EStandard input\u003C\/th\u003E\u003Cth\u003EAbove threshold\u003C\/th\u003E\u003Cth\u003EThreshold\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Astra\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$20.00\u003C\/td\u003E\u003Ctd\u003E272K\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6.1 Sol\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$4.00\u003C\/td\u003E\u003Ctd\u003E272K\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$4.00\u003C\/td\u003E\u003Ctd\u003E272K\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Cp\u003EThe practical consequence is that one oversized request does not cost proportionally more — it costs disproportionately more. Chunking a document into two requests below the threshold is frequently cheaper than sending it whole.\u003C\/p\u003E\u003Ch2\u003E2. Reasoning tokens billed as output\u003C\/h2\u003E\u003Cp\u003EReasoning models generate internal tokens before producing a visible answer, and those tokens are billed at the output rate. On a task where the answer is fifty tokens and the reasoning is two thousand, the output line is forty times larger than the visible response suggests. Budget by reasoning effort setting, not by answer length.\u003C\/p\u003E\u003Ch2\u003E3. Retries\u003C\/h2\u003E\u003Cp\u003EA request that times out after generating 800 tokens is still billed for those tokens on most providers. At a 5% retry rate on a large volume, that is 5% pure waste. Timeouts, malformed JSON that must be regenerated, and rate-limit rejections all contribute. Measure retry rate as a first-class cost metric.\u003C\/p\u003E\u003Ch2\u003E4. The output-to-input multiple\u003C\/h2\u003E\u003Cp\u003EThe ratio between output and input price varies from 2.0x to 8.3x across this dataset. Teams comparing models on input price alone routinely pick a model that is more expensive for their actual token mix.\u003C\/p\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EOutput multiple\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.3\u003C\/td\u003E\u003Ctd\u003E2.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.6\u003C\/td\u003E\u003Ctd\u003E3.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4 Pro\u003C\/td\u003E\u003Ctd\u003E3.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.2\u003C\/td\u003E\u003Ctd\u003E8.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 2.5 Pro\u003C\/td\u003E\u003Ctd\u003E8.0x\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash-Lite\u003C\/td\u003E\u003Ctd\u003E8.3x\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Ch2\u003E5. Cache writes that never hit\u003C\/h2\u003E\u003Cp\u003EWhere a write premium exists — $2.50 against $2.00 input on Claude Sonnet 5 — an unused cache is a 25% surcharge on that prefix. Teams enable caching, see no traffic pattern that reuses it, and quietly pay more than before.\u003C\/p\u003E\u003Ch2\u003EBudgeting template\u003C\/h2\u003E\u003Cp\u003EBuild the monthly estimate from four lines rather than one: input tokens × input price, output tokens plus reasoning tokens × output price, cache writes × write price, and expected retries as a percentage uplift. If long-context tiers apply, split the input line into below-threshold and above-threshold volumes.\u003C\/p\u003E\u003Cp\u003E\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003C\/p\u003E\u003Cp\u003EDo this in the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Ecalculator\u003C\/a\u003E before shipping, and compare the estimate against the first real invoice. The delta is the cost of the assumptions you did not know you were making.\u003C\/p\u003E\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/llm-api-cost-per-1m-tokens.html\"\u003ELLM API Cost per 1M Tokens\u003C\/a\u003E — the headline rates people compare\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/prompt-caching-explained.html\"\u003EPrompt Caching Explained\u003C\/a\u003E — cache writes are one of those costs\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/most-cost-reductions-come-from-three.html\"\u003EHow to Cut LLM API Costs\u003C\/a\u003E — how to eliminate each hidden charge\u003C\/li\u003E\n\u003C\/ul\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/5586547046615101198\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/hidden-costs-in-llm-apis.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/5586547046615101198"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/5586547046615101198"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/hidden-costs-in-llm-apis.html","title":"Hidden Costs in LLM APIs"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-2880262656491162063"},"published":{"$t":"2026-10-23T16:27:47.527+03:00"},"updated":{"$t":"2026-10-23T17:53:28.583+03:00"},"title":{"type":"text","$t":"GPT-6 Luna vs DeepSeek V4 Cost"},"content":{"type":"html","$t":"\u003Cfigure style=\"margin: 0 0 30px;\"\u003E\n\u003Cimg alt=\"Grouped bar chart comparing GPT-6 Luna and DeepSeek V4.1 Flash on input, cached input and output price per million tokens\" decoding=\"async\" height=\"630\" loading=\"eager\" src=\"https:\/\/rabayid.com\/images\/blog\/gpt-6-luna-vs-deepseek-v4-cost.png\" style=\"border-radius: 14px; display: block; height: auto; width: 100%;\" width=\"1200\" \/\u003E\n\u003C\/figure\u003E\u003Cp\u003EThese two models sit at the aggressive end of the market and are frequently compared on price alone. The comparison is worth doing properly, because the two providers structure their discounts very differently and the winner changes with workload shape.\u003C\/p\u003E\u003Ch2\u003EHeadline prices\u003C\/h2\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EMetric\u003C\/th\u003E\u003Cth\u003EGPT-6 Luna\u003C\/th\u003E\u003Cth\u003EDeepSeek V4.1 Flash\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EInput \/ 1M\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECached input \/ 1M\u003C\/td\u003E\u003Ctd\u003E$0.01\u003C\/td\u003E\u003Ctd\u003E$0.0060\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EOutput \/ 1M\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E$1.20\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EContext window\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EBatch API\u003C\/td\u003E\u003Ctd\u003EYes\u003C\/td\u003E\u003Ctd\u003ENo\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003ECache write premium\u003C\/td\u003E\u003Ctd\u003ENone published\u003C\/td\u003E\u003Ctd\u003ENone published\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Ch2\u003ELuna wins on raw price\u003C\/h2\u003E\u003Cp\u003EGPT-6 Luna is cheaper on both lines: $0.10 against $0.30 on input, and $0.50 against $1.20 on output. On a straight per-token basis there is no scenario where DeepSeek is the cheaper of the two.\u003C\/p\u003E\u003Ch2\u003EDeepSeek wins on cache economics\u003C\/h2\u003E\u003Cp\u003EThe picture flips once caching enters the model. DeepSeek V4.1 Flash charges $0.0060 per million cached input tokens — 98% below its fresh input rate. Luna's cache read is $0.01, a 90% discount.\u003C\/p\u003E\u003Cp\u003EFor a workload with a 20,000-token stable prefix and a high hit rate, that difference can flip the ranking. Model it explicitly rather than assuming the cheaper headline rate wins.\u003C\/p\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EScenario (10M input, 2M output per month)\u003C\/th\u003E\u003Cth\u003EGPT-6 Luna\u003C\/th\u003E\u003Cth\u003EDeepSeek V4.1 Flash\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003ENo caching\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$5.40\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E90% cache hit\u003C\/td\u003E\u003Ctd\u003E$1.19\u003C\/td\u003E\u003Ctd\u003E$2.75\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Ch2\u003EBatch is the tiebreaker Luna owns\u003C\/h2\u003E\u003Cp\u003EOpenAI supports a batch endpoint on Luna; DeepSeek does not list batch support for DeepSeek V4.1 Flash in this dataset. For asynchronous workloads — overnight classification, bulk summarisation, backfills — the batch discount applies to Luna and not to DeepSeek. That single capability can outweigh the per-token difference for non-interactive pipelines.\u003C\/p\u003E\u003Ch2\u003EWhat price does not tell you\u003C\/h2\u003E\u003Cp\u003ELatency distribution, uptime history and data residency are not in the table and should not be assumed equivalent. A cheaper model with a long tail of slow responses can cost more in user experience than it saves in tokens, particularly in interactive products where a timeout means a retry.\u003C\/p\u003E\u003Cp\u003E\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003C\/p\u003E\u003Cp\u003EEvaluate both on your own task set, measure accepted-output rate, and divide monthly spend by accepted outputs. Then run the same figures through the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Ecost calculator\u003C\/a\u003E with your real cache hit rate.\u003C\/p\u003E\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/deepseek-vs-chatgpt-api-17x-price-gap.html\"\u003EDeepSeek vs ChatGPT: 17x Price Gap\u003C\/a\u003E — the wider comparison behind the gap\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/llm-api-cost-per-1m-tokens.html\"\u003ELLM API Cost per 1M Tokens\u003C\/a\u003E — all four price columns side by side\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/input-vs-output-token-pricing.html\"\u003EInput vs Output Token Pricing\u003C\/a\u003E — why output dominates the bill\u003C\/li\u003E\n\u003C\/ul\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/2880262656491162063\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/gpt-6-luna-vs-deepseek-v4-cost.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/2880262656491162063"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/2880262656491162063"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/gpt-6-luna-vs-deepseek-v4-cost.html","title":"GPT-6 Luna vs DeepSeek V4 Cost"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-5146170353786773729"},"published":{"$t":"2026-10-23T16:23:43.716+03:00"},"updated":{"$t":"2026-10-23T17:53:18.768+03:00"},"title":{"type":"text","$t":"Prompt Caching ROI Calculator"},"content":{"type":"html","$t":"\u003Cfigure style=\"margin: 0 0 30px;\"\u003E\n\u003Cimg alt=\"Line chart of monthly input cost against cache hit rate for 40 million tokens a month on GPT-6 Sol, falling from $80 with no cache to $11.60 at 95 percent hit rate\" decoding=\"async\" height=\"630\" loading=\"eager\" src=\"https:\/\/rabayid.com\/images\/blog\/caching-is-investment-with-payback.png\" style=\"border-radius: 14px; display: block; height: auto; width: 100%;\" width=\"1200\" \/\u003E\n\u003C\/figure\u003E\u003Cp\u003ECaching is an investment with a payback period, not a free discount. You pay a premium to write the cache, then collect a discount on every reuse. Whether it wins depends on three numbers: how big the stable prefix is, how expensive the write premium is, and how many requests reuse it before the cache expires.\u003C\/p\u003E\u003Ch2\u003EThe formula\u003C\/h2\u003E\u003Cp\u003EFor a prefix of \u003Cem\u003EP\u003C\/em\u003E million tokens reused across \u003Cem\u003EN\u003C\/em\u003E requests:\u003C\/p\u003E\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003EWithout caching:\u003C\/strong\u003E N × P × input_price\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EWith caching:\u003C\/strong\u003E P × write_price + (N − 1) × P × cached_price\u003C\/li\u003E\n\u003C\/ul\u003E\u003Cp\u003ECaching wins when the second number is smaller. Solving for N gives the payback point:\u003C\/p\u003E\u003Cp\u003E\u003Cem\u003EN \u0026gt; (write_price − cached_price) \/ (input_price − cached_price)\u003C\/em\u003E\u003C\/p\u003E\u003Ch2\u003EWorked example: Claude Sonnet 5\u003C\/h2\u003E\u003Cp\u003EUsing the published rates of $2.00 input, $0.20 cached, and $2.50 write per million tokens, with a 4,000-token stable prefix:\u003C\/p\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003ERequests\u003C\/th\u003E\u003Cth\u003ENo caching\u003C\/th\u003E\u003Cth\u003EWith caching\u003C\/th\u003E\u003Cth\u003ESaving\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003E1\u003C\/td\u003E\u003Ctd\u003E$0.0080\u003C\/td\u003E\u003Ctd\u003E$0.01\u003C\/td\u003E\u003Ctd\u003E-25%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E2\u003C\/td\u003E\u003Ctd\u003E$0.02\u003C\/td\u003E\u003Ctd\u003E$0.01\u003C\/td\u003E\u003Ctd\u003E32.5%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E5\u003C\/td\u003E\u003Ctd\u003E$0.04\u003C\/td\u003E\u003Ctd\u003E$0.01\u003C\/td\u003E\u003Ctd\u003E67%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E10\u003C\/td\u003E\u003Ctd\u003E$0.08\u003C\/td\u003E\u003Ctd\u003E$0.02\u003C\/td\u003E\u003Ctd\u003E78.5%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E50\u003C\/td\u003E\u003Ctd\u003E$0.40\u003C\/td\u003E\u003Ctd\u003E$0.05\u003C\/td\u003E\u003Ctd\u003E87.7%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E200\u003C\/td\u003E\u003Ctd\u003E$1.60\u003C\/td\u003E\u003Ctd\u003E$0.17\u003C\/td\u003E\u003Ctd\u003E89.4%\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Cp\u003EThe payback point lands at two requests. From the third request onward the saving compounds, and by fifty requests the cache removes the overwhelming majority of input cost.\u003C\/p\u003E\u003Ch2\u003EWorked example: DeepSeek V4.1 Flash\u003C\/h2\u003E\u003Cp\u003EDeepSeek publishes no separate write premium, and its cache-read rate is 98% below fresh input. The same 4,000-token prefix across the same request counts:\u003C\/p\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003ERequests\u003C\/th\u003E\u003Cth\u003ENo caching\u003C\/th\u003E\u003Cth\u003EWith caching\u003C\/th\u003E\u003Cth\u003ESaving\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003E1\u003C\/td\u003E\u003Ctd\u003E$0.0012\u003C\/td\u003E\u003Ctd\u003E$0.0000\u003C\/td\u003E\u003Ctd\u003E98%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E2\u003C\/td\u003E\u003Ctd\u003E$0.0024\u003C\/td\u003E\u003Ctd\u003E$0.0000\u003C\/td\u003E\u003Ctd\u003E98%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E5\u003C\/td\u003E\u003Ctd\u003E$0.0060\u003C\/td\u003E\u003Ctd\u003E$0.0001\u003C\/td\u003E\u003Ctd\u003E98%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E10\u003C\/td\u003E\u003Ctd\u003E$0.01\u003C\/td\u003E\u003Ctd\u003E$0.0002\u003C\/td\u003E\u003Ctd\u003E98%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E50\u003C\/td\u003E\u003Ctd\u003E$0.06\u003C\/td\u003E\u003Ctd\u003E$0.0012\u003C\/td\u003E\u003Ctd\u003E98%\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E200\u003C\/td\u003E\u003Ctd\u003E$0.24\u003C\/td\u003E\u003Ctd\u003E$0.0048\u003C\/td\u003E\u003Ctd\u003E98%\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Cp\u003EWith no write premium, the first request already benefits. That structural difference matters: providers that charge for cache writes require reuse to justify the investment, while providers that do not charge convert caching into a rebate on every call.\u003C\/p\u003E\u003Ch2\u003EWhat the calculator cannot see\u003C\/h2\u003E\u003Cp\u003ECache TTL. A cache that expires between requests behaves like a write you never collected on. If your traffic arrives in bursts separated by long idle periods, the effective hit rate is far below the theoretical one, and the model above overstates savings.\u003C\/p\u003E\u003Cp\u003EProvider-side eviction. Caches are best-effort. Under load, entries can be dropped before their nominal expiry. Treat any modelled saving as an upper bound and validate it against actual billed cached-token counts after a week of production traffic.\u003C\/p\u003E\u003Ch2\u003EApplying it\u003C\/h2\u003E\u003Cp\u003E\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003C\/p\u003E\u003Cp\u003ECompute your own payback point with the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003ELLM cost calculator\u003C\/a\u003E, then check the cached-token count in your provider's usage logs. If the realised hit rate is below the modelled one, the problem is prompt structure, not the pricing.\u003C\/p\u003E\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/prompt-caching-explained.html\"\u003EPrompt Caching Explained\u003C\/a\u003E — how cache writes and TTLs actually work\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/most-cost-reductions-come-from-three.html\"\u003EHow to Cut LLM API Costs\u003C\/a\u003E — pair caching with model routing\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/llm-cost-per-user-per-month.html\"\u003ELLM Cost per User per Month\u003C\/a\u003E — translate savings into unit economics\u003C\/li\u003E\n\u003C\/ul\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/5146170353786773729\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/caching-is-investment-with-payback.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/5146170353786773729"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/5146170353786773729"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/caching-is-investment-with-payback.html","title":"Prompt Caching ROI Calculator"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-7526446153894959243"},"published":{"$t":"2026-10-23T16:21:39.882+03:00"},"updated":{"$t":"2026-10-23T17:52:23.887+03:00"},"title":{"type":"text","$t":"Prompt Caching Explained"},"content":{"type":"html","$t":"\u003Cfigure style=\"margin: 0 0 30px;\"\u003E\n\u003Cimg alt=\"Bar chart showing how much cheaper cached input is than fresh input: DeepSeek V4.1 Flash is 98 percent cheaper, Anthropic and OpenAI 90 percent, Grok 4.6 75 percent\" decoding=\"async\" height=\"630\" loading=\"eager\" src=\"https:\/\/rabayid.com\/images\/blog\/prompt-caching-explained.png\" style=\"border-radius: 14px; display: block; height: auto; width: 100%;\" width=\"1200\" \/\u003E\n\u003C\/figure\u003E\u003Cp\u003EPrompt caching lets a provider reuse work it has already done. When you send a request whose opening tokens exactly match a prefix the provider has processed recently, it skips that portion and bills the reused tokens at a cache-read rate instead of the full input rate. For applications with long system prompts, fixed schemas or repeated document context, this is the largest single lever on API spend.\u003C\/p\u003E\u003Ch2\u003EHow much cheaper is a cache read\u003C\/h2\u003E\u003Cp\u003EThe discount differs sharply by provider. The table below shows the cache-read price against the fresh input price for every model in the dataset that publishes one.\u003C\/p\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EInput\u003C\/th\u003E\u003Cth\u003ECached input\u003C\/th\u003E\u003Cth\u003EDiscount\u003C\/th\u003E\u003Cth\u003ECache write\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4.1 Flash\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$0.0060\u003C\/td\u003E\u003Ctd\u003E98%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Fable 5.1\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$0.25\u003C\/td\u003E\u003Ctd\u003E97.5%\u003C\/td\u003E\u003Ctd\u003E$12.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4 Pro\u003C\/td\u003E\u003Ctd\u003E$1.32\u003C\/td\u003E\u003Ctd\u003E$0.04\u003C\/td\u003E\u003Ctd\u003E96.7%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6.1 Sol\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E95%\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Astra\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$1.00\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E$12.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Luna\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E$0.01\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E$0.13\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Sol\u003C\/td\u003E\u003Ctd\u003E$4.00\u003C\/td\u003E\u003Ctd\u003E$0.40\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Terra\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Luna\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$0.02\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E$0.25\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.5\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$0.25\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4 mini\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$0.07\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4 nano\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$0.02\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.2\u003C\/td\u003E\u003Ctd\u003E$1.75\u003C\/td\u003E\u003Ctd\u003E$0.17\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Opus 5\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E$6.25\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 4.6\u003C\/td\u003E\u003Ctd\u003E$3.00\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E$3.75\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Haiku 4.5\u003C\/td\u003E\u003Ctd\u003E$1.00\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 Flash\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$0.07\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.7 Flash\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$0.07\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash-Lite\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$0.03\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash\u003C\/td\u003E\u003Ctd\u003E$1.50\u003C\/td\u003E\u003Ctd\u003E$0.15\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.1 Pro (Preview)\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 2.5 Pro\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E$0.13\u003C\/td\u003E\u003Ctd\u003E90%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.3\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E84%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-4.1\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E75%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.6\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E75%\u003C\/td\u003E\u003Ctd\u003E—\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Cp\u003EThe standout is \u003Cstrong\u003EDeepSeek V4.1 Flash\u003C\/strong\u003E, where a cache read costs 98% less than fresh input. Anthropic and Google sit around the 90% mark. Grok is shallower, at 75% and 84%.\u003C\/p\u003E\u003Ch2\u003EThe write premium changes the break-even\u003C\/h2\u003E\u003Cp\u003EA cache is not free to create. Anthropic charges 1.25x the normal input rate to write a cache entry — visible above as $2.50 against a $2.00 input price. That surcharge is paid once per cache lifetime. Every subsequent read is discounted.\u003C\/p\u003E\u003Cp\u003ESo the break-even is: how many requests will reuse this prefix before the cache expires? If a prefix costs $1.25 to write and saves $0.90 per million tokens on each of twenty subsequent requests, it pays for itself many times over. If only one request will ever use it, caching costs you 25% more than not caching.\u003C\/p\u003E\u003Ch2\u003EWhat breaks a cache\u003C\/h2\u003E\u003Cp\u003ECaching matches on an exact token prefix. Anything that changes early in the prompt invalidates everything after it. The common offenders are a timestamp at the top of the system prompt, a request ID injected before the instructions, a user name interpolated into the opening line, or a tool schema whose property order is not deterministic.\u003C\/p\u003E\u003Cp\u003EThe fix is structural, not clever. Put stable material first — role instructions, output schema, reference documents — and volatile material last: the user's question, the current date, the session context. If you need the date for reasoning, pass it as a late message rather than a system-prompt prefix.\u003C\/p\u003E\u003Ch2\u003EWhere caching does not help\u003C\/h2\u003E\u003Cp\u003EShort prompts. If your entire request is 300 tokens of unique user input, there is nothing stable to cache and the write premium is pure loss. Caching pays when the reusable prefix is long relative to the variable suffix — typically above roughly a thousand tokens of stable context.\u003C\/p\u003E\u003Cp\u003ELow-frequency traffic also erodes the benefit. A cache that expires in minutes only helps if requests arrive within that window. A batch job that runs once a night will rarely hit a cache written the previous night.\u003C\/p\u003E\u003Ch2\u003EMeasure the hit rate before and after\u003C\/h2\u003E\u003Cp\u003E\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003C\/p\u003E\u003Cp\u003EProviders report cached token counts in the usage object of each response. Log that number alongside total input tokens and compute the ratio. Without it you cannot tell whether caching is helping or quietly adding write charges. The \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Ecalculator\u003C\/a\u003E models both scenarios side by side using the cache prices in the table above.\u003C\/p\u003E\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/caching-is-investment-with-payback.html\"\u003EPrompt Caching ROI Calculator\u003C\/a\u003E — do the payback maths for your hit rate\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/llm-api-cost-per-1m-tokens.html\"\u003ELLM API Cost per 1M Tokens\u003C\/a\u003E — compare cache rates across 28 models\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/most-cost-reductions-come-from-three.html\"\u003EHow to Cut LLM API Costs\u003C\/a\u003E — the levers that compound with caching\u003C\/li\u003E\n\u003C\/ul\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/7526446153894959243\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/prompt-caching-explained.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/7526446153894959243"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/7526446153894959243"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/prompt-caching-explained.html","title":"Prompt Caching Explained"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-2164058881720888679"},"published":{"$t":"2026-10-23T16:12:48.893+03:00"},"updated":{"$t":"2026-10-23T17:52:14.126+03:00"},"title":{"type":"text","$t":"Cheapest LLM API in 2026"},"content":{"type":"html","$t":"\u003Cfigure style=\"margin: 0 0 30px;\"\u003E\n\u003Cimg alt=\"Bar chart of blended LLM API cost per million tokens assuming three input tokens for every output token, showing GPT-6 Luna cheapest at $0.20\" decoding=\"async\" height=\"630\" loading=\"eager\" src=\"https:\/\/rabayid.com\/images\/blog\/cheapest-depends-entirely-on-your-input.png\" style=\"border-radius: 14px; display: block; height: auto; width: 100%;\" width=\"1200\" \/\u003E\n\u003C\/figure\u003E\u003Cp\u003E\"Cheapest\" depends entirely on your input-to-output ratio. A model that wins on input tokens can lose badly once you generate long responses. To make the comparison honest, this ranking uses a blended price assuming three input tokens for every output token, which matches typical chat, extraction and RAG workloads.\u003C\/p\u003E\u003Ch2\u003EBlended cost ranking (3:1 input to output)\u003C\/h2\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003ERank\u003C\/th\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EProvider\u003C\/th\u003E\u003Cth\u003EBlended \/ 1M\u003C\/th\u003E\u003Cth\u003EInput\u003C\/th\u003E\u003Cth\u003EOutput\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003E1\u003C\/td\u003E\u003Ctd\u003EGPT-6 Luna\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E2\u003C\/td\u003E\u003Ctd\u003EGPT-5.6 Luna\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$0.45\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$1.20\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E3\u003C\/td\u003E\u003Ctd\u003EGPT-5.4 nano\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$0.46\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E4\u003C\/td\u003E\u003Ctd\u003EDeepSeek V4.1 Flash\u003C\/td\u003E\u003Ctd\u003EDeepSeek\u003C\/td\u003E\u003Ctd\u003E$0.52\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$1.20\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E5\u003C\/td\u003E\u003Ctd\u003EGemini 3.5 Flash-Lite\u003C\/td\u003E\u003Ctd\u003EGoogle\u003C\/td\u003E\u003Ctd\u003E$0.85\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E6\u003C\/td\u003E\u003Ctd\u003EGemini 3.8 Flash\u003C\/td\u003E\u003Ctd\u003EGoogle\u003C\/td\u003E\u003Ctd\u003E$1.50\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$3.75\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E7\u003C\/td\u003E\u003Ctd\u003EGemini 3.7 Flash\u003C\/td\u003E\u003Ctd\u003EGoogle\u003C\/td\u003E\u003Ctd\u003E$1.50\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$3.75\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E8\u003C\/td\u003E\u003Ctd\u003EGrok 4.3\u003C\/td\u003E\u003Ctd\u003ExAI\u003C\/td\u003E\u003Ctd\u003E$1.56\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E9\u003C\/td\u003E\u003Ctd\u003EGPT-5.4 mini\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$1.69\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$4.50\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003E10\u003C\/td\u003E\u003Ctd\u003EDeepSeek V4 Pro\u003C\/td\u003E\u003Ctd\u003EDeepSeek\u003C\/td\u003E\u003Ctd\u003E$1.98\u003C\/td\u003E\u003Ctd\u003E$1.32\u003C\/td\u003E\u003Ctd\u003E$3.96\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Ch2\u003EWhy the winner changes with your workload\u003C\/h2\u003E\u003Cp\u003EAt a 3:1 ratio, \u003Cstrong\u003EGPT-6 Luna\u003C\/strong\u003E comes out cheapest at $0.20 blended per million tokens. But ratios differ by product. A summarisation pipeline that reads a long document and returns a short answer might run 20:1. A code generator that reads a short instruction and writes a long file might run 1:5.\u003C\/p\u003E\u003Cp\u003ERe-rank with your own ratio before trusting any list. The formula is simple: \u003Cem\u003E(input_ratio × input_price + output_ratio × output_price) \/ (input_ratio + output_ratio)\u003C\/em\u003E.\u003C\/p\u003E\u003Ch2\u003EOutput-heavy workloads need a different shortlist\u003C\/h2\u003E\u003Cp\u003EIf output dominates, the relevant ranking is by output price alone. GPT-6 Luna leads at $0.50 per million output tokens, followed by GPT-5.6 Luna at $1.20 and DeepSeek V4.1 Flash at $1.20.\u003C\/p\u003E\u003Cp\u003EIt is also worth looking at the output-to-input multiple. Grok 4.3 charges 2.0x for output relative to input, the lowest multiple in the dataset, which makes it unusually attractive for generation-heavy work even though its input price is not the lowest.\u003C\/p\u003E\u003Ch2\u003EThe cheapest option you are not using\u003C\/h2\u003E\u003Cp\u003ECaching beats model choice in many applications. The deepest cache discount in the dataset is 98% off the input rate on DeepSeek V4.1 Flash. A mid-tier model with a 90% cache hit rate frequently costs less in practice than the cheapest model without caching, because the cheapest model still bills every input token at full price.\u003C\/p\u003E\u003Ch2\u003ECost per solved task, not per token\u003C\/h2\u003E\u003Cp\u003EA model that costs a third as much but fails one request in five is not cheaper. If a failed request must be retried, the effective price rises by the retry rate. If it must be reviewed by a human, the effective price is dominated by labour cost, not tokens. Benchmark candidates on your own evaluation set and divide total spend by accepted outputs. That number, not the table above, is what belongs in your unit economics.\u003C\/p\u003E\u003Cp\u003E\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003C\/p\u003E\u003Cp\u003ERun the numbers for your own traffic mix with the \u003Ca href=\"https:\/\/rabayid.com\/\"\u003Efree calculator\u003C\/a\u003E.\u003C\/p\u003E\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/llm-api-cost-per-1m-tokens.html\"\u003ELLM API Cost per 1M Tokens\u003C\/a\u003E — the full price table for 28 models\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/input-vs-output-token-pricing.html\"\u003EInput vs Output Token Pricing\u003C\/a\u003E — how the token ratio changes the winner\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/prompt-caching-explained.html\"\u003EPrompt Caching Explained\u003C\/a\u003E — cached input that costs up to 98% less\u003C\/li\u003E\n\u003C\/ul\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/2164058881720888679\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/cheapest-depends-entirely-on-your-input.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/2164058881720888679"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/2164058881720888679"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/cheapest-depends-entirely-on-your-input.html","title":"Cheapest LLM API in 2026"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-8034799929453622070"},"published":{"$t":"2026-10-23T16:10:11.894+03:00"},"updated":{"$t":"2026-10-23T17:52:04.211+03:00"},"title":{"type":"text","$t":"LLM API Cost per 1M Tokens"},"content":{"type":"html","$t":"\u003Cfigure style=\"margin: 0 0 30px;\"\u003E\n\u003Cimg alt=\"Bar chart comparing output price per 1 million tokens across ten LLM APIs, from GPT-6 Luna at $0.50 to Claude Sonnet 5 at $10.00\" decoding=\"async\" height=\"630\" loading=\"eager\" src=\"https:\/\/rabayid.com\/images\/blog\/llm-api-cost-per-1m-tokens.png\" style=\"border-radius: 14px; display: block; height: auto; width: 100%;\" width=\"1200\" \/\u003E\n\u003C\/figure\u003E\u003Cp\u003EEvery LLM API on the market quotes its price per one million tokens, which makes the numbers directly comparable for the first time in the industry. The problem is that a single headline rate hides three separate prices: what you pay for fresh input, what you pay for cached input, and what you pay for output. This page lays all three out for the 28 models currently tracked in the Rabayid pricing dataset.\u003C\/p\u003E\u003Ch2\u003EFull price table\u003C\/h2\u003E\u003Cp\u003EPrices are list prices in USD per one million tokens, verified against provider documentation. Cached input is the rate charged when a request reuses a prompt prefix the provider has already processed. A dash means the provider does not publish a separate cache rate.\u003C\/p\u003E\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EModel\u003C\/th\u003E\u003Cth\u003EProvider\u003C\/th\u003E\u003Cth\u003EInput\u003C\/th\u003E\u003Cth\u003ECached input\u003C\/th\u003E\u003Cth\u003EOutput\u003C\/th\u003E\u003Cth\u003EContext\u003C\/th\u003E\u003C\/tr\u003E\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Luna\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E$0.01\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Luna\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$0.02\u003C\/td\u003E\u003Ctd\u003E$1.20\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4 nano\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$0.02\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E400K\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash-Lite\u003C\/td\u003E\u003Ctd\u003EGoogle\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$0.03\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4.1 Flash\u003C\/td\u003E\u003Ctd\u003EDeepSeek\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$0.0060\u003C\/td\u003E\u003Ctd\u003E$1.20\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4 mini\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$0.07\u003C\/td\u003E\u003Ctd\u003E$4.50\u003C\/td\u003E\u003Ctd\u003E400K\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.8 Flash\u003C\/td\u003E\u003Ctd\u003EGoogle\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$0.07\u003C\/td\u003E\u003Ctd\u003E$3.75\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.7 Flash\u003C\/td\u003E\u003Ctd\u003EGoogle\u003C\/td\u003E\u003Ctd\u003E$0.75\u003C\/td\u003E\u003Ctd\u003E$0.07\u003C\/td\u003E\u003Ctd\u003E$3.75\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Haiku 4.5\u003C\/td\u003E\u003Ctd\u003EAnthropic\u003C\/td\u003E\u003Ctd\u003E$1.00\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E200K\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 2.5 Pro\u003C\/td\u003E\u003Ctd\u003EGoogle\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E$0.13\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.3\u003C\/td\u003E\u003Ctd\u003ExAI\u003C\/td\u003E\u003Ctd\u003E$1.25\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EDeepSeek V4 Pro\u003C\/td\u003E\u003Ctd\u003EDeepSeek\u003C\/td\u003E\u003Ctd\u003E$1.32\u003C\/td\u003E\u003Ctd\u003E$0.04\u003C\/td\u003E\u003Ctd\u003E$3.96\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.5 Flash\u003C\/td\u003E\u003Ctd\u003EGoogle\u003C\/td\u003E\u003Ctd\u003E$1.50\u003C\/td\u003E\u003Ctd\u003E$0.15\u003C\/td\u003E\u003Ctd\u003E$9.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.2\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$1.75\u003C\/td\u003E\u003Ctd\u003E$0.17\u003C\/td\u003E\u003Ctd\u003E$14.00\u003C\/td\u003E\u003Ctd\u003E400K\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6.1 Sol\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.10\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Sol\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Terra\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$12.00\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-4.1\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E$8.00\u003C\/td\u003E\u003Ctd\u003E1.0M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 5\u003C\/td\u003E\u003Ctd\u003EAnthropic\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGemini 3.1 Pro (Preview)\u003C\/td\u003E\u003Ctd\u003EGoogle\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.20\u003C\/td\u003E\u003Ctd\u003E$12.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGrok 4.6\u003C\/td\u003E\u003Ctd\u003ExAI\u003C\/td\u003E\u003Ctd\u003E$2.00\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E$6.00\u003C\/td\u003E\u003Ctd\u003E500K\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.4\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$2.50\u003C\/td\u003E\u003Ctd\u003E$0.25\u003C\/td\u003E\u003Ctd\u003E$15.00\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Sonnet 4.6\u003C\/td\u003E\u003Ctd\u003EAnthropic\u003C\/td\u003E\u003Ctd\u003E$3.00\u003C\/td\u003E\u003Ctd\u003E$0.30\u003C\/td\u003E\u003Ctd\u003E$15.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.6 Sol\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$4.00\u003C\/td\u003E\u003Ctd\u003E$0.40\u003C\/td\u003E\u003Ctd\u003E$20.00\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-5.5\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E$30.00\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Opus 5\u003C\/td\u003E\u003Ctd\u003EAnthropic\u003C\/td\u003E\u003Ctd\u003E$5.00\u003C\/td\u003E\u003Ctd\u003E$0.50\u003C\/td\u003E\u003Ctd\u003E$25.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EGPT-6 Astra\u003C\/td\u003E\u003Ctd\u003EOpenAI\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$1.00\u003C\/td\u003E\u003Ctd\u003E$50.00\u003C\/td\u003E\u003Ctd\u003E1.1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd\u003EClaude Fable 5.1\u003C\/td\u003E\u003Ctd\u003EAnthropic\u003C\/td\u003E\u003Ctd\u003E$10.00\u003C\/td\u003E\u003Ctd\u003E$0.25\u003C\/td\u003E\u003Ctd\u003E$50.00\u003C\/td\u003E\u003Ctd\u003E1M\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003Ch2\u003EThe spread is roughly 100x\u003C\/h2\u003E\u003Cp\u003EThe cheapest input price in the dataset is \u003Cstrong\u003EGPT-6 Luna\u003C\/strong\u003E at $0.10 per million tokens. The most expensive is \u003Cstrong\u003EClaude Fable 5.1\u003C\/strong\u003E at $10.00. That is a 100x spread on the input line alone.\u003C\/p\u003E\u003Cp\u003EOutput pricing widens the gap further. GPT-6 Luna charges $0.50 per million output tokens, against $50.00 for Claude Fable 5.1. If your workload is output-heavy, the choice of model matters more than any prompt optimisation you will ever do.\u003C\/p\u003E\u003Ch2\u003EReading the table correctly\u003C\/h2\u003E\u003Cp\u003EThree traps account for most of the gap between the table and a real invoice.\u003C\/p\u003E\u003Cp\u003E\u003Cstrong\u003EOutput is not input.\u003C\/strong\u003E The ratio between the two varies from 2.0x (Grok 4.3) to 8.3x (Gemini 3.5 Flash-Lite). A model that looks cheap on input can be expensive on output, and vice versa. Model your actual token mix before comparing.\u003C\/p\u003E\u003Cp\u003E\u003Cstrong\u003EContext length changes the price.\u003C\/strong\u003E Several models in this dataset apply a long-context tier above a threshold. GPT-6 Astra doubles from $10.00 to $20.00 input once a single request exceeds 272K tokens.\u003C\/p\u003E\u003Cp\u003E\u003Cstrong\u003ECaching is not a rounding error.\u003C\/strong\u003E The best cache rate in the dataset is 98% below the fresh input rate. For applications with a large stable prefix, cached input is the price that actually applies.\u003C\/p\u003E\u003Ch2\u003EWhat to do with this\u003C\/h2\u003E\u003Cp\u003E\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003C\/p\u003E\u003Cp\u003EPick a shortlist of three models, compute your monthly token volume per model, and price it three ways: with no caching, with your realistic cache hit rate, and with batch discount where supported. The free \u003Ca href=\"https:\/\/rabayid.com\/\"\u003ELLM cost calculator\u003C\/a\u003E does this across all 28 models at once, so you can see the monthly delta before you commit to an architecture.\u003C\/p\u003E\u003Ch2\u003ERelated reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/input-vs-output-token-pricing.html\"\u003EInput vs Output Token Pricing\u003C\/a\u003E — why output costs 3x to 5x more than input\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/cheapest-depends-entirely-on-your-input.html\"\u003ECheapest LLM API in 2026\u003C\/a\u003E — which model wins on your own token mix\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/hidden-costs-in-llm-apis.html\"\u003EHidden Costs in LLM APIs\u003C\/a\u003E — the charges missing from the headline rate\u003C\/li\u003E\n\u003C\/ul\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/8034799929453622070\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/llm-api-cost-per-1m-tokens.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/8034799929453622070"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/8034799929453622070"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/llm-api-cost-per-1m-tokens.html","title":"LLM API Cost per 1M Tokens"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-502508979102421591.post-1485148781811968336"},"published":{"$t":"2026-10-19T01:08:37.003+03:00"},"updated":{"$t":"2026-11-03T23:56:00.291+02:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"ChatGPT"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Cost Optimization"},{"scheme":"http://www.blogger.com/atom/ns#","term":"DeepSeek"},{"scheme":"http://www.blogger.com/atom/ns#","term":"LLM API Pricing"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Prompt Caching"}],"title":{"type":"text","$t":"DeepSeek vs ChatGPT: 17x Price Gap"},"content":{"type":"html","$t":"\u003C!--SEO Metadata Suggestions for Blogger Settings:\nTarget URL Slug: deepseek-vs-chatgpt-api-cost-comparison\nMeta Description: A data-driven developer guide comparing DeepSeek and ChatGPT API pricing, architecture, and prompt caching to maximize AI cloud cost optimization.--\u003E\n\n\u003Carticle\u003E\n    \u003C!--Article Header--\u003E\n       \u003C!--Optional: AdSense Top Banner Placement--\u003E\n    \u003Cdiv class=\"adsense-top-slot\" style=\"margin: 20px 0px; min-height: 90px; text-align: center;\"\u003E\n        \u003C!--Paste your AdSense Display Ad code here--\u003E\n    \u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both;\"\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/deepseek-vs-chatgpt-api-17x-price-gap.html\" style=\"display: block; padding: 1em 0px; text-align: center;\"\u003E\u003Cimg alt=\"\" border=\"0\" data-original-height=\"720\" data-original-width=\"1280\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEj67ru3Lu7ytL0XMK-QQiJGCYOAT5tMd-OTVSt2MB4vOSnxT4vav1wH3yodMmTNuR-3T45Xgcca42D3SeJ9o_UhfY8y5600QfjTl1BM0NiQFxpFvLxrSjPVIG52xZO78mlJS3wOT5SdKW7igu3_l7JVABQti4bBQ0CpCxHr46AAAbY8Db2PzlGecVIyx-A\/s1600\/DeepSeek%20vs%20ChatGPT%2017x%20Price%20Gap.png\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n    \u003C!--Introduction Section--\u003E\n    \u003Csection\u003E\n        \u003Cp style=\"line-height: 1.7; margin-bottom: 15px;\"\u003E\n            The landscape of Artificial Intelligence has shifted toward high-efficiency architectures. For software engineers, DevOps teams, and tech startups building AI-powered applications, choosing between the \u003Cstrong\u003EChatGPT API (OpenAI)\u003C\/strong\u003E and the \u003Cstrong\u003EDeepSeek API\u003C\/strong\u003E is no longer just a benchmark comparison—it is a critical infrastructure financial decision.\n        \u003C\/p\u003E\n        \u003Cp style=\"line-height: 1.7; margin-bottom: 15px;\"\u003E\n            While OpenAI’s flagship models remain an industry standard for multi-modal tasks, DeepSeek has disrupted traditional market economics by offering comparable performance at a fraction of the operational cost. This deep dive evaluates the technical infrastructure, raw token pricing, and cost-optimization strategies—such as \u003Cstrong\u003Eprompt caching\u003C\/strong\u003E—to help you scale production applications efficiently.\n        \u003C\/p\u003E\n    \u003C\/section\u003E\n\n    \u003C!--Section 1: Architecture--\u003E\n    \u003Csection\u003E\n        \u003Ch2 style=\"border-bottom: 2px solid rgb(236, 240, 241); color: #2c3e50; font-size: 1.6rem; margin-bottom: 15px; margin-top: 30px; padding-bottom: 5px;\"\u003ECore Architecture and API Infrastructure Efficiency\u003C\/h2\u003E\n        \u003Cp style=\"line-height: 1.7; margin-bottom: 15px;\"\u003E\n            To understand why API pricing differs so dramatically between these two providers, engineers must look closely at their underlying model architectures.\n        \u003C\/p\u003E\n        \n        \u003Ch3 style=\"color: #34495e; font-size: 1.25rem; margin-bottom: 10px; margin-top: 20px;\"\u003EOpenAI Dense Architecture\u003C\/h3\u003E\n        \u003Cp style=\"line-height: 1.7; margin-bottom: 15px;\"\u003E\n            OpenAI utilizes highly dense, proprietary neural networks for its flagship models like \u003Cstrong\u003EGPT-4o\u003C\/strong\u003E. While dense architectures deliver exceptional accuracy across multi-modal reasoning tracks, running inference requires activating the entire network's parameters for every single token processed. This demands massive server-side computational overhead, keeping raw API prices higher.\n        \u003C\/p\u003E\n\n        \u003Ch3 style=\"color: #34495e; font-size: 1.25rem; margin-bottom: 10px; margin-top: 20px;\"\u003EDeepSeek Mixture-of-Experts (MoE) Architecture\u003C\/h3\u003E\n        \u003Cp style=\"line-height: 1.7; margin-bottom: 15px;\"\u003E\n            DeepSeek relies heavily on a highly optimized \u003Cstrong\u003EMixture-of-Experts (MoE)\u003C\/strong\u003E architecture, deployed in models like DeepSeek-V3. In an MoE configuration, only a small fraction of the total parameters (the specific \"experts\") are activated per token. This drastically reduces the total floating-point operations (FLOPs) required during cloud inference, enabling DeepSeek to pass these computational server savings directly to developers.\n        \u003C\/p\u003E\n    \u003C\/section\u003E\n\n    \u003C!--Optional: AdSense In-Article Content Placement--\u003E\n    \u003Cdiv class=\"adsense-middle-slot\" style=\"margin: 25px 0px; min-height: 250px; text-align: center;\"\u003E\n        \u003C!--Paste your AdSense In-Article Ad code here--\u003E\n    \u003C\/div\u003E\n\n    \u003C!--Section 2: Pricing Breakdown--\u003E\n    \u003Csection\u003E\n        \u003Ch2 style=\"border-bottom: 2px solid rgb(236, 240, 241); color: #2c3e50; font-size: 1.6rem; margin-bottom: 15px; margin-top: 30px; padding-bottom: 5px;\"\u003ERaw Token Pricing Comparison (Per 1 Million Tokens)\u003C\/h2\u003E\n        \u003Cp style=\"line-height: 1.7; margin-bottom: 15px;\"\u003E\n            When scaling a production enterprise application to millions of monthly active users, tracking the cost per \u003Cstrong\u003E1 Million tokens (1M tokens)\u003C\/strong\u003E is the core metric for financial forecasting.\n        \u003C\/p\u003E\n        \u003Cp style=\"line-height: 1.7; margin-bottom: 15px;\"\u003E\n            The current base pricing structure reveals stark differences:\n        \u003C\/p\u003E\n        \u003Cul style=\"line-height: 1.8; margin-bottom: 20px; padding-left: 20px;\"\u003E\n            \u003Cli\u003E\u003Cstrong\u003EOpenAI GPT-4o Pricing:\u003C\/strong\u003E Input tokens cost \u003Cstrong\u003E$2.50\u003C\/strong\u003E per 1M tokens, while output tokens cost \u003Cstrong\u003E$10.00\u003C\/strong\u003E per 1M tokens.\u003C\/li\u003E\n            \u003Cli\u003E\u003Cstrong\u003EDeepSeek-V3 Pricing:\u003C\/strong\u003E Input tokens cost \u003Cstrong\u003E$0.14\u003C\/strong\u003E per 1M tokens (for a cache miss), while output tokens cost \u003Cstrong\u003E$0.28\u003C\/strong\u003E per 1M tokens.\u003C\/li\u003E\n        \u003C\/ul\u003E\n        \u003Cp style=\"line-height: 1.7; margin-bottom: 15px;\"\u003E\n            \u003Cstrong\u003EThe Financial Verdict:\u003C\/strong\u003E For standard input text processing, the DeepSeek API is roughly \u003Cstrong\u003E17 times cheaper\u003C\/strong\u003E than GPT-4o. On output generation, DeepSeek reduces cloud computing costs by more than \u003Cstrong\u003E35 times\u003C\/strong\u003E. If your enterprise pipeline processes 100 million tokens monthly, switching high-volume pipelines from OpenAI to DeepSeek can lower operational infrastructure expenses from thousands of dollars down to a two-digit figure.\n        \u003C\/p\u003E\n    \u003C\/section\u003E\n\n    \u003C!--Section 3: Prompt Caching--\u003E\n    \u003Csection\u003E\n        \u003Ch2 style=\"border-bottom: 2px solid rgb(236, 240, 241); color: #2c3e50; font-size: 1.6rem; margin-bottom: 15px; margin-top: 30px; padding-bottom: 5px;\"\u003EMaximizing ROI with Server-Side Prompt Caching\u003C\/h2\u003E\n        \u003Cp style=\"line-height: 1.7; margin-bottom: 15px;\"\u003E\n            For developers building conversational agents, context-heavy customer support bots, or large-scale document analysis tools, context windows scale rapidly. This is where \u003Cstrong\u003Eprompt caching\u003C\/strong\u003E becomes the ultimate tool for AI cost optimization.\n        \u003C\/p\u003E\n        \u003Cp style=\"line-height: 1.7; margin-bottom: 15px;\"\u003E\n            Both providers support smart context caching mechanisms, but their automated cost reductions scale differently:\n        \u003C\/p\u003E\n        \u003Cul style=\"line-height: 1.8; margin-bottom: 20px; padding-left: 20px;\"\u003E\n            \u003Cli\u003E\u003Cstrong\u003EOpenAI Prompt Caching:\u003C\/strong\u003E OpenAI automatically detects exact prompt prefixes longer than 1,024 tokens. When a cache hit occurs, developers receive a \u003Cstrong\u003E50% discount\u003C\/strong\u003E on those cached input tokens, lowering the price to \u003Cstrong\u003E$1.25\u003C\/strong\u003E per 1M tokens.\u003C\/li\u003E\n            \u003Cli\u003E\u003Cstrong\u003EDeepSeek Prompt Caching:\u003C\/strong\u003E DeepSeek offers an aggressive \u003Cstrong\u003E80% discount\u003C\/strong\u003E on cached tokens. When your system hits a cached prompt, the input pricing drops to an unmatched low of \u003Cstrong\u003E$0.03\u003C\/strong\u003E per 1M tokens.\u003C\/li\u003E\n        \u003C\/ul\u003E\n        \u003Cp style=\"line-height: 1.7; margin-bottom: 15px;\"\u003E\n            If your application architecture heavily feeds persistent system instructions, massive retrieval-augmented generation (RAG) codebases, or extended multi-turn chat histories into the API, leveraging DeepSeek’s caching framework yields unparalleled unit economics.\n        \u003C\/p\u003E\n    \u003C\/section\u003E\n\n    \u003C!--Section 4: Strategic Recommendations--\u003E\n    \u003Csection\u003E\n        \u003Ch2 style=\"border-bottom: 2px solid rgb(236, 240, 241); color: #2c3e50; font-size: 1.6rem; margin-bottom: 15px; margin-top: 30px; padding-bottom: 5px;\"\u003EPerformance vs. Cost: The Developer's Verdict\u003C\/h2\u003E\n        \u003Cp style=\"line-height: 1.7; margin-bottom: 15px;\"\u003E\n            Slashing server infrastructure bills means nothing if your application's logic or data integrity breaks down. When architecting your platform's backend routing, consider this strategic tier-based deployment strategy:\n        \u003C\/p\u003E\n        \u003Cul style=\"line-height: 1.8; margin-bottom: 20px; padding-left: 20px;\"\u003E\n            \u003Cli\u003E\u003Cstrong\u003EDeploy OpenAI (GPT-4o\/o1) When:\u003C\/strong\u003E Your application requires state-of-the-art multi-modal capabilities (such as complex image or audio processing), highly intricate multi-step math reasoning, or strict corporate enterprise-grade compliance architectures where OpenAI's ecosystem is heavily integrated.\u003C\/li\u003E\n            \u003Cli\u003E\u003Cstrong\u003EDeploy DeepSeek When:\u003C\/strong\u003E You are handling high-volume text pipelines, structural JSON data extraction, routine content generation, conversational agents, or RAG systems where input context lengths scale linearly.\u003C\/li\u003E\n        \u003C\/ul\u003E\n        \u003Cp style=\"line-height: 1.7; margin-bottom: 15px;\"\u003E\n            \u003Cstrong\u003EThe Hybrid Architecture Approach:\u003C\/strong\u003E Many top-tier engineering teams now deploy a \u003Cstrong\u003Esemantic routing agent\u003C\/strong\u003E. By using an agile open-source router, you can send 85% of standard, high-volume user queries to DeepSeek, while seamlessly escalating edge-case complex prompts to OpenAI's dense models. This hybrid structure protects your user experience while shrinking your total infrastructure overhead by up to 70%.\n        \u003C\/p\u003E\n    \u003C\/section\u003E\n\n    \u003C!--Optional: AdSense Bottom Native Matching Ad Slot--\u003E\n    \u003Cdiv class=\"adsense-bottom-slot\" style=\"margin: 25px 0px; min-height: 250px; text-align: center;\"\u003E\n        \u003C!--Paste your AdSense Matched Content \/ Native Ad code here--\u003E\n    \u003C\/div\u003E\n\n    \u003C!--Section 5: SEO FAQ Section (Great for Google Rich Snippets \/ People Also Ask)--\u003E\n    \u003Csection style=\"background-color: #f8f9fa; border-radius: 8px; margin-top: 35px; padding: 20px;\"\u003E\n        \u003Ch2 style=\"color: #2c3e50; font-size: 1.4rem; margin-bottom: 15px; margin-top: 0px;\"\u003EFrequently Asked Questions (FAQ)Related reading\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/gpt-6-luna-vs-deepseek-v4-cost.html\"\u003EGPT-6 Luna vs DeepSeek V4 Cost\u003C\/a\u003E — the 2026 head-to-head\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/cheapest-depends-entirely-on-your-input.html\"\u003ECheapest LLM API in 2026\u003C\/a\u003E — which provider wins on price\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\"https:\/\/blog.rabayid.com\/2026\/10\/prompt-caching-explained.html\"\u003EPrompt Caching Explained\u003C\/a\u003E — cut the input side of the bill\u003C\/li\u003E\n\u003C\/ul\u003E\n        \n\u003C\/section\u003E\u003C\/article\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/blog.rabayid.com\/feeds\/1485148781811968336\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/deepseek-vs-chatgpt-api-17x-price-gap.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/1485148781811968336"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/502508979102421591\/posts\/default\/1485148781811968336"},{"rel":"alternate","type":"text/html","href":"https:\/\/blog.rabayid.com\/2026\/10\/deepseek-vs-chatgpt-api-17x-price-gap.html","title":"DeepSeek vs ChatGPT: 17x Price Gap"}],"author":[{"name":{"$t":"Onsp"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/02121124138989581265"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEj67ru3Lu7ytL0XMK-QQiJGCYOAT5tMd-OTVSt2MB4vOSnxT4vav1wH3yodMmTNuR-3T45Xgcca42D3SeJ9o_UhfY8y5600QfjTl1BM0NiQFxpFvLxrSjPVIG52xZO78mlJS3wOT5SdKW7igu3_l7JVABQti4bBQ0CpCxHr46AAAbY8Db2PzlGecVIyx-A\/s72-c\/DeepSeek%20vs%20ChatGPT%2017x%20Price%20Gap.png","height":"72","width":"72"},"thr$total":{"$t":"0"}}]}}