← Back to all comparisons

Compare asynchronous LLM batch contracts and fixed-job economics

LLM Batch APIs Compared — OpenAI, Anthropic, Gemini, and More

Batch APIs are asynchronous contracts, not automatic discounts or unlimited queues. Compare upload and result format, eligible endpoint and model, request and queue limits, completion or expiry, cancellation, result ordering, failures, and usage reconciliation for the exact job. A cost result is Unavailable when rates, usage, or request-result identity do not join. Verified 2026-09-02.

Verified 2026-09-02 source

Compare asynchronous batch formats, eligibility, limits, completion, cancellation, result identity, and fixed-job economics. Qualitative demand: dedicated cross-provider batch API comparisons were reviewed 2026-09-02; exact US monthly volume is unavailable.

Batch 58 · server-rendered evidence boards · verified 2026-09-02

Intent answer: Batch APIs are asynchronous contracts, not automatic discounts or unlimited queues. Compare upload and result format, eligible endpoint and model, request and queue limits, completion or expiry, cancellation, result ordering, failures, and usage reconciliation for the exact job. A cost result is Unavailable when rates, usage, or request-result identity do not join. Verified 2026-09-02.

Demand evidence: Qualitative demand: dedicated cross-provider batch API comparisons were reviewed 2026-09-02; exact US monthly volume is unavailable.

Scope boundary: Compare asynchronous batch formats, eligibility, limits, completion, cancellation, result identity, and fixed-job economics. Exact provider, seller, serving host, account/tier, endpoint, model/snapshot, region, feature, and evidence identity are required; unresolved joins render Unavailable.

Batch-contract normalizer

Deterministic formula / rule: batch eligible = exact provider/host/model/endpoint + accepted payload + limits + completion/expiry + result identity; undocumented fields stay unavailable.

Boundary: Owns asynchronous cross-provider contracts; syntax, provider rates, and generic adoption strategy remain with their owners.

Frozen scenario / field IDExact identity and evidence fieldsResultState
batch58-batch-api-m1-r1
JSONL upload
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=JSONL upload; provider/host/model/endpoint; submission/result format; request/byte/token/queue limits; completion/expiry; cancellation; ordering; prerequisite; source/date; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen batch-api fixture requires an exact source, identity, and result receiptUNTESTED — module 1 rule is reproducible but no production observation is claimed
batch58-batch-api-m1-r2
inline request list
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=inline request list; provider/host/model/endpoint; submission/result format; request/byte/token/queue limits; completion/expiry; cancellation; ordering; prerequisite; source/date; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen batch-api fixture requires an exact source, identity, and result receiptUNTESTED — module 1 rule is reproducible but no production observation is claimed
batch58-batch-api-m1-r3
file-backed job
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=file-backed job; provider/host/model/endpoint; submission/result format; request/byte/token/queue limits; completion/expiry; cancellation; ordering; prerequisite; source/date; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen batch-api fixture requires an exact source, identity, and result receiptUNTESTED — module 1 rule is reproducible but no production observation is claimed
batch58-batch-api-m1-r4
unsupported endpoint
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=unsupported endpoint; provider/host/model/endpoint; submission/result format; request/byte/token/queue limits; completion/expiry; cancellation; ordering; prerequisite; source/date; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — exact batch-api evidence join is not closed for “unsupported endpoint”FAIL CLOSED — manual, probe, or source evidence required
batch58-batch-api-m1-r5
oversized job
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=oversized job; provider/host/model/endpoint; submission/result format; request/byte/token/queue limits; completion/expiry; cancellation; ordering; prerequisite; source/date; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen batch-api fixture requires an exact source, identity, and result receiptUNTESTED — module 1 rule is reproducible but no production observation is claimed
batch58-batch-api-m1-r6
duplicate custom-ID
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=duplicate custom-ID; provider/host/model/endpoint; submission/result format; request/byte/token/queue limits; completion/expiry; cancellation; ordering; prerequisite; source/date; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — exact batch-api evidence join is not closed for “duplicate custom-ID”FAIL CLOSED — manual, probe, or source evidence required

First-party citation: OpenAI Batch API guide. Verified 2026-09-02; missing or conflicting joins fail closed.

Fixed batch-job eligibility and cost receipt

Deterministic formula / rule: total = Σ(input units × input rate + output units × output rate) for each eligible request; batch total is shown only with documented batch rates.

Boundary: Owns the six frozen jobs and fixed-job arithmetic, not cheapest-provider or arbitrary forecast claims.

Frozen scenario / field IDExact identity and evidence fieldsResultState
batch58-batch-api-m2-r1
10K short classifications
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=10K short classifications; units; request/input/output shape; endpoint/model eligibility; standard/batch rate versions; formula; sync/batch total or Unavailable; turnaround; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen batch-api fixture requires an exact source, identity, and result receiptUNTESTED — module 2 rule is reproducible but no production observation is claimed
batch58-batch-api-m2-r2
1K long summaries
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=1K long summaries; units; request/input/output shape; endpoint/model eligibility; standard/batch rate versions; formula; sync/batch total or Unavailable; turnaround; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen batch-api fixture requires an exact source, identity, and result receiptUNTESTED — module 2 rule is reproducible but no production observation is claimed
batch58-batch-api-m2-r3
500 structured extractions
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=500 structured extractions; units; request/input/output shape; endpoint/model eligibility; standard/batch rate versions; formula; sync/batch total or Unavailable; turnaround; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen batch-api fixture requires an exact source, identity, and result receiptUNTESTED — module 2 rule is reproducible but no production observation is claimed
batch58-batch-api-m2-r4
100 image requests
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=100 image requests; units; request/input/output shape; endpoint/model eligibility; standard/batch rate versions; formula; sync/batch total or Unavailable; turnaround; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen batch-api fixture requires an exact source, identity, and result receiptUNTESTED — module 2 rule is reproducible but no production observation is claimed
batch58-batch-api-m2-r5
100 five-tool requests
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=100 five-tool requests; units; request/input/output shape; endpoint/model eligibility; standard/batch rate versions; formula; sync/batch total or Unavailable; turnaround; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen batch-api fixture requires an exact source, identity, and result receiptUNTESTED — module 2 rule is reproducible but no production observation is claimed
batch58-batch-api-m2-r6
mixed-model job
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=mixed-model job; units; request/input/output shape; endpoint/model eligibility; standard/batch rate versions; formula; sync/batch total or Unavailable; turnaround; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen batch-api fixture requires an exact source, identity, and result receiptUNTESTED — module 2 rule is reproducible but no production observation is claimed

First-party citation: Google Gemini batch API. Verified 2026-09-02; missing or conflicting joins fail closed.

Completion, failure, and reconciliation board

Deterministic formula / rule: reconciled = submitted IDs joined exactly once to result and usage state; missing, duplicate, or unbilled rows => hold/rebuild.

Boundary: Owns result-set integrity; billing and reliability claims require a closed joined receipt.

Frozen scenario / field IDExact identity and evidence fieldsResultState
batch58-batch-api-m3-r1
all-success
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=all-success; submitted/completed/failed/expired/cancelled counts; request-result identity; retry eligibility; duplicate protection; usage/billing state; action; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen batch-api fixture requires an exact source, identity, and result receiptUNTESTED — module 3 rule is reproducible but no production observation is claimed
batch58-batch-api-m3-r2
mixed validation errors
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=mixed validation errors; submitted/completed/failed/expired/cancelled counts; request-result identity; retry eligibility; duplicate protection; usage/billing state; action; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen batch-api fixture requires an exact source, identity, and result receiptUNTESTED — module 3 rule is reproducible but no production observation is claimed
batch58-batch-api-m3-r3
provider failures
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=provider failures; submitted/completed/failed/expired/cancelled counts; request-result identity; retry eligibility; duplicate protection; usage/billing state; action; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — exact batch-api evidence join is not closed for “provider failures”FAIL CLOSED — manual, probe, or source evidence required
batch58-batch-api-m3-r4
expired job
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=expired job; submitted/completed/failed/expired/cancelled counts; request-result identity; retry eligibility; duplicate protection; usage/billing state; action; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — exact batch-api evidence join is not closed for “expired job”FAIL CLOSED — manual, probe, or source evidence required
batch58-batch-api-m3-r5
cancelled job
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=cancelled job; submitted/completed/failed/expired/cancelled counts; request-result identity; retry eligibility; duplicate protection; usage/billing state; action; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — exact batch-api evidence join is not closed for “cancelled job”FAIL CLOSED — manual, probe, or source evidence required
batch58-batch-api-m3-r6
missing result
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=missing result; submitted/completed/failed/expired/cancelled counts; request-result identity; retry eligibility; duplicate protection; usage/billing state; action; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — exact batch-api evidence join is not closed for “missing result”FAIL CLOSED — manual, probe, or source evidence required
batch58-batch-api-m3-r7
duplicate ID
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=duplicate ID; submitted/completed/failed/expired/cancelled counts; request-result identity; retry eligibility; duplicate protection; usage/billing state; action; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — exact batch-api evidence join is not closed for “duplicate ID”FAIL CLOSED — manual, probe, or source evidence required
batch58-batch-api-m3-r8
missing usage
route=/compare/llm-batch-api; owner=batch-api; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=batch-api; scenario=missing usage; submitted/completed/failed/expired/cancelled counts; request-result identity; retry eligibility; duplicate protection; usage/billing state; action; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — exact batch-api evidence join is not closed for “missing usage”FAIL CLOSED — manual, probe, or source evidence required

First-party citation: Anthropic Message Batches API. Verified 2026-09-02; missing or conflicting joins fail closed.

Method and limitations: this board exposes deterministic rules, first-party citations, and dated evidence identities. It does not invent volume, coverage, entitlement, retention, residency, quota, capacity, feature support, quality, price, reliability, or legal conclusions. Run the batch-api evidence flow →