La partie déroutante de cette erreur 404 est que le modèle existe généralement — dans la documentation d’Anthropic, un article de blog ou du code du trimestre dernier. Ce qui n’existe pas, c’est sa présence dans la liste des modèles que votre clé API est autorisée à appeler aujourd’hui.
L’erreur
{
"type": "error",
"error": {
"type": "not_found_error",
"message": "model: claude-3-5-sonnet"
}
}Causes et solutions en bref
| Cause | Solution |
|---|---|
| Un snapshot daté retiré | Les snapshots sont dépréciés selon un calendrier publié, puis cessent d’être résolus. Passez à un snapshot actuel. |
| Un alias qui n’a jamais existé | `claude-3-5-sonnet` est une famille, pas un identifiant appelable. Les identifiants Anthropic comportent une version ou un suffixe de date. |
| Le modèle existe, mais n’est pas activé pour votre compte | Les modèles les plus récents peuvent être restreints selon le niveau. L’erreur 404 est impossible à distinguer d’une faute de frappe — vérifiez l’endpoint des modèles, pas la documentation. |
| Un nom de modèle OpenAI sur un endpoint Anthropic | `gpt-4o` sur api.anthropic.com correspond à un modèle absent, pas à une erreur de routage. Utilisez une passerelle si vous voulez un endpoint unique pour les deux. |
Interrogez l’API, pas la documentation
La documentation décrit le catalogue ; l’endpoint des modèles décrit votre catalogue. En cas de désaccord, l’endpoint fait foi. Tout identifiant absent de cette liste renverra 404, aussi actuel qu’il puisse paraître ailleurs.
curl -s https://api.anthropic.com/v1/models \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
| grep '"id"'Épinglez délibérément, mettez à niveau délibérément
Coder en dur un snapshot daté garantit la reproductibilité, mais aussi une future erreur 404 à une date que vous n’avez pas choisie. Lire l’identifiant du modèle depuis la configuration transforme la correction en valeur de déploiement plutôt qu’en modification de code — et ce même mécanisme permet de basculer lorsqu’un modèle est occupé plutôt qu’absent.
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"}],
)Distinguer 404, 400 et 403
404 signifie que le nom ne correspond à rien. 400 signifie que le nom était correct, mais que la requête ne l’était pas (paramètre incorrect, contenu mal formé). 403 signifie que le modèle existe, mais que vous n’êtes pas autorisé à l’utiliser. Seule une erreur 404 se corrige en modifiant la chaîne du modèle.
Si vous appelez via Kunavo
Le catalogue de Kunavo est la liste renvoyée par son endpoint /v1/models, et chaque identifiant de cette liste est appelable avec toute clé créditée — il n’existe aucune restriction de modèle par compte ; la cause « réel mais non activé pour vous » ne se présente donc pas. Comme le même endpoint sert les noms Claude et ceux de la famille GPT, un identifiant OpenAI n’est pas non plus une erreur de mauvais endpoint : il est simplement routé. Les retraits en amont existent toujours ; lorsqu’un modèle est retiré, son identifiant est redirigé ou documenté plutôt que de provoquer silencieusement une erreur 404. Les identifiants actuels et leurs tarifs par token sont indiqués dans la liste des prix de l’API Claude.
Questions fréquentes
Une erreur 404 peut-elle être temporaire ?
Non. Contrairement aux erreurs 429, 500 et 529, réessayer une requête ayant renvoyé une erreur 404 avec la même chaîne de modèle ne peut qu’échouer à nouveau. Modifiez la chaîne ou arrêtez.
Comment savoir quand un snapshot est retiré ?
Anthropic publie les dates de dépréciation des snapshots datés. Si vous épinglez les snapshots, ce calendrier doit être inscrit à l’agenda ; si vous lisez l’identifiant depuis la configuration, il s’agit d’une modification d’une ligne.
Pourquoi la clé de mon collègue fonctionne-t-elle avec le même nom ?
La disponibilité d’un modèle peut différer selon le niveau du compte. Comparez les deux réponses /v1/models : cette différence fournit la réponse.
Guides associés
- model_not_found / 404 — noms de modèles entre Claude, Gemini et les passerelles
- API Claude 401 authentication_error / invalid x-api-key — toutes les causes
- API Claude : 529 overloaded_error — ce que cela signifie et comment tenir le coup
La sémantique détaillée des erreurs est disponible dans référence des erreurs ; obtenir une clé prend une minute via inscription et la guide d’authentification.