Cost optimization
Batch API Pricing: OpenAI, Claude & Gemini Costs
Batch API pricing can reduce the token bill for work that can wait: nightly classification, document enrichment, and evaluations. Start with the same model and workload, compare its published standard and Batch rates, then account for retries and the time your workflow can tolerate.
When does Batch API pricing make sense?
OpenAI advertises a 50% token-cost discount for asynchronous Batch work with a 24-hour completion window. Claude Message Batches also discount input and output by 50% and can expire after 24 hours. Gemini describes Batch as 50% of standard cost with a target turnaround of 24 hours. Model, endpoint, and modality support must still be checked.
A job can finish sooner, but an interactive user should not have to wait for a batch result. Good candidates already have a queue or a delivery deadline that permits delayed results. Keep urgent requests on their normal path and batch the independent work that can wait.
- Nightly labeling, extraction, and document updates.
- Offline evaluations with a fixed dataset and acceptance criteria.
- Large migrations or backfills whose results are not needed immediately.
Calculate input and output separately
Multiply total input tokens by the model's input rate and total output tokens by its output rate, using the same unit. For prices per million tokens, divide counts by one million first. Repeat the calculation with the published Batch columns; do not assume every fee on an invoice receives the same discount.
Include system instructions, attached text, and billable reasoning output in your token budget. Estimate output length from representative completed tasks. Comparing an unrealistically short Batch answer with a longer standard answer would mix a workload change with a price change.
cost = (input_tokens / 1,000,000 × input_rate)
+ (output_tokens / 1,000,000 × output_rate)OpenAI, Claude, and Gemini: the same token budget
The example below uses 10 million input and 2 million output tokens across short-context, uncached text requests, at the dated rates on the linked provider pricing pages. Change the totals or model to compare standard and Batch estimates side by side.
A lower dollar amount does not establish equal output quality. Test whether each model meets your requirements before comparing the cost per accepted result. The dates show when the underlying price tables were checked; recheck promotional rates before a later billing period.
| Model / source | Standard (USD) | Batch (USD) | Prices checked |
|---|---|---|---|
| gpt-6.1-sol | $40.00 | $20.00 | |
| Claude Sonnet 5.5 | $40.00 | $20.00 | |
| gemini-3.5-flash-lite | $8.00 | $4.00 |
Calculate your own Batch API budget
Enter totals in millions of tokens across short-context requests. Both estimates use the same model and token counts. Cache, tools, media, long-context premiums, regional charges, and taxes are excluded. Check eligibility and current prices with the provider.
Caching and extra charges need their own calculation
The comparison isolates ordinary input and output. Cache writes, cache reads, storage duration, tools, media, and regional processing can follow separate rules. If your workload uses caching, replace the relevant input portions with the published rates for that exact processing mode instead of discounting an already-discounted total again.
The context tier depends on each request. Ten million tokens split among short requests is different from one long prompt. Split a mixed workload by tier before adding its estimates. Direct-provider Batch pricing also does not automatically carry over to synchronous requests sent through a router such as OpenRouter.
Budget for completed work and selective retries
A batch is a collection of requests, so inspect individual outcomes as well as the job status. OpenAI states that an expired batch can still return completed results, and those completed requests are charged. Save successful results before deciding what needs another attempt.
Keep a stable task identifier and retry only unresolved or rejected tasks. Re-submitting an entire job can pay for successful work twice. Record first-pass spend, retry spend, and accepted outputs separately: the useful business measure is total spend divided by accepted results, not just the cheapest advertised token rate.
- Run a small representative job before scheduling the full dataset.
- Set a deadline and decide what happens to late or failed tasks.
- Keep result IDs, token usage, and model versions for reconciliation.
- Include the cost of manual review and any fallback model in the decision.
Turn the estimate into a budget you can reconcile
Separate planned tokens from reported usage. Reconcile costs for the same provider account, date range, currency, and processing mode; reporting delays can explain an initial difference. Leave room for longer answers and retries instead of treating the estimate as a spending cap.
Quota Monitor's OpenAI and Anthropic connections read supported reported costs and spend limits; Gemini exposes its supported billing and Spend Cap scope. These are not prepaid-credit readings. Quota Monitor does not submit Batch jobs or guarantee per-job attribution. Use the provider guides to confirm credentials, scope, and verification status before connecting an account.
Common questions
- Is the whole Batch API invoice always 50% cheaper?
- No. The selected input/output rates are discounted, but token counts, retries, tools, caching, and other charges affect the final bill. Use the published rates for the chosen model and processing mode rather than multiplying the entire invoice by one half.
- Does sending requests concurrently give me Batch pricing?
- No. Parallel synchronous requests still use their normal billing mode. Batch pricing requires the provider's supported Batch workflow and an eligible model or endpoint.
- Can I compare this estimate with my ChatGPT or Claude subscription?
- The calculator estimates API token charges. Consumer subscription prices and usage allowances are separate products and are not converted into API credits by this calculation.