OptimToken All guides

Batch API economics: when the -50% applies

Published 2026-08-14 · Prose last reviewed 2026-11-09 · Figures recomputed nightly from the 2026-11-12 catalogue snapshot

A FinOps guide by OptimNow · prices from the live OptimToken catalogue

A batch tier sells the same model at roughly half the token price, on one condition: you submit a file of requests and get the results back asynchronously. Prompt caching cuts a larger percentage, but only off input tokens. Batch is the discount that applies to output as well, which is why it moves a bill that generation dominates. What it costs instead is latency, and it is not offered on every model. This guide shows where the −50% is real, with numbers from current prices.

What batch pricing is

A batch API is not a faster way to send a batch of requests: it is a slower one. You upload a job, typically a JSONL file of requests. The host, the company that runs the model and sells it by the token, schedules the job on spare capacity. It commits to returning results within a stated window, 24 hours at OpenAI, Anthropic, Google and Mistral. In exchange, both input and output tokens are billed at a discount, typically 50%. The host wins because batch jobs smooth out its GPU utilization; you win if, and only if, nobody is waiting on the answer.

Which workloads qualify

The test is one question, whether anybody needs the result before tomorrow. If not, batch it. Four classes of back-office work pass that test:

What never qualifies: anything interactive. Support chat, coding assistants, agent loops that chain on each other's output: a 24-hour ceiling is meaningless there. Of the 8 use-case presets on the pricing table, 3 are marked batch-eligible for this reason: meeting summary, invoice processing and call summary.

Who publishes batch prices

The −50% is published for a minority of the catalogue. Today, 74 of 311 models on OptimToken publish batch rates. A batch tier is not a property of the model, it is a property of the model maker's billing: it clusters in a handful of catalogues and is absent from the rest.

Models publishing a batch rate, by model maker Models publishing a batch rate, by model maker OpenAI 37 / 49 Alibaba 2 / 40 Google 10 / 28 Mistral 1 / 20 Meta 1 / 17 Zhipu 0 / 17 Anthropic 16 / 16 DeepSeek 1 / 14 Moonshot 0 / 8 xAI 3 / 7
Models publishing a batch rate, by model maker Models publishing a batch rate, by model maker OpenAI 37 / 49 Alibaba 2 / 40 Google 10 / 28 Mistral 1 / 20 Meta 1 / 17 Zhipu 0 / 17 Anthropic 16 / 16 DeepSeek 1 / 14 Moonshot 0 / 8 xAI 3 / 7
The 10 largest model makers by catalogue size. The pale bar is every model from that model maker, the dark bar is the subset publishing a batch rate.

OpenAI, Google, Anthropic and xAI price at least 30% of their own catalogue at a batch rate. Alibaba (2 of 40), Mistral (1 of 20), Meta (1 of 17) and DeepSeek (1 of 14) publish one or two isolated rows. That is a model decision rather than a billing policy, and should not be read as batch support. Zhipu and Moonshot publish none at all, across 25 catalogued models between them. For those model makers the strategy is a low list price rather than a discount tier, which is a reasonable answer to the same problem and a very different one to plan around. If your shortlist sits entirely in that last group, batch is not a lever you have.

When a batch rate exists, it is almost always half

The rate is the predictable part. Of the 74 models publishing a full batch tier, 63 price it at exactly 50% off a 30/70 blend of input and output. The median is 50%. Unlike prompt-cache rates, which spread across the whole range, batch pricing has converged on one number.

Batch discount against list price (n=74 publishing a rate) Batch discount against list price (n=74 publishing a rate) Exactly 50% off 63 More than 50% off 2 Partial discount 9 No discount 0 Batch priced above list 0
Batch discount against list price (n=74 publishing a rate) Batch discount against list price (n=74 publishing a rate) Exactly 50% off 63 More than 50% off 2 Partial discount 9 No discount 0 Batch priced above list 0
Discount measured on a 30/70 input-output blend, the same weighting the pricing table ranks on. Counts the 74 models that publish a batch rate; the 237 that publish none are the subject of the chart above.

The other 11 publish a different rate, and a migration is costed off the published rate, not off the headline. gpt-oss-120b (78%) and DeepSeek V4.1 Flash 1017 (69%) discount batch by more than half. Qwen3.8 Max (0902) (42%), Qwen3.7 Plus (28%), MiniMax M3 (27%), Inkling Small (20%), Grok 4.3 (20%), Muse Glimmer 30B (20%), Grok 4.6 (20%), Grok 4.7 (20%) and gpt-oss-20b (14%) publish a batch rate below the headline. The check is one subtraction against the list price, and it belongs in the migration plan rather than after it.

Worked example: invoice processing at 100K requests/month

Using the Invoice Processing preset (1,500 input + 600 output tokens per request, an async workload), at 100,000 requests per month:

ModelCost/req (list)Cost/req (batch)Monthly (list)Monthly (batch)Batch saves
Claude Sonnet 5 $0.0090 $0.0045 $900 $450 $450 (−50%)
GPT-5.5 $0.025 $0.013 $2.5K $1.3K $1.3K (−50%)
GLM 5.3 Flash $0.000107 not published $11 $11 $0 (no batch rate)

Two lessons. First, when batch rates exist, the saving is real money at volume: no code changes to the prompts, just a different submission path. Second, a cheap model at list price can still undercut an expensive model at batch price. GLM 5.3 Flash is the cheapest model on this preset, leaving out deprecated models and outlier listings, that publishes no batch rate and clears the Standard quality bar, the bar this preset starts from. At the price we quote ($0.0399/M in, $0.0784/M out) it costs 42.1x less than Claude Sonnet 5's batch rate for this extraction-style workload. That quoted price is Relace's rate, for a build quantized to fp4, one of 37 hosts selling the model; the model page lists the others. Batch discounts are an optimisation within a model choice, not a substitute for making the model choice well. Compare the two side by side before assuming the discount settles it.

The caveats that bite in production

When not to bother

Skip batch when the workload is interactive, or when a deadline sits closer than the SLA window. Skip it too when the monthly spend is small. An engineer-day of pipeline work does not pay back on a $40/month job, and at that scale a budget model at list price is the better lever. And never batch-migrate a workload before checking whether a cheaper model would beat the discount outright. The pricing table sorts by cost after discounts per use case for exactly that question. The order of work follows FinOps maturity. A team at Crawl, with no per-workload token bill yet, starts by measuring which jobs are async and what they cost at list. A team at Walk or Run, with that allocation in place, reads the saving off the table above and schedules the migration against it.

Figures on this page come from the 2026-11-12 price snapshot and rebuild nightly.

The FinOps reasoning behind this guide comes from OptimNow's open-source practice library: github.com/OptimNow/cloud-finops-skills. If you want your own async workloads sized against the batch and cache rates you are entitled to, OptimNow runs that review.

Questions this guide answers

Does the batch API always give 50% off?

Only where a batch rate is published, and then almost always. On the 2026-11-12 OptimToken catalogue snapshot, 63 of the 74 models with a full batch tier price it at exactly 50% off a 30/70 blend of input and output. The median discount is 50%. Batch is discounted by more than half on 2 models. The discount is smaller than half on 9 models.

How many LLMs have a batch API price?

On the 2026-11-12 OptimToken catalogue snapshot, 74 of the 311 models publish both a batch input and a batch output rate. Batch pricing clusters by model maker: OpenAI, Google, Anthropic and xAI price at least 30% of their own catalogue at a batch rate, while Zhipu and Moonshot publish none.

Which workloads can use batch pricing?

Any workload where nobody waits on the answer: invoice and document processing, call and meeting summaries, evaluations and backfills. Interactive work such as support chat, coding assistants and agent loops never qualifies. On the 2026-11-12 OptimToken catalogue snapshot, 3 of the 8 use-case presets on the pricing table are marked batch-eligible: meeting summary, invoice processing and call summary.

Is a batch discount worth more than switching to a cheaper model?

Often not. On the 2026-11-12 OptimToken catalogue snapshot, an invoice-processing request costs $0.0045 on Claude Sonnet 5 at its batch rate and $0.000107 on GLM 5.3 Flash at list price, the cheapest model with no batch rate that clears the Standard quality bar for this preset, leaving out deprecated models and outlier listings. The list-price model is 42.1x cheaper with no discount applied. Batch is an optimisation within a model choice, not a substitute for making the model choice well.

These are list prices.

Your real cost also depends on caching and batching, negotiated discounts, marketplace agreements, and the contracts you already have. OptimNow audits exactly that.

Get a FinOps review

Data snapshot: 2026-11-12 · Compare all models · Cloud compute pricing · All guides