Usamos cookies. Las cookies y el almacenamiento del navegador mantienen tu sesión iniciada y recuerdan tus preferencias. Con tu permiso, también medimos cómo se usa el sitio. Puedes en cualquier momento. Consulta nuestra política de cookies.

Errores

Cuenta

Errores

Consulta todos los códigos de error que devuelve la pasarela de api14 con el formato de error de OpenAI, con su causa y cómo resolverlos o reintentarlos.

Los errores usan el formato de error de OpenAI, así que los SDK oficiales los convierten en sus excepciones habituales (APIError, RateLimitError, AuthenticationError, etc.). Toma decisiones según code; message es una explicación legible en inglés.

{
  "error": {
    "message": "This request may cost up to $0.0123 but your balance is $0.0040. Add funds at /pricing.",
    "type": "insufficient_quota",
    "code": "insufficient_balance"
  }
}

Las peticiones fallidas no se cobran. Cualquier respuesta con un estado 4xx o 5xx no cuesta nada.

Códigos de error de la pasarela

EstadocodetypeSignificado
400model_requiredinvalid_request_errorFalta el campo model.
400invalid_jsoninvalid_request_errorEl cuerpo no es un objeto JSON.
400invalid_bodyinvalid_request_errorNo se pudo leer el cuerpo multipart.
400max_tokens_too_largeinvalid_request_errorUna petición de prueba del playground pidió demasiados tokens de salida.
401invalid_api_keyauthentication_errorLa clave falta, está mal formada o está revocada.
402insufficient_balanceinsufficient_quotaTu saldo en USD es de $0 o inferior al coste máximo estimado de la solicitud (entrada, límite de salida, imágenes o duración del vídeo). La solicitud no se envía.
403model_not_allowedpermission_errorLa lista de modelos permitidos de la clave no incluye este modelo.
403plan_requiredpermission_errorTu plan no incluye esta categoría de modelos.
404model_not_foundnot_found_errorEl id del modelo es desconocido, está desactivado o se ha eliminado.
404not_foundnot_found_errorEndpoint desconocido, o una tarea de vídeo o generación que no es tuya.
413payload_too_largeinvalid_request_errorEl cuerpo de la petición supera el límite de tamaño (25 MB por defecto).
429rate_limitedrate_limit_errorSe superaron las peticiones por minuto. Llega con Retry-After: 60.
429daily_limit_reachedrate_limit_errorLa clave alcanzó su límite de gasto diario en USD.
409idempotency_conflictapi_errorYa se envió una solicitud con esta Idempotency-Key. Usa una clave nueva para enviar otra solicitud. Límites de uso.
403site_not_allowedpermission_errorSolo widgets: el sitio de la página no está entre tus sitios de widget permitidos. Widgets.
429widget_daily_limitrate_limit_errorSolo widgets: el widget, o todos los widgets juntos, alcanzaron el límite de gasto diario en USD.
429visitor_daily_limitrate_limit_errorSolo widgets: este visitante alcanzó el límite diario de solicitudes de los controles de widgets.
502upstream_unavailableapi_errorNo se pudo contactar con el proveedor upstream.
4xx/502content_unavailablevariableTodavía no se pudo obtener el contenido de un vídeo (el estado refleja el del upstream, o 502 si no hay ninguno).
503maintenanceservice_unavailableModo de mantenimiento: los endpoints de generación están en pausa, los endpoints GET siguen funcionando.
503not_configuredservice_unavailableLa pasarela aún no está configurada.

Errores del upstream

Los errores que devuelve el proveedor upstream (por ejemplo, un parámetro no válido para un modelo concreto, un desbordamiento de la longitud de contexto, un rechazo por política de contenido o un 429 del propio proveedor) se reenvían con su código de estado original y el mismo formato { error: { ... } }.

Qué hacer

Estado¿Reintentar?Acción
400NoCorrige el cuerpo de la petición.
401NoComprueba la clave y la cabecera Authorization: Bearer. Consulta Autenticación.
402NoAñade fondos o activa la recarga automática.
403NoUsa un modelo permitido, edita la lista de modelos permitidos de la clave o mejora tu plan.
404NoComprueba el id del modelo en la página de modelos.
413NoEnvía un cuerpo más pequeño, o pasa los archivos por URL en lugar de en base64.
429Más tarderate_limited: espera lo que indique Retry-After. daily_limit_reached: espera al siguiente día UTC o aumenta el límite de la clave. Consulta Límites de tasa.
502SíReintenta con backoff, o añade modelos de respaldo.
503SíReintenta más tarde.

Gestionar errores en el código

import OpenAI from 'openai'

const client = new OpenAI({ baseURL: 'https://api14.com/api/v1', apiKey: process.env.API14_API_KEY })

try {
  await client.chat.completions.create({ model: 'openai/gpt-5-mini', messages: [{ role: 'user', content: 'Hi' }] })
} catch (err) {
  if (err instanceof OpenAI.APIError) {
    console.error(err.status, err.code, err.message)
    if (err.code === 'insufficient_balance') {
      // prompt the user to add funds
    }
  } else {
    throw err
  }
}
from openai import OpenAI, APIStatusError

client = OpenAI(base_url="https://api14.com/api/v1", api_key="sk-api14-...")

try:
    client.chat.completions.create(model="openai/gpt-5-mini", messages=[{"role": "user", "content": "Hi"}])
except APIStatusError as e:
    print(e.status_code, e.code, e.message)

Los errores que se producen después de que haya empezado un stream llegan dentro del propio stream. Consulta Streaming.