Skip to content
Batch jobs

Work that runs without a person waiting for it

Upload a JSONL file of up to 50,000 requests and let them run in the background against your routing rules, your spend limits and your guardrails. The right home for backfills and nightly enrichment.

50K
requests per batch
16 MB
maximum file size
Same rate
as a live call — no batch discount
Ceiling
priced before it runs
Capabilities

What it actually does

Submit a JSONL file

The same request bodies you would send synchronously, one per line, with your own `custom_id` on each so results can be joined back. Chat completions or embeddings, one endpoint per file.

Priced as a ceiling first

Before a job starts, every line is costed at its worst legal outcome — full prompt, full `max_tokens` — and checked against your balance and your key's spend limit. A batch that could blow the limit is refused up front, not at 4am.

Routed like everything else

Your presets, your fallbacks, your guardrails. A batch item becomes an ordinary gateway request, so it is traceable in Activity by its request id.

Retries absorbed

The worker takes the 429s and retries them, which is most of what makes running 50,000 requests by hand unpleasant.

Progress while it runs

Completed, failed and pending counts update as the job moves, and finished rows are downloadable before the whole job is.

Cancellable

Stop a job and anything still queued is cancelled with it. What already completed stays billed and stays downloadable.

FAQ

Fair questions

Is batch cheaper than a live call?

No. Every item runs through the same gateway against the same catalogue rate, and there is no batch discount — claiming one would be a marketing number with nothing behind it. What batch buys you is scheduling, retry absorption and a cost ceiling agreed before the job starts, not a lower rate.

What is the completion window for, then?

It records how long you are willing to wait, and it is informational — it does not change the price and it is not an SLA. It exists so a job that has plainly stalled can be told apart from one that is merely long.

What am I charged if I cancel?

Whatever had already run. Items are billed as they complete, so cancelling stops future spend but does not undo work that really happened at a provider.