Übersetzung erstellen
Erstelle eine Übersetzung mit genau einer Quelle: JSON-Inhalt für unveränderten UTF-8-Text, JSON file_url für einen HTTPS-Download ohne Weiterleitungen, JSON upload_id für einen abgeschlossenen temporären Upload mit denselben Zugangsdaten oder multipart/form-data mit einem file-Feld für lokale Binärdaten. Lass filename bei upload_id weg. Die Sitzung enthält den Dateinamen bereits. Bei einer Wiederholung mit derselben upload_id wird der vorhandene Batch zurückgegeben, ohne seine Anweisung zu ändern. Sende bei den anderen Quellen einen Idempotency-Key-Header (1 bis 255 druckbare Zeichen, eine UUID ist geeignet), damit ein erneuter Versuch nach einer verlorenen Antwort sicher ist: Bei einer Wiederholung wird der beim ersten Versuch erstellte Batch zurückgegeben, ohne die Datei erneut abzurufen oder zu speichern oder die Planung zu wiederholen. Derselbe Schlüssel mit anderem Inhalt wird mit 409 idempotency_key_reused abgelehnt. Andernfalls ist filename optional und wird, falls nicht angegeben, automatisch ermittelt. Gib instruction an, um den geprüften Plan, die ermittelten Mengen, die Credit-Kosten und eine Extraktionsvorschau zu erhalten. Wenn du instruction weglässt, erhältst du suggested_instructions. Prüfe vor der Freigabe plan.not_included. Erstellen und Planen kosten keine Credits. Die Limits pro Format findest du unter GET /v1/account. Die Übersetzung erscheint in der Web-App.
POST/v1/batches
Erfordert batches:create. Das Erstellen einer Übersetzung ist kostenlos: Credits werden erst reserviert, wenn Sie einen Plan freigeben.
Übertragungsart auswählen
Wählen Sie die Übertragungsart passend dazu, wo sich das Dokument befindet und welche Möglichkeiten Ihr Client bietet.
| Übertragungsart | Geeignet für | Hinweise |
|---|---|---|
JSON mit upload_id | Eine lokale Datei, die über eine temporäre Upload-Sitzung gesendet wird | Verwenden Sie dieselben Zugangsdaten, mit denen die Sitzung erstellt wurde. Lassen Sie filename weg. Bei wiederholtem Aufruf wird die vorhandene Übersetzung zurückgegeben, ohne ihre Anweisung zu ändern. |
JSON mit content | Text in beliebigem Format | Die Datei selbst als UTF-8-Text. Der einfachste Weg für einen Agenten, der den Inhalt bereits im Arbeitsspeicher hat. |
JSON mit file_url | Eine bereits gehostete Datei | Nur HTTPS; der Abruf erfolgt serverseitig. Weiterleitungen werden nicht verfolgt. Geben Sie daher die endgültige URL an. |
multipart/form-data | Lokale Binärdateien, darunter XLSX, DOCX, PPTX, PDF, IDML und ZIP | Senden Sie die Originalbytes im Feld file. Dies ist die Übertragungsart der CLI für lokale Dateien. |
filename ist optional, aber empfehlenswert. Das Format wird anhand der Dateiendung erkannt. Daher führen Namen wie strings.xml und export.csv bei identischen Bytes zu unterschiedlichen Parsern.
Wiederholungsversuche sicher ausführen
Senden Sie einen Idempotency-Key-Header (beliebiger Wert aus 1 bis 255 druckbaren Zeichen; eine UUID ist eine gute Wahl). So wird bei einem erneuten Versuch nach einer verlorenen Antwort die Übersetzung zurückgegeben, die beim ersten Versuch erstellt wurde, statt eine zweite anzulegen. Eine Wiederholung wird beantwortet, bevor die Datei abgerufen oder gespeichert wird, und löst keine erneute Planung aus. Sie ist also kostenlos. Der Schlüssel ist an die übermittelten Daten gebunden: Wird derselbe Schlüssel mit einer anderen Datei, einem anderen Namen oder einer anderen Anweisung verwendet, wird die Anfrage mit idempotency_key_reused abgelehnt. Verwenden Sie für neue Aufträge einen neuen Schlüssel. Wenn keine Header verfügbar sind (MCP-Tools, Code Mode), übergeben Sie idempotency_key im Body. Bei einer Erstellung mit instruction wird plan_revision zusammen mit dem Plan zurückgegeben. Übergeben Sie diesen Wert als expected_plan_revision, wenn Sie den Plan freigeben.
Wie geht es weiter?
Die Antwort enthält eine id, die in den folgenden Pfaden als batch_id verwendet wird. Danach ist die Reihenfolge immer gleich:
POST /v1/batches/{batch_id}/plan: Beschreiben Sie in eigenen Worten, was übersetzt werden soll.POST /v1/batches/{batch_id}/approve: Credits verwenden und den Vorgang starten.GET /v1/batches/{batch_id}: Rufen Sie den Status ab, bis der Vorgang abgeschlossen ist.GET /v1/batches/{batch_id}/result: Ergebnis abrufen. Zurückgegeben wird ein signierter Link, nicht die Datei selbst.
Antwort
Übersetzung aus einer Datei erstellen
dataobjectrequiredrequest_idstringrequiredMögliche Codes: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredMögliche Codes: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredMögliche Codes: insufficient_credits
errorobjectrequiredrequest_idstringrequiredMögliche Codes: insufficient_scope, feature_not_available, admin_required, file_retention_expired
errorobjectrequiredrequest_idstringrequiredMögliche Codes: batch_not_found, glossary_not_found, resource_not_found
errorobjectrequiredrequest_idstringrequiredMögliche Codes: glossary_already_exists, result_not_ready, batch_not_editable, idempotency_key_reused, no_plan_yet, plan_changed, batch_not_awaiting_approval
errorobjectrequiredrequest_idstringrequiredMögliche Codes: file_expired
errorobjectrequiredrequest_idstringrequiredMögliche Codes: request_too_large, file_too_large, result_too_large
errorobjectrequiredrequest_idstringrequiredMögliche Codes: language_not_supported, invalid_language_pair, glossary_term_limit_reached, glossary_limit_reached, invalid_glossary_terms, unsupported_format, file_fetch_failed, plan_invalid
errorobjectrequiredrequest_idstringrequiredMögliche Codes: rate_limited
errorobjectrequiredrequest_idstringrequiredMögliche Codes: internal_error
errorobjectrequiredrequest_idstringrequiredMögliche Codes: service_unavailable
errorobjectrequiredrequest_idstringrequired