Fehler
Anfragefehler und fehlgeschlagene Bildaufgaben richtig deuten.
So liest du einen Fehler
Der HTTP-Status beschreibt die Anfrage an die API, error.code beschreibt den Grund des Fehlschlags. Es sind zwei getrennte Felder: HTTP 200 ist kein fachlicher Fehlercode.
- Eine abgelehnte Anfrage gibt einen HTTP-Fehlerstatus mit einem
error-Objekt zurück. - Eine erfolgreiche Aufgabenabfrage gibt HTTP 200 zurück. Ob die Erzeugung
processing,completedoderfailedist, entnimmst dustatus. - Verzweige bei einer fehlgeschlagenen Aufgabe über
error.code, nicht über den Text inmessage. Unterschiedliche Fehlergründe haben unterschiedliche Codes; derselbe Grund verwendet modellübergreifend denselben Code. 60002ist der Rückfallwert, wenn keine genauere öffentlich nennbare Ursache ermittelt werden kann. Behandle künftige, unbekannte Codes als allgemeinen Fehlschlag.
Die Fehlercodes und Meldungen in der folgenden Tabelle gibt die API wörtlich zurück und bleiben deshalb auf Englisch — Zeichen für Zeichen identisch mit der error.message, die dein Client tatsächlich erhält.
Request errors
These HTTP statuses describe a rejected or unconfirmed submission, or a failed task query. A submission timeout does not prove that no task was created.
Error code (error.code) | HTTP status | Meaning | Next step |
|---|---|---|---|
10001 | 401 | The API key is missing or invalid. | Check the Authorization header and API key. |
10002 | 403 | You do not have permission to make this request. | Check access permissions. |
20001 | 400, 413, 422 | The request was rejected. Check the parameters against the API documentation. | Correct the request parameters before retrying. |
20002 | 400 | The requested model is not available. | Select a model listed in the model catalog. |
30001 | 402 | Not enough credits to run this request. | Add credits before submitting. |
30002 | 429 | Too many requests. Please wait and try again. | Wait and retry with backoff. Do not repeat accepted submissions. |
50001 | 404 | Task not found. | Check the task ID and use the owning account’s key. |
50002 | 503 | Submission could not be confirmed. Check your tasks before submitting again. | Check task history before submitting again; the request may have been accepted. |
90001 | 503 | The service is temporarily unavailable. | Back off; retain any task ID already received. |
Task failures
A successful task query returns HTTP 200 even when generation failed. Check status: "failed" and error.code in the response. These codes describe the task outcome, not the HTTP request. Failed tasks are not charged.
Error code (error.code) | Meaning | Next step |
|---|---|---|
20001 | The request was rejected. Check the parameters against the API documentation. | Correct the request parameters before retrying. |
50003 | The task did not complete within the allowed time. Please try again. | The task is not charged. You may submit a new task. |
60001 | The request was rejected by the content policy. Please revise the prompt or input images. | Revise the prompt or media input. |
60002 | Generation could not be completed. Please try again. | The task is not charged. You may submit a new task. |
60003 | No output was generated. Please revise the prompt or try again. | Revise the input or submit a new task. |
60004 | The generated output could not be delivered. Please try again. | The task is not charged. Try again later. |
90001 | The service is temporarily unavailable. | Back off; retain any task ID already received. |
{
"id": "task_...",
"status": "failed",
"error": {
"code": 60002,
"message": "Generation could not be completed. Please try again."
}
}Kommt es beim Senden selbst zu einer Zeitüberschreitung, prüfe deinen Aufgabenverlauf, bevor du erneut sendest: Die erste Anfrage wurde möglicherweise bereits angenommen.
