Volver al blog

Solución de problemasGuía

Error 401 o 404 de la API: clave, URL base o id de modelo incorrectos

Lee el código de estado, averigua cuál de las tres cosas está mal (clave, URL base, id de modelo) y confirma la solución con una solicitud curl.

Por CheapTokens TeamPublicado el 5 min de lectura

Tarjeta de error con estado 401 y una pista para revisar la clave, la URL base y el id de modelo
En esta página
  1. La forma rápida de distinguirlos
  2. 401: la clave no coincide con el endpoint
  3. 404 en todos los modelos: la dirección está mal
  4. 404 en un modelo: el id del modelo
  5. Demuestra la solución con un comando curl
  6. Si sigue sin funcionar

Tu solicitud falló con un código de estado y no sabes qué tocar primero. Respuesta corta: 401 normalmente apunta a la clave, 404 normalmente significa que estás llamando al lugar equivocado — ya sea la dirección (URL base y ruta) o el id del modelo. Tres cosas que revisar, en este orden, y un comando curl que demuestra la solución.

La página de códigos de error de OpenAI (consultada el 26 de octubre de 2026) lista dos mensajes 401: "Invalid Authentication" e "Incorrect API key provided". La solución que da es la misma para ambos: revisa la clave o genera una nueva. La página no documenta ningún 404 para la API en sí, así que para el 404 la regla de abajo proviene de cómo funcionan los endpoints compatibles con OpenAI, no de esa página.

La forma rápida de distinguirlos#

Estado Qué está diciendo el servidor Mira primero
401 normalmente: no acepto esta clave la clave, y a qué proveedor pertenece
404 en todos los modelos normalmente: no hay nada en esta dirección la URL base y /v1
404 solo en un modelo normalmente: la dirección está bien, este id de modelo no se conoce el id del modelo

El texto del mensaje depende del servidor y de tu herramienta (Cline, Aider, OpenCode y Continue envuelven los errores a su manera), así que empieza por el número y luego confírmalo con la comprobación curl de abajo.

401: la clave no coincide con el endpoint#

La historia clásica: moviste una herramienta a un nuevo proveedor, cambiaste la URL base y dejaste la clave del proveedor anterior en la configuración. La dirección es nueva, la clave es la antigua y el servidor responde 401. Nada está roto; la clave simplemente pertenece a otra casa.

Qué revisar:

  1. ¿Qué proveedor emitió la clave? Debe ser el de la dirección a la que estás llamando. Una clave de un servicio no es válida en otro.
  2. Caracteres sueltos. Un espacio o un salto de línea pegados con la clave, o comillas que acabaron dentro del valor.
  3. De dónde la lee la herramienta. Una variable de entorno que está definida en un terminal y no en el que inició tu editor es una causa frecuente. Si la herramienta tiene tanto un archivo de configuración como una variable de entorno, averigua cuál gana.
  4. Una clave revocada o eliminada. Una clave que eliminaste o revocaste deja de funcionar — crea una nueva y ponla en la configuración.

Si no tienes claro cómo funcionan las claves o dónde guardarlas, qué es una clave de API y cómo guardarla de forma segura lo explica en palabras sencillas.

404 en todos los modelos: la dirección está mal#

La URL base para CheapTokens es https://api.cheaptokens.dev/v1. Las herramientas y los SDK añaden ellos mismos la ruta del endpoint, así que los deslices habituales tienen que ver con /v1:

  • Falta /v1: la herramienta acaba llamando a https://api.cheaptokens.dev/chat/completions.
  • /v1 duplicado: pegaste la ruta completa en un campo que ya la añade, y obtienes https://api.cheaptokens.dev/v1/v1/chat/completions.
  • Variante equivocada: las herramientas estilo OpenAI y el SDK de OpenAI toman la dirección con /v1. El SDK de Anthropic y Claude Code toman la dirección sin /v1: https://api.cheaptokens.dev.

Si alguna vez te has preguntado qué es exactamente una URL base y qué parte de ella añade la herramienta, esta explicación lo repasa. Para el lado de Anthropic, consulta el SDK de Python de Anthropic con CheapTokens.

404 en un modelo: el id del modelo#

Este pilla a quien copia un nombre de una tabla de precios o de otro proveedor. Una tabla de precios podría decir DeepSeek-V4-Flash; la API quiere el id completo de la pasarela, con el prefijo del desarrollador y la versión:

Dónde lo viste Qué necesita la API
DeepSeek-V4-Flash deepseek-ai/DeepSeek-V4-Flash-0731
GLM-5.3-Flash zai-org/GLM-5.3-Flash
MiniMax-M2.7 MiniMaxAI/MiniMax-M2.7

Los ids cortos de las etiquetas de precios no los acepta la API, y la ortografía importa: mayúsculas, la barra, el sufijo -0731. Copia el id de la documentación de CheapTokens en lugar de escribirlo de memoria — distintos proveedores nombran el mismo modelo de forma diferente. Para ver los ids exactos disponibles para tu clave, llama a GET https://api.cheaptokens.dev/v1/models con la misma cabecera Authorization y copia el id de la lista:

bash
curl https://api.cheaptokens.dev/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"

Si la lógica de nombres de la tabla te parece rara, cómo leer los nombres de modelos de IA explica alias frente a versión fijada.

Demuestra la solución con un comando curl#

Saca la herramienta de la ecuación y llama a la API directamente. Sustituye el marcador de la clave por la tuya:

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
    "messages": [{"role": "user", "content": "Say hi in one word."}],
    "max_tokens": 20
  }'

Esta única solicitud contiene los tres sospechosos: la clave en la cabecera, la URL base en la primera línea, el id del modelo en el cuerpo. Una respuesta JSON con un array choices significa que los tres son correctos, y lo que tu herramienta haga de forma distinta es el problema. Si falla, cambia una cosa a la vez:

  • 401 → cambia la clave que obtuviste de CheapTokens y vuelve a ejecutar.
  • 404 → compara la URL carácter por carácter con la de arriba, y luego el id del modelo.

Cuando curl funcione, copia los mismos tres valores en la herramienta: la clave, la URL base (https://api.cheaptokens.dev/v1, o sin /v1 para el SDK de Anthropic y Claude Code) y el id completo del modelo.

Si sigue sin funcionar#

  • El mismo error en la herramienta, curl va bien. La herramienta está leyendo una clave o URL antigua de otro sitio: un segundo archivo de configuración, un perfil guardado, una variable de entorno. Reinicia la herramienta después de cambiarlo.
  • No estás seguro de que el id del modelo sea correcto. Llama a GET /v1/models con tu clave y copia el id de la lista.
  • Conexión rechazada, tiempos de espera, errores de certificado. Eso no es un 401 ni un 404; consulta errores de conexión comunes.
  • No tienes claro cómo debería ser la primera solicitud. Tu primera solicitud a la API va paso a paso, y la documentación tiene la referencia completa.

El hábito que merece la pena mantener: cuando falla una llamada, lee primero el número. 401 normalmente significa la clave, 404 normalmente la dirección o el id del modelo, y curl lo resuelve. Eso soluciona la mayoría de estos errores antes de que abras un solo log.