All posts
Product
#sla
#tiers
#batch
#pricing

Batchrouter SLA tiers and what to use each one for

Batchrouter's SLA tiers trade delivery time for price. Realtime and Standard are live today, with Priority, Relaxed, Flex and Economy planned. Here's what each tier is for and how to pick.

The Batchrouter Team

Engineering

October 18, 2026 4 min read

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.

The six SLA tiers from fastest to cheapest: Realtime (best effort, live), Priority (4 hours, planned), Standard (24 hours, live), Relaxed (48 hours, planned), Flex (72 hours, planned) and Economy (7 days, planned).
The six SLA tiers, fastest to cheapest.

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:

  1. Is a person waiting on the answer? If yes, use Realtime. Everything else can be a batch.
  2. 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.
  3. 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:

bash
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:

bash
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.

The Batchrouter Team

Engineering

We build the routing engine, dispatch lanes, and settlement pipeline behind every batch.

Keep reading

All posts