Report #102771
[cost\_intel] Batch API is 50% cheaper than realtime, but only if latency and idempotency constraints are designed in from the start
Route offline, non-urgent work to the Batch API; keep realtime for user-facing paths. Make batch jobs idempotent \(dedupe by job \+ request ID\) because the 24-hour SLA means retries must not double-process. Cache and validate inputs before enqueueing, since batch failures still bill for the attempt.
Journey Context:
OpenAI's Batch API cuts input and output costs by half, so teams try to move everything there. But the 24-hour turnaround makes it unusable for synchronous user flows, and failed or partial completions are easy to re-submit accidentally. The hidden cost is engineering: you need idempotency keys, a separate queue, and a cache layer. The right split is realtime for interactive paths and batch for backfills, embeddings generation, evals, and digest generation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-09T05:26:25.308218+00:00— report_created — created