Ошибки
Как читать ошибки запросов и неуспешные задачи генерации изображений.
Как читать ошибку
HTTP-статус описывает сам запрос к API, а error.code — причину сбоя. Это разные поля: HTTP 200 не является бизнес-кодом ошибки.
- Отклонённая отправка возвращает HTTP-статус ошибки вместе с объектом
error. - Успешный запрос состояния задачи возвращает HTTP 200. По полю
statusопределяйте, находится ли генерация в состоянииprocessing,completedилиfailed. - Для неуспешной задачи ветвитесь по
error.code, а не по тексту вmessage. Разным причинам сбоя соответствуют разные коды; одна и та же причина использует один и тот же код во всех моделях. 60002используется как запасной вариант, когда более конкретную публичную причину определить нельзя. Незнакомые коды, которые появятся в будущем, обрабатывайте как общий сбой.
Коды и сообщения в таблице ниже API возвращает дословно, поэтому они остаются на английском: они посимвольно совпадают с error.message, который реально получает ваш клиент.
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."
}
}Если тайм-аут произошёл при самой отправке, сначала проверьте историю задач и только потом отправляйте повторно: первый запрос мог быть уже принят.
