The half-price question
OpenAI's batch API costs 50% of the synchronous price: a job that costs $100 in real time costs $50 in batch. The catch the price never shows is the wait - the provider quotes a "within 24 hours" ceiling and stops. That ceiling is folklore repeated until it sounds like a number; the real median is far below it, and it is different for every model. Below is the price, and then the wait that comes with it - the half nobody else measures.
The per-model price, sync and batch
| Model | Sync $/MTok (in / out) | Batch $/MTok (in / out) | Saving |
|---|---|---|---|
| gpt-5.5 | $5 / $30 | $2.5 / $15 | 50% |
| gpt-5.6-sol | $4 / $20 | $2 / $10 | 50% |
| gpt-5.4 | $2.5 / $15 | $1.25 / $7.5 | 50% |
| gpt-5.6-terra | $2 / $12 | $1 / $6 | 50% |
| gpt-5.4-mini | $0.75 / $4.5 | $0.375 / $2.25 | 50% |
| gpt-5-mini | $0.25 / $2 | $0.125 / $1 | 50% |
| gpt-5.4-nano | $0.2 / $1.25 | $0.1 / $0.625 | 50% |
| gpt-5.6-luna | $0.2 / $1.2 | $0.1 / $0.6 | 50% |
| gpt-5-nano | $0.05 / $0.4 | $0.025 / $0.2 | 50% |
Sync is OpenAI's own published $/MTok rate; batch is that rate at 50% (OpenAI's own discount, applied to input and output equally). Every model links to its measured queue-time page.
What the discount costs you in time
| Model | Median wait (p50) | p90 | n |
|---|---|---|---|
| gpt-5.6-sol | 78s | 10 min | 520 |
| gpt-5-nano | 88s | 3 hours | 508 |
| gpt-5.6-luna | 5 min | 5 hours | 561 |
Queue times rendered live from the rollup; newest measurement 2026-08-30. Prices verified against OpenAI's own pages (see how we measure).
Questions this answers
- How much does the OpenAI batch API cost versus synchronous?
- 50% of the synchronous rate - half price - on both input and output tokens, across every OpenAI model. That is OpenAI's own published batch price, not a batchwatch estimate. What the price table cannot tell you is how long the queue takes, which is the one thing we measure.
- Is the batch discount worth the wait?
- For most work, yes. The saving is a flat 50%, and the wait is short for the fast models: gpt-5.6-sol clears in a measured median of 78s. It depends on your deadline, not on folklore - the "up to 24 hours" window is a ceiling, and the real median is far below it. Send your own limit to /v1/should-i-batch and we answer against it.
- Where do these prices come from?
- OpenAI's own published per-token rates, one row per model. We quote them as OpenAI's, never as ours, and we keep them honest with a scheduled drift check against a broad price feed. The batch column is simply the sync rate at 50% - OpenAI's own discount applied to both input and output tokens.
- Are the queue times measured or estimated?
- Measured. Each is an observed completion of a real batch job, timed on our server from submit to result, not a prediction and not the provider's marketing window. We publish a median only once a model has at least 8 completions; below that we show the count and say so, because a median on a handful of jobs is just the slowest of the handful.
- How fresh are the numbers?
- Live. The prices are checked against OpenAI's pages on a schedule, and the queue times are rendered straight from the rollup on every request - public figures delayed by 15 minutes, which is exactly what a paying customer buys out of. A static number in a pricing article is wrong within days; ours moves with the queue.
See it live
Every queue time here is measured, and it is all public.
The live dashboard shows every model with its full distribution, n and confidence grade. /compare ranks every provider's batch API side by side, and /v1/coverage is the same data as JSON, no key required. Send your own deadline to /v1/should-i-batch and we tell you, for your limit, whether the discount is worth the wait.