Batch routing
Kirim pekerjaan yang tidak dibutuhkan seketika melalui batch API asli provider — sekitar 50% lebih murah, dengan SLA yang dijamin gateway.
Kapan memakai batch
Pekerjaan non-interaktif, ~50% lebih murah
Batch routing menjalankan request Anda melalui batch API asli provider, yang sekitar 50% lebih murah daripada real-time. Komprominya adalah latensi — hasil tiba dalam jendela SLA (menit), bukan seketika. Gunakan untuk apa pun yang tidak ditunggu manusia.
Cocok untuk batch
- Analisis & ekstraksi dokumen
- Tugas agen di latar belakang
- Pipeline pengayaan data
- Laporan semalam & proses evaluasi
Jangan di-batch
- Chat interaktif (manusia menunggu)
- Request streaming (stream: true)
- Trafik Enterprise & PAYG — keduanya hanya real-time (SLA)
Antrean
Minta batch, dapat 202
Kirim request /v1/chat/completions biasa dengan metadata.prefer_batch=true (atau atur default_routing=batch pada kunci agar semua trafik di-batch). Saat overflow rate-limit, trafik juga otomatis di-batch. Gateway mengembalikan 202 Accepted dengan job_id dan poll_url, bukan completion.
# Send a normal completion, but ask for batch routing via metadata.
curl https://api.anoman.io/v1/chat/completions \
-H "Authorization: Bearer anm-sk-..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "Extract line items from this invoice ..."}],
"metadata": {"prefer_batch": true}
}'
# → 202 Accepted
# {
# "id": "job_a8f3c2b1d9",
# "object": "batch_job",
# "status": "queued",
# "sla_minutes": 5,
# "poll_url": "/anoman/v1/batch/job_a8f3c2b1d9",
# "reason": "customer_preference"
# }Poll & ambil
202 saat memproses, 200 saat selesai
Poll GET /anoman/v1/batch/{job_id} — mengembalikan 202 dengan sla_remaining_minutes selama job berjalan, lalu 200 dengan chat completion plus field savings_usd yang menunjukkan penghematan versus real-time. Anda juga bisa mendaftar semua job atau membatalkan yang masih antre.
# Poll until the job completes. 202 while processing, 200 when done.
curl https://api.anoman.io/anoman/v1/batch/job_a8f3c2b1d9 \
-H "Authorization: Bearer anm-sk-..."
# → 202 (still processing)
# { "id": "job_a8f3c2b1d9", "status": "processing",
# "sla_remaining_minutes": 8, "poll_again_in_seconds": 30 }
# → 200 (complete)
# {
# "id": "chatcmpl-job_a8f3c2b1d9",
# "object": "chat.completion",
# "choices": [{"message": {"role": "assistant", "content": "..."}}],
# "usage": {"prompt_tokens": 1024, "completion_tokens": 256},
# "batch_job_id": "job_a8f3c2b1d9",
# "routing_mode": "batch",
# "savings_usd": 0.0042
# }Referensi field lengkap: endpoint batch jobs.
SLA
SLA per tier, dengan eskalasi
Setiap tier punya waktu tunggu maksimum untuk hasil batch. Jika job mendekati jendela SLA-nya tanpa selesai, worker otomatis mempromosikannya ke real-time API dengan biaya penuh — sehingga pelanggan tidak pernah melihat pelanggaran.
| Tier | SLA batch |
|---|---|
| Starter | 30 min |
| Pro | 5 min |
| PAYG | N/A — hanya real-time |
| Enterprise | N/A — hanya real-time |
Keamanan
Guardrail jalan sebelum batching
Setiap request melewati seluruh pipeline guardrail sebelum keputusan routing. Request yang gagal guardrail langsung mengembalikan 403 dan tidak pernah masuk antrean — di-batch atau tidak, tidak ada yang melewati kebijakan Anda.
Terkait: Caching (bertumpuk dengan batch untuk penghematan lebih) dan Usage & biaya (ekonomi batch tersedia di usage API).
Pantau antrean batch secara langsung
Status antrean batch dan completion mengalir ke Live Feed secara real-time.