Accueil / L'API Claude pour ceux qui construisent
Choisir un modèle, en changer, encaisser un refus
Le choix d'un modèle est un compromis entre qualité, vitesse et coût qui se revoit à chaque nouvelle génération, et un refus renvoyé par un classificateur de sécurité se traite comme un cas normal du protocole, pas comme une panne.
Claude Sonnet 5 est facturé au prix annoncé comme temporaire au lancement de ce modèle. Ce prix devait augmenter à une échéance fixée à l'avance, avec un retour à un tarif standard plus élevé. Cette hausse n'a pas eu lieu : le tarif de lancement est devenu le tarif permanent, sans nouvelle échéance annoncée. Choisir un modèle, c'est choisir un point sur trois axes, la qualité des réponses, la vitesse et le coût par jeton, et ce point se déplace à chaque nouvelle génération sans prévenir.
Un identifiant sans date est déjà la référence
Longtemps, la pratique prudente consistait à épingler en production un identifiant daté, pour ne pas subir un changement silencieux le jour où l'identifiant générique pointerait vers un nouveau modèle. À partir de la génération 4.6, cette précaution s'allège pour les modèles concernés : chaque identifiant sans date de cette génération et des suivantes désigne déjà un instantané figé. Cette règle ne vaut pas pour les modèles antérieurs à la génération 4.6, dont claude-haiku-4-5, où l'identifiant sans date reste un simple alias qui pointe vers un instantané daté distinct. Parmi les modèles actuellement actifs, claude-fable-5-1 est le plus récent et le plus capable de la gamme, claude-fable-5 reste actif mais passe au statut de modèle historique, et claude-opus-5, claude-sonnet-5 et claude-haiku-4-5 comptent parmi les plus employés, sans épuiser l'inventaire complet, tenu à jour sur la page des dépréciations d'Anthropic. Un modèle plus ancien de la famille Opus a déjà cessé de répondre sur les plateformes opérées par Anthropic, la figure de chronologie qui suit situe cette échéance. Comparer deux modèles avant de migrer reste un geste utile, mais il porte sur la qualité et le coût, plus sur le risque qu'un identifiant change dans votre dos.
Le refus, un cas normal du protocole
Un classificateur de sécurité peut arrêter une réponse avant qu'elle ne soit terminée. Ce refus ne se présente pas comme une panne : le serveur répond avec un code HTTP 200, comme pour toute réponse réussie, et c'est le champ stop_reason qui porte l'information, avec la valeur refusal plutôt que end_turn. Le champ stop_details qui l'accompagne précise une catégorie ouverte, par exemple cyber, bio, ou extraction de raisonnement, et une explication lisible.
{
"stop_reason": "refusal",
"stop_details": {
"category": "cyber",
"explanation": "La demande correspond à un usage exclu par la politique."
}
}
Un code qui traite seulement end_turn et max_tokens, deux valeurs vues dans la première leçon de ce module, laisse passer un refus sans le voir. Un mécanisme de repli existe côté serveur : il s'active par un en-tête bêta et un paramètre dédié, et il route automatiquement vers un autre modèle selon la catégorie du refus, sans qu'il soit nécessaire de maintenir soi-même une liste de modèles de secours.
Réviser le choix à chaque génération
Le tarif de Sonnet 5 rendu permanent et le reclassement de Fable 5 en modèle historique depuis la sortie d'un modèle plus récent montrent la même chose sous deux angles différents : la comparaison entre modèles faite quelques mois plus tôt ne vaut plus rien aujourd'hui. La leçon sur le cache et le traitement par lot réduit le coût d'un modèle déjà choisi, celle-ci porte sur le choix lui-même, à refaire à chaque génération plutôt qu'à fixer une fois pour toutes.
Le tarif de lancement de Sonnet 5, devenu permanent
Trois échéances de la gamme actuelle
Une développeuse ajoute à son service un appel à l'API Claude pour générer un résumé automatique. Elle lit dans la réponse le champ stop_reason et trouve la valeur refusal accompagnée d'une catégorie de sécurité. Elle relance son test avec un texte d'entrée différent et obtient cette fois la valeur end_turn.
Écrivez en une phrase ce que cette situation établit, et en une phrase ce qu'elle n'établit pas.
Ce que cela établit : Ce deuxième essai établit que le même point d'entrée peut renvoyer soit un refus soit une réponse terminée normalement selon le contenu envoyé, et que le refus se lit dans le champ stop_reason plutôt que par une erreur réseau.
Ce que cela n’établit pas : Il n'établit pas quelle partie précise du texte d'entrée a déclenché le refus, ni si le même texte produirait de nouveau un refus à un autre moment.
Les trois calibrages faux les plus courants
- Trop large Ce résultat montre que l'API refuse désormais toute demande de résumé automatique, quel que soit le texte fourni.
- Trop étroit Ce résultat ne montre rien, puisqu'un seul essai ne suffit jamais à tirer une conclusion sur le comportement d'une API.
- À côté Ce résultat montre que la documentation de l'API liste par avance toutes les catégories de refus possibles pour ce type de demande.
- Le tarif de lancement de Claude Sonnet 5 est devenu le tarif permanent, la hausse qui était programmée à la même échéance n'a pas eu lieu.
- À partir de la génération 4.6, l'identifiant de modèle sans date désigne déjà un instantané figé de production, la précaution de dater soi-même l'identifiant a perdu son utilité, sauf pour un modèle antérieur à 4.6 comme Claude Haiku 4.5, où l'identifiant sans date reste un alias.
- Claude Fable 5.1 est désormais le modèle le plus récent et le plus capable de la gamme, Claude Fable 5 reste actif mais passe au statut de modèle historique.
- Un refus de sécurité se signale par un champ stop_reason égal à refusal accompagné d'un code HTTP réussi, jamais par une exception qui interromprait le programme.
- Claude Opus 4.1 a cessé de répondre quelques semaines après l'annonce de sa dépréciation, son identifiant ne répond plus sur les plateformes opérées par Anthropic, Amazon Bedrock et Google Cloud fixant leurs propres échéances.
Recherchez dans votre propre code chaque appel à l'API Claude et notez l'identifiant de modèle employé, puis vérifiez que votre gestion de la réponse teste bien la valeur refusal du champ stop_reason avant de considérer une réponse comme terminée.
Chaque affirmation datable de cette leçon renvoie ici au texte public qui la porte. Une source qui ne s’ouvre pas ne prouve rien.
- Anthropic, tarification de l'API Claude, prix par million de jetons consultée le 2026-09-02
- Anthropic, comparaison des modèles Claude, identifiants et statuts consultée le 2026-09-02
- Anthropic, dépréciations et retraits de modèles Claude consultée le 2026-09-02