Saltar al contenido

Solución de problemas

Diagnostique rápidamente errores de protocolo, clave, modelo y entorno.

Busque el síntoma en la categoría que corresponda. La tabla completa de códigos de estado, las reglas de reintento y qué incluir al reportar un problema están en Códigos de error y reintentos.

El gateway devuelve texto en chino simplificado, chino tradicional, inglés, japonés o español según el encabezado Accept-Language, y en inglés cuando no se envía ese encabezado. Las tablas citan el texto que devuelve con Accept-Language: es.

Claves, saldo y permisos

SíntomaCausaQué hacer
401 "Falta la clave de API"
"Clave de API no válida"
"La clave de API ha caducado"
Clave ausente, copiada incompleta o con espacios, o eliminada, deshabilitada o caducadaVuelva a copiar la clave completa desde Claves API en la consola; cree una nueva si hace falta
402 "Saldo insuficiente"
"Cuota de la clave de API agotada"
"Cuota del miembro agotada"
"Cuota del departamento agotada"
Saldo de la cuenta, cuota de esta clave o cuota de miembro o departamento insuficienteAñada fondos o ajuste la cuota antes de reintentar; el 402 no se resuelve solo, no reintente en bucle
Un envío de video devuelve 402 "Insufficient balance: available …"El saldo reservado al enviar la tarea de video es insuficienteAñada fondos y vuelva a enviar; no reintente en bucle
403 "Esta cuenta ha sido deshabilitada"
"Esta cuenta de miembro ha sido deshabilitada"
"Este miembro no tiene permiso para usar el grupo vinculado a esta clave de API"
"La clave de API no está vinculada a ningún grupo, contacte al administrador"
"La generación de imágenes no está habilitada en el grupo actual"
Configuración de cuenta, miembro o grupoContacte al administrador; no reintente
404 "El grupo al que pertenece esta clave de API ha sido dado de baja y ya no atiende solicitudes…"El grupo de esta clave fue descontinuadoCree una clave en un grupo disponible en la consola y reemplace la anterior

Modelos y rutas

SíntomaCausaQué hacer
404 "El grupo actual no admite el modelo solicitado: X"
"El grupo al que pertenece esta clave de API no ofrece el modelo solicitado…"
El ID no está en ninguno de los grupos de esta clave, está mal escrito o es un ID retirado que quedó en la configuración del clienteLlame a GET /v1/models con esta clave y copie un ID completo; si no aparece, añada a la clave el grupo del modelo. No reintente automáticamente
404 "La plataforma actual no admite esta ruta de API"Una clave Claude llamó a un endpoint del protocolo OpenAICambie Claude al protocolo Anthropic
Igual que arribaEl Base URL de Anthropic tiene un /v1 de más (queda /v1/v1/messages)Quite /v1 del Base URL
Igual que arribaLa plataforma no expone esa ruta, como /v1/dashboard/billing/*, /v1/files, /v1/batches, /v1/embeddingsConsulte el saldo con GET /v1/usage o en la consola
Igual que arribaLa búsqueda web de Codex llamó a /v1/alpha/searchEste 404 no afecta las conversaciones
Un endpoint de video devuelve 404 "La plataforma actual no admite esta ruta de API"La ruta de video es incorrectaSegún la API de video: envíe con POST /v1/video/generate y consulte con GET /v1/video/tasks/{task_id}

Contenido de la solicitud

SíntomaCausaQué hacer
400 "No se pudo leer el cuerpo de la solicitud"
"El cuerpo debe ser un objeto JSON con tipos de campo válidos"
"Falta el campo obligatorio: model"
"messages debe ser un array no vacío"
El cuerpo está incompleto o tiene campos no válidosRevise el JSON y el Content-Type
413 "El cuerpo de la solicitud supera el límite de tamaño (60 MB)"El cuerpo supera 60 MB, normalmente por imágenes o video en base64Comprima los archivos grandes, o envíe una URL cuando el modelo lo admita
400 por exceder la longitud de contexto (el texto exacto varía según el modelo)Historial, adjuntos y max_tokens superan juntos el contexto del modeloRecorte el historial o inicie una conversación nueva, y reduzca max_tokens
400 "Invalid signature in thinking block"
"duplicate thinking.signature"
El historial de thinking de Claude fue reescrito, concatenado o duplicadoDevuelva el thinking anterior tal cual (con signature), sin reescribirlo, combinarlo ni cambiar de modelo; si persiste, reinicie sin thinking
400 "No tool call found for function call output"
"No tool output found for function call"
Resultados y llamadas a herramientas no están emparejados: tool_call_id / call_id no coinciden o falta unoDevuelva un resultado por cada llamada con su ID sin cambios; al recortar el historial, elimine cada par junto
400 "Unsupported parameter: …"El modelo no acepta un parámetro que envióElimínelo; en la Responses API limite la salida con max_output_tokens, no con max_tokens

Imágenes y video

SíntomaCausaQué hacer
400 contenido rechazado por una política de seguridad (por ejemplo "Your request was rejected by the safety system.")El prompt o un recurso de referencia activó la política de seguridad de contenido del modeloModifique el prompt o el recurso; reenviar la misma solicitud será rechazado de nuevo
400 parámetros de imagen inválidos (por ejemplo "size … is not valid")Tamaño, nivel o cantidad fuera de lo que admite ese modeloAjuste el valor según la API de imágenes
400 "media_download_failed"La URL de una imagen o video de referencia no es públicaUse una URL HTTP(S) descargable sin iniciar sesión
400 "InputImageSensitiveContentDetected.PrivacyInformation"Seedance 2.0 aplica detección de privacidad a fotos de personas reales enviadas directamenteSúbala primero como asset con POST /v1/sd/assets y referénciela como asset://asset-id; vea la API de video
El sondeo de una tarea asíncrona devuelve status: "failed" (por ejemplo "the prompt was rejected by content moderation; rephrase it and submit again")Motivo en error.message, sin code, sin facturarCorrija lo que indica el mensaje y reenvíe; vea Códigos de error y reintentos
Necesita el cargo real de una tarea asíncronaViene en la consulta de la tarea cuando terminaLea en la raíz usage.cost_usd (el importe en USD descontado de su saldo), usage.cost (el mismo cargo en CNY) y usage.currency (0 si falló sin cargo); las tareas finalizadas de una lista también los llevan; vea la API de video

Límites, tiempos de espera e interrupciones

SíntomaCausaQué hacer
429 "Se alcanzó el límite de concurrencia del usuario, inténtelo de nuevo más tarde"
"Se alcanzó el límite de concurrencia de la clave de API, inténtelo de nuevo más tarde"
Las solicitudes en curso superan el límite de concurrencia de la cuenta o de la claveEncole y limite en el cliente, y reintente según Retry-After; límites en Concurrencia, tiempos de espera y facturación
429 "… están sujetas a límite de tasa en este momento, inténtelo de nuevo más tarde"
502 "El servicio … no está disponible temporalmente, inténtelo de nuevo más tarde"
503 "No hay ninguna … disponible en este momento, inténtelo de nuevo más tarde"
503 "La solicitud no se pudo completar en este momento, inténtelo de nuevo más tarde"
504 "La solicitud … agotó el tiempo de espera, inténtelo de nuevo más tarde"
503 "El servicio de autenticación no está disponible temporalmente, inténtelo de nuevo"
El servicio no está disponible temporalmente o la respuesta superó el tiempo de esperaReintente con Retry-After o retroceso exponencial, o cambie a un modelo de la misma familia. Si dura más de 10 minutos, contáctenos con el X-Request-ID de la respuesta
503 "Esta conversación está vinculada a una sesión con estado que ya no puede reanudarse…"La sesión original ya no puede continuarInicie una conversación nueva sin previous_response_id
La solicitud se corta a mitad de camino y se registra como 499Cancelación manual o tiempo de lectura del cliente agotado (openai-python: 600 s por defecto; otros clientes varían)Use streaming para salidas largas y aumente el tiempo de lectura del cliente
Llega un evento de error a mitad del streaming (por ejemplo "Response stream interrupted, please retry") o se cae la conexiónEl fallo ocurrió con la salida ya iniciada; no se puede reanudar en el mismo streamDescarte el fragmento recibido y reenvíe la solicitud completa

Entorno local

SíntomaCausaQué hacer
"node / npm is not recognized"Node.js no está instalado o no está en PATHReinstale desde nodejs.org (opciones predeterminadas en Windows), luego cierre y vuelva a abrir la terminal
PowerShell bloquea la ejecución de scriptsRestricciones de la política de ejecución de WindowsPrefiera el comando de configuración con un clic de la consola; o ejecute Set-ExecutionPolicy RemoteSigned como administrador

¿Sigue atascado después de revisar estas tablas? Contáctenos con el nombre del cliente, ID del modelo, hora aproximada, código de estado HTTP, el X-Request-ID de los encabezados de respuesta y una captura de pantalla con la clave oculta.

Próximos pasos