The Batch API, Fully Specified
Batch API — published mechanics
| Discount vs Standard | 50% off the Standard input/output rate |
|---|---|
| Completion window | Fixed at 24h — cannot be set shorter or longer |
| Rate-limit pool | Separate from standard RPM/TPM |
| Output-token limit | None |
| Not available on | Amazon Bedrock, Google Vertex AI, Microsoft Foundry |
Standard vs Batch input price, every model that offers Batch
| GPT-5.6 Sol | Standard $5.00 → Batch $2.50 /MTok in |
|---|---|
| GPT-5.6 Terra | Standard $2.00 → Batch $1.00 /MTok in |
| GPT-5.6 Luna | Standard $0.200 → Batch $0.100 /MTok in |
| GPT-5.5 | Standard $5.00 → Batch $2.50 /MTok in |
| GPT-5.5 Pro | Standard $30.00 → Batch $15.00 /MTok in |
| GPT-5.4 | Standard $2.50 → Batch $1.25 /MTok in |
| GPT-5.4 Mini | Standard $0.750 → Batch $0.375 /MTok in |
| GPT-5.4 Nano | Standard $0.200 → Batch $0.100 /MTok in |
| GPT-5.4 Pro | Standard $30.00 → Batch $15.00 /MTok in |
The Batch API isn't a discount code you apply to the normal endpoint — it's a separate way of submitting work entirely, with its own guarantees, its own rate-limit pool, and its own tradeoffs against a synchronous request.
What you're actually trading
The discount is real and applies uniformly to every model that offers Batch, which makes it one of the simplest levers on this whole site: if a workload can tolerate an asynchronous, delayed response, Batch is close to a strictly better price for the same tokens. What you give up is timing control. The completion window is fixed — not a maximum you can request shorter, a flat guarantee — so Batch is a poor fit for anything on a tighter deadline than that window allows, no matter how much you're willing to pay to speed it up, because paying more isn't an option Batch offers at all.
The rate-limit pool is separate, on purpose
Batch requests don't draw down your standard per-model RPM or TPM limits — they run against their own pool, sized independently. That's a genuine advantage for anyone running both a live, user-facing feature and a large background job against the same model: the background job can't starve the live traffic of its rate-limit headroom, because they're accounted separately. It also means Batch is a legitimate way to push a very large volume of requests through without needing a rate-limit tier increase that a purely synchronous workload of the same size would require.
No output-token limit
Standard requests cap how much a single response can generate. Batch doesn't carry that same output ceiling, which matters for any job whose output is naturally long-running — bulk summarization, large-scale extraction, anything where a single item's answer might otherwise bump against a response-length wall.
Where it isn't available
Batch is not offered on every platform a given model is otherwise available on — notably not through the major third-party hosting platforms this site tracks. If your deployment runs through one of those rather than calling OpenAI directly, budget on the synchronous rate for that platform and treat Batch as an OpenAI-direct-only lever.
The table below prices Batch against Standard for every model that publishes it, computed from the same facts module every calculator on this site reads from.
Verified 2026-08-09 against https://developers.openai.com/api/docs/guides/batch.
Checked: https://developers.openai.com/api/docs/guides/batch · https://developers.openai.com/api/docs/pricing