Not every AI request has to come back right now. A chat reply someone is waiting on does. A nightly catalog rewrite, an eval sweep or a backfill of last year's contracts doesn't. It only has to be done by a deadline. The more time you can give the work, the cheaper it can run.
That's the idea behind Batchrouter's SLA tiers. Each tier sets how long we have to deliver your work, and each slower tier costs less. Two tiers are live today: Realtime and Standard. Four more are planned: Priority, Relaxed, Flex and Economy. Here's what each is for, and how to pick.
The tiers at a glance
There are six tiers in all, from an instant answer to a seven-day window.
Realtime answers a single request right away, at the lane's direct price. It's best effort, with no delivery window. Standard is the default for every batch today: a 24-hour window, and the service fee is refunded if we miss it. Priority (4 hours), Relaxed (48 hours), Flex (72 hours) and Economy (7 days) are planned and can't be selected yet.
Use cases by tier
The right tier depends on when someone actually reads the result, not on how important the work is.
- Realtime · live
- Anything a person is waiting on: a chat reply, autocomplete and in-product suggestions, a voice or support agent mid-conversation.
- Priority · planned
- Same-day pipelines and agent loops: an agent that can wait minutes but not overnight, a report needed by the afternoon.
- Standard · live
- The default for batches, with results by tomorrow: nightly catalog enrichment, support ticket triage rolled into a morning brief, an embeddings refresh for a retrieval index.
- Relaxed · planned
- Work that can wait a couple of days: a batch sent on Friday and read on Monday, a periodic re-scoring of leads or content.
- Flex · planned
- Cost-first work needed within days: translating a knowledge base, regenerating product copy for a seasonal relaunch.
- Economy · planned
- Large-scale evaluation, labeling and backfills: full eval runs on each model candidate, synthetic training data, policy labels across a back catalogue, extracting terms from years of contracts.
A good rule of thumb for any batch: many items, the same instructions on each, and a result that is read later as a table, an index, a report or a queue. If that describes your job, it doesn't belong on Realtime.
How to choose
Work through three questions:
- Is a person waiting on the answer? If yes, use Realtime. Everything else can be a batch.
- When will someone read the result? Pick the slowest tier whose window still lands before that moment. Results read tomorrow morning fit Standard. Results read next week could wait for Economy once it ships.
- Does a miss cost you more than the saving? If a late result breaks something downstream, choose the faster tier and leave yourself slack.
Until the planned tiers ship, the choice is simple: Realtime for interactive requests, Standard for everything you batch. On Standard, the service fee is refunded if we miss the 24-hour window.
How to set the tier
Realtime is a direct request. Send it to the OpenAI-compatible chat completions endpoint and the answer comes straight back, at the lane's direct price:
curl https://api.batchrouter.com/v1/chat/completions \
-H "Authorization: Bearer $BATCHROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.4-mini",
"messages": [{"role": "user", "content": "Classify this ticket: refund not received"}]
}'Standard is every batch: POST /v1/batches, the OpenAI Batch mirror, or "batch": true on chat completions. Set sla_tier on the quote and carry it onto the batch. It defaults to standard, so you can leave it out:
curl -X POST https://api.batchrouter.com/v1/batches \
-H "Authorization: Bearer $BATCHROUTER_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"quote_id": "qlock_abc123",
"input_file_id": "file_xyz789",
"sla_tier": "standard"
}'The batch you poll shows its deadline as deadline_at. Today sla_tier also accepts flex and priority for compatibility, but both run as Standard until those tiers ship. relaxed and economy are rejected with a 400.
Give your work the time it needs, and pay less for it
Most AI spend goes to work that nobody reads the moment it's done. Moving that work off Realtime and onto a batch tier is the simplest way to cut the bill without touching a single prompt. As Priority, Relaxed, Flex and Economy come online, you'll be able to match each job's deadline even more closely, and pay accordingly.