Documentación

Errores

Una sola forma para todos los fallos.

Cuando algo falla el estado HTTP no es 2xx y el cuerpo contiene un único objeto error:

json
{
  "error": {
    "message": "Insufficient credits: this request needs 60 credits. Top up and try again.",
    "type": "insufficient_quota",
    "param": null,
    "code": "insufficient_credits"
  }
}

Campos

CampoDescripción
messagePensado para leerse, en inglés. No ramifiques con él: la redacción cambia
typeCategoría general, ver más abajo
codeMotivo concreto. Ramifica con este campo
paramNombre del parámetro problemático, o null si no se puede atribuir

Códigos habituales

HTTPcodeSignificado
401missing_api_keyFalta la cabecera Authorization o no tiene la forma Bearer sk-xxx
401invalid_api_keyClave desconocida, desactivada o eliminada: deliberadamente indistinguibles
400invalid_requestProblema de parámetros; lee message. prompt vacío, modo imagen sin imagen, etc.
402insufficient_creditsSin créditos. Recarga y consulta /v1/credits antes de reintentar
429rate_limit_exceededDemasiadas llamadas. Espera y reintenta
429concurrency_limit_reachedLímite de concurrencia o cuota diaria. Reintenta más tarde
404not_foundLa tarea no existe o no pertenece a esta cuenta
502generation_failedEn una llamada síncrona fallaron todas las imágenes. Los créditos ya se han devuelto
504generation_timeoutSe agotó la espera de una llamada síncrona. La tarea sigue en marcha y los créditos no se devuelven: recupérala en /v1/tasks/{id} con el id del mensaje
500internal_errorFallo del servidor. Se puede reintentar; si persiste, contáctanos
Un trabajo asíncrono que falla después de ser aceptado no usa esta forma: la llamada es 200, el objeto de tarea trae status failed y el motivo está en error. Solo las llamadas síncronas de imagen convierten el fallo en un 502.