Batch inference (batch-API)

Wat is batch inference?

Batch inference is een grote reeks modelaanvragen in een keer als een job naar de aanbieder sturen, en hem die op zijn eigen tempo laten afwerken in plaats van elke aanvraag meteen te beantwoorden. Je geeft een lijst prompts door, je krijgt een job-id terug, en ergens in de volgende 24 uur staan de antwoorden in een bestand klaar. In ruil voor dat wachten rekent de aanbieder de helft van de gewone prijs per token aan.

De afspraak draait om capaciteit. Bij realtime inference moet het antwoord komen terwijl iemand naar een draaiend icoontje kijkt, dus houdt de aanbieder rekenkracht klaar voor het piekmoment. Een batchjob kan hij inplannen op rustige uren, en een deel van die besparing krijg jij terug.

In data engineering betekent het woord batch al een nachtelijke job die de records van de dag in een beurt verwerkt. Batch inference is de versie voor taalmodellen, verkocht als functie van de model-API zelf: de Message Batches API bij Anthropic, de Batch API bij OpenAI, de Gemini Batch API bij Google.

Hoe verloopt een batchjob?

  1. Je stelt de lijst met aanvragen op. Elke lijn is een volledige aanvraag zoals je ze anders ook stuurt, plus een id die jij kiest, custom_id bij Anthropic en OpenAI, key bij Google, zodat je de antwoorden aan je rijen kan koppelen. OpenAI en Google willen een JSONL-bestand dat je eerst oplaadt.

  2. Je krijgt een job-id terug. Anthropic valideert elke aanvraag pas tijdens de verwerking, dus een fout in de structuur van je aanvraag duikt op in de resultaten en niet bij het insturen. Stuur eerst een aanvraag als proef door de gewone API.

  3. Je wacht. Vraag om de paar minuten de status op tot die op ended of completed staat, of registreer een webhook: OpenAI stuurt de events batch.completed, batch.failed, batch.expired en batch.cancelled.

  4. Je haalt de resultaten op. Een JSONL-bestand met een lijn per aanvraag, met het antwoord of een fout voor die ene aanvraag. Een mislukte rij laat de job niet mislukken, en de lijnen kunnen in eender welke volgorde terugkomen.

Prijs en venster in september 2026

Uit de documentatie van de aanbieders zelf op 4 september 2026, in dollar per miljoen tokens, eerst input en dan output.

  • Anthropic, Message Batches API. Halve prijs op allebei, dus Claude Haiku 4.5 kost in batch 0,50 en 2,50 tegenover 1 en 5 live. Tot 100.000 aanvragen of 256 MB per batch. Wat na 24 uur niet verwerkt is vervalt en wordt niet aangerekend, en de resultaten blijven 29 dagen te downloaden.

  • OpenAI, Batch API. 50 procent korting, dus GPT-5.6 Luna zakt van 0,20 en 1,20 naar 0,10 en 0,60. Tot 50.000 aanvragen in een bestand van hoogstens 200 MB, en 24 uur is het enige venster dat er is. Sluit het, dan worden de onafgewerkte aanvragen geannuleerd en betaal je voor wat wel klaar is. De resultaatbestanden verdwijnen 30 dagen later.

  • Google, Gemini Batch API. De helft van de standaardprijs, dus Gemini 3.5 Flash-Lite gaat van 0,30 en 2,50 naar 0,15 en 1,25. Inline onder 20 MB, of een JSONL-bestand tot 2 GB. Een job die na 48 uur nog wacht vervalt, en de resultaten blijven zes weken staan.

Google heeft aangekondigd dat de meeste Gemini 3-prijzen stijgen op 1 januari 2027, dus kijk de cijfers opnieuw na op de dag dat je de business case maakt.

Wat je batcht, en wat je live houdt

Een vraag beslist het: zit er iemand op dit antwoord te wachten? Een jaar supporttickets in wachtrijen steken, een keer, voor een rapport of een trainingsset. Een productcatalogus verrijken met omschrijvingen, kenmerken of vertalingen. Maandelijkse samenvattingen per klant, gemaakt in de nacht van de eerste. Je evals draaien over een paar duizend testgevallen, telkens als je een prompt verandert.

Dezelfde vraag sluit dingen uit. Bij een chatbot wacht er een mens. Een agent kan zijn volgende stap niet plannen voor de vorige aanroep terug is, dus een venster van 24 uur per stap slaat nergens op. Alles met een deadline binnen een paar uur is een gok: de aanbieders beloven het venster, niet het uur, en Anthropic waarschuwt dat er bij grote drukte meer aanvragen vervallen.

Zo goedkoop mogelijk per rij: batch, caching en de kleine klasse

Batch is een van drie kortingen die elkaar vermenigvuldigen. Prompt caching zet het herhaalde begin van je prompt bij Anthropic op een tiende van de inputprijs, en de modelklasse bepaalt de basisprijs waar die percentages op werken. Anthropic zegt uitdrukkelijk dat zijn batch- en cachingkorting stapelen. OpenAI zet batch en gecachte input apart zonder erbij te zeggen of ze combineren.

Een rekenvoorbeeld op de prijslijst van Anthropic van 4 september 2026. Je classificeert 100.000 tickets, elke aanvraag 500 inputtokens (400 instructies en labels, 100 ticket) en 50 outputtokens, dus 50 miljoen input en 5 miljoen output.

  • Live, Claude Sonnet 5 aan 2 en 10: 100 plus 50, dus 150 dollar.

  • Live, Claude Haiku 4.5 aan 1 en 5: 50 plus 25, dus 75 dollar.

  • Batch, Haiku 4.5 aan 0,50 en 2,50: 25 plus 12,50, dus 37,50 dollar.

  • Batch en caching samen, als die 400 instructietokens elke keer uit de cache komen: 40 miljoen cache reads aan 0,05, 10 miljoen niet-gecachte input aan 0,50, 5 miljoen output aan 2,50, dus ongeveer 20 dollar.

Zie die laatste lijn als een best case: Anthropic zegt dat cache hits binnen een batch best effort zijn, met hit rates tussen 30 en 98 procent, en raadt de cache van een uur aan omdat een job langer kan lopen dan de standaard vijf minuten. Begroot op die 37,50. Wat het zwaarst weegt is de klasse, niet de korting: dezelfde job live op Claude Fable 5.1 komt op 750 dollar.

Realtime tegenover batch inference: wie wacht er?

Bij realtime inference zit er aan de andere kant een mens of een lopend proces. Het antwoord komt in seconden terug, en het systeem eromheen is daarop gebouwd: rate limits per minuut, nieuwe pogingen met backoff, een reservemodel voor als de aanbieder traag is. Je betaalt de volle prijs voor die belofte.

Bij batch inference zit er aan de andere kant een wachtrij, dus de aanbieder plant het werk in en jij mag 100.000 aanvragen in een keer sturen zonder je limieten per minuut te raken. OpenAI geeft batches een aparte pool met veel hogere rate limits, en Anthropic telt batchaanvragen tegen een aparte wachtrijlimiet. Die doorvoer is de tweede reden om te batchen, na de prijs.

Waar moet je op letten bij batch inference

Laat de id het werk doen. Gebruik het ticketnummer of de SKU van het product als custom_id, geen teller. Stuur je de mislukte rijen morgen opnieuw in, dan komt het antwoord met dezelfde id op dezelfde rij terecht.

Reken op gedeeltelijke resultaten. Een batch kan eindigen met 99.400 antwoorden, 500 fouten en 100 vervallen rijen. Laat je loader de geslaagde rijen upserten en de mislukte verzamelen in een nieuwe, kleinere batch. Anthropic en OpenAI rekenen vervallen en mislukte aanvragen niet aan, maar ze opmerken is jouw werk.

Koppel nooit op de volgorde. Anthropic en OpenAI zeggen allebei dat de volgorde van de output niet die van de input hoeft te zijn. Koppel op de id, nooit op het lijnnummer.

Download voor de resultaten verdwijnen. Een job waar niemand naar keek tot een audit twee maanden later, heeft niets meer om te tonen.

Laatst Bijgewerkt: September 4, 2026 Terug naar Woordenboek
Trefwoorden
batch inference batch-api inferentiekost prompt caching batchverwerking modelklasse rate limit tokens evals llm generatieve ai ai