The Batch API is the easiest 50% most teams leave on the table. You submit a file of requests, results come back within a window (up to 24h), and you pay roughly half the per-token price. Nothing about the model changes β same quality, same tokens, half the bill β as long as the work can wait.
Batch cost by model
Same workload, batch price, ranked cheapest first.
| Model | Standard / mo | Batch / mo |
|---|
What batch is β and isn't
The Batch API trades latency for price. You hand the provider a file of requests; it processes them within a window (often up to 24 hours) and returns a file of results, at roughly half the standard per-token rate on both input and output. The model, the prompt and the output are identical β you're only giving up "right now." So it's perfect for work nobody is staring at a spinner for, and useless for anything interactive.
What to move to batch
Good candidates: nightly summarisation, bulk classification or tagging, embeddings backfills, dataset labelling, offline evaluations, and any report generated on a schedule. Keep on the real-time API: live chat, anything a user waits on, and latency-sensitive tool calls. A common pattern is to run the same pipeline both ways β real-time for the interactive path, batch for the overnight reprocessing β and the batch half quietly halves that portion of the bill. Stack it with prompt caching on the repeated context and the savings compound.
Estimating a whole product instead? Use the AI app cost estimator or the prompt caching savings calculator. Building agents? The AI agent cost calculator.