POST /v1/batches
Batch-API: große Jobs asynchron ausführen, verarbeitet in der EU
Der Batch-Endpunkt führt viele Anfragen als einen Hintergrundjob aus. Sie laden eine JSONL-Datei mit Chat-Completions- oder Embedding-Anfragen hoch, legen einen Batch an und holen nach Abschluss eine Ergebnisdatei ab. Das ist das richtige Werkzeug für Arbeit, auf die niemand wartet: einen Ticket-Rückstand klassifizieren, ein Dokumentarchiv einbetten oder über Nacht eine Evaluierung laufen lassen.
- 01API-Format: OpenAI
- 02Rechenzentren in der EU
- 03Durch einen AV-Vertrag abgedeckt
# ticket-classification.jsonl, one request per line:
# {"custom_id": "ticket-1042", "method": "POST", "url": "/v1/chat/completions",
# "body": {"model": "gpt-oss-120b", "messages": [{"role": "user", "content": "Classify: ..."}]}}
curl https://api.inference.eu/v1/batches \
-H "Authorization: Bearer $INFERENCE_EU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input_file_id": "file-7f3c2a",
"endpoint": "/v1/chat/completions",
"completion_window": "24h",
"metadata": {"job": "ticket-backlog-2026-11"}
}'
# Check progress
curl https://api.inference.eu/v1/batches/batch_91d0e4 \
-H "Authorization: Bearer $INFERENCE_EU_API_KEY"Was der Endpunkt leistet
POST /v1/batches erstellt einen Job aus einer Datei, die Sie zuvor mit purpose batch hochgeladen haben. Übergeben Sie deren input_file_id, den endpoint, den jede Zeile anspricht, etwa /v1/chat/completions, /v1/responses oder /v1/embeddings, und completion_window mit dem Wert 24h. Über das optionale Feld metadata versehen Sie den Job mit eigenen Labels.
Die Antwort ist ein Batch-Objekt mit id und status. Der Job läuft im Hintergrund, getrennt von Ihrem interaktiven Verkehr, sodass ein großer Rückstand nicht mit Anfragen konkurriert, auf die Ihre Nutzer warten. Anfragen und Ergebnisse verlassen nie die europäischen Rechenzentren.
Status und Ergebnisse
Mit GET /v1/batches/{batch_id} verfolgen Sie den Fortschritt. status wechselt von validating über in_progress und finalizing zu completed, failed, expired oder cancelled. request_counts zeigt total, completed und failed, damit Sie den Fortschritt anzeigen können.
Ist der Batch completed, verweist output_file_id auf eine JSONL-Datei. Jede Zeile enthält die custom_id aus Ihrer Eingabe und eine response mit status_code und dem üblichen Antwort-body. Die Zeilen stehen nicht in Eingabereihenfolge, ordnen Sie also über custom_id zu. Fehlgeschlagene Anfragen landen in der Datei unter error_file_id. POST /v1/batches/{batch_id}/cancel stoppt einen Job, GET /v1/batches listet Ihre Jobs.
Ein Batch-Ablauf, der im Betrieb trägt
Erzeugen Sie die Eingabedatei aus Ihrer Datenbank und nutzen Sie den Primärschlüssel des Datensatzes als custom_id. Prüfen Sie jede Zeile lokal, laden Sie die Datei hoch, legen Sie den Batch an und speichern Sie dessen id zum Job in Ihrem System. Eine geplante Aufgabe prüft alle paar Minuten den Status, statt eine Verbindung offen zu halten.
Nach Abschluss laden Sie die Ausgabe herunter, schreiben die Ergebnisse per custom_id zurück und sammeln Fehler in einer neuen, kleineren Eingabedatei für einen zweiten Versuch. Danach löschen Sie Ein- und Ausgabedateien. Ein Testbatch mit fünfzig Zeilen deckt Prompt- oder Schemaprobleme auf, bevor ein großer Job daran scheitert.
Fehler und Sonderfälle
Scheitert ein Batch an der Validierung, etwa wegen fehlerhaftem JSON, fehlender custom_id, doppelter IDs oder Zeilen mit anderem Endpunkt, endet er mit status failed und einer Liste errors, die Problem und Zeile nennt. Korrigieren Sie die Datei und reichen Sie einen neuen Batch ein.
Einzelne Anfragen können in einem sonst erfolgreichen Batch scheitern, etwa wenn ein Prompt das Kontextfenster überschreitet. Sie erscheinen in der Fehlerdatei und halten den Rest nicht auf. Wird ein Batch nicht innerhalb des Zeitfensters fertig, wechselt er zu expired; die Ergebnisse erledigter Anfragen bleiben verfügbar. Batch-Größen und Durchsatz hängen von Ihrem Tarif ab und werden mit Ihnen abgestimmt.
Batches: häufige Fragen
Die Fragen, die uns Einkauf, Entwicklung und Rechtsabteilungen am häufigsten stellen. Etwas fehlt? Fragen Sie uns direkt.
Verwandte Seiten
- FilesLaden Sie Dateien mit einer OpenAI-kompatiblen Files-API hoch, listen, laden und löschen Sie sie. Für Batch-Jobs und Werkzeuge, gespeichert in der EU.Endpunkte
- EmbeddingsWandeln Sie Text in Vektoren für Suche, RAG und Clustering um. OpenAI-kompatible Embeddings-API mit offenen Modellen, Verarbeitung in Rechenzentren der EU.Endpunkte
- Chat completionsSenden Sie Chat-Nachrichten im OpenAI-Format an Open-Weight-Modelle. Verarbeitung in Rechenzentren in der EU, keine Nutzung Ihrer Daten für Training.Endpunkte
- Rate limits and errorsSo funktionieren Rate Limits und Fehler bei der inference.eu API. HTTP-Statuscodes, das Fehlerobjekt, Rate-Limit-Header und ein belastbares Retry-Muster.Anleitungen
Verlagern Sie Ihre KI-Workloads auf europäische Infrastruktur
Sagen Sie uns, welche Modelle Sie nutzen und wie viel Verkehr Sie ungefähr haben. Wir antworten innerhalb eines Werktags mit Preisen und nächsten Schritten.
- Antwort innerhalb eines Werktags
- Preise für Ihr Volumen
- AV-Vertrag unterschriftsreif