La parte confusa de este 404 es que el modelo normalmente sí existe: en la documentación de Anthropic, en una publicación de blog o en el código del trimestre pasado. Lo que no existe es en la lista de modelos que su clave de API tiene permitido utilizar hoy.
El error
{
"type": "error",
"error": {
"type": "not_found_error",
"message": "model: claude-3-5-sonnet"
}
}Causas y soluciones de un vistazo
| Causa | Solución |
|---|---|
| Una instantánea fechada retirada | Las instantáneas se deprecian según un calendario publicado y después dejan de resolverse. Cambie a una actual. |
| Un alias que nunca existió | `claude-3-5-sonnet` es una familia, no un id utilizable. Los ids de Anthropic incluyen una versión o un sufijo de fecha. |
| El modelo es real, pero no está habilitado para su cuenta | Los modelos más recientes pueden estar restringidos por nivel. El 404 es indistinguible de un error tipográfico: compruebe el endpoint de modelos, no la documentación. |
| Un nombre de modelo de OpenAI en un endpoint de Anthropic | `gpt-4o` en api.anthropic.com significa que falta el modelo, no que haya un error de enrutamiento. Use una puerta de enlace si quiere un único endpoint para ambos. |
Pregunte a la API, no a la documentación
La documentación describe el catálogo; el endpoint de modelos describe su catálogo. Cuando no coinciden, el endpoint tiene razón. Todo lo que no aparezca en esta lista devolverá 404, por muy actualizado que parezca en otro lugar.
curl -s https://api.anthropic.com/v1/models \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
| grep '"id"'Fije deliberadamente, actualice deliberadamente
Codificar una instantánea fechada ofrece reproducibilidad y un futuro 404 en una fecha que usted no eligió. Leer el id del modelo desde la configuración significa que la solución es un valor en el momento del despliegue, no un cambio de código; además, el mismo cambio permite activar la conmutación por error cuando un modelo está ocupado, en lugar de cuando falta.
import os
# One place to change when a snapshot retires.
MODEL = os.environ.get("LLM_MODEL", "claude-sonnet-5")
resp = client.chat.completions.create(
model=MODEL,
messages=[{"role": "user", "content": "ping"}],
)Distinga el 404 del 400 y el 403
404 significa que el nombre no resolvió a nada. 400 significa que el nombre era correcto, pero la solicitud no lo era (parámetro incorrecto o contenido mal formado). 403 significa que el modelo existe, pero usted no puede utilizarlo. Solo el 404 se soluciona cambiando la cadena del modelo.
Si llamas a través de Kunavo
El catálogo de Kunavo es la lista que devuelve su endpoint /v1/models, y todos los ids incluidos en ella se pueden utilizar con cualquier clave con fondos; no existe una restricción de modelos por cuenta, por lo que no se da la causa de que el modelo sea «real pero no esté habilitado para usted». Como el mismo endpoint sirve nombres de Claude y de la familia GPT, un id de OpenAI tampoco es un error de endpoint equivocado: simplemente se enruta. Las retiradas siguen ocurriendo en los proveedores ascendentes, y cuando se retira un modelo, su id se redirige o se documenta en lugar de dejarlo fallar silenciosamente con un 404. Los ids actuales y sus tarifas por token están en la lista de precios de la API de Claude.
Preguntas frecuentes
¿El 404 puede ser alguna vez un error temporal?
No. A diferencia de 429, 500 y 529, reintentar un 404 con la misma cadena de modelo solo puede volver a fallar. Cambie la cadena o deténgase.
¿Cómo sé cuándo se retira una instantánea?
Anthropic publica las fechas de desuso de las instantáneas fechadas. Si fija instantáneas, ese calendario es un elemento de calendario; si lee el id desde la configuración, es un cambio de una sola línea.
¿Por qué la clave de mi colega funciona con el mismo nombre?
La disponibilidad de los modelos puede variar según el nivel de la cuenta. Compare las dos respuestas de /v1/models; esa diferencia contiene la respuesta.
Guías relacionadas
- model_not_found / 404: nombres de modelos entre Claude, Gemini y las pasarelas
- Claude API 401 authentication_error / invalid x-api-key: todas las causas
- Claude API 529 overloaded_error — qué es y cómo superarlo
Encontrarás más detalles sobre el significado de los errores en referencia de errores; obtener una clave lleva un minuto mediante registro y la guía de autenticación.