Comment utiliser l'API Claude Fable 5 (avec Python)
Un guide fonctionnel de l'API Claude Fable 5 — premier appel, les 5 paramètres qui renvoient une 400 si vous codez comme avec un modèle plus ancien, gestion des refus, et ce que cela coûte.

TL;DR
- Appelez Claude Fable 5 via l'API Messages d'Anthropic avec l'ID de modèle
claude-fable-5— installez le SDKanthropic, définissezANTHROPIC_API_KEY, et envoyez une requêtemessages.create - Le piège : le code écrit pour d'anciens modèles Claude (ou GPT) échoue sur Fable 5.
temperature,top_p,top_k,budget_tokens,thinking: {type:"disabled"}et les prefills d'assistant renvoient tous une 400 - Le thinking est toujours activé — contrôlez la profondeur avec
output_config.effort(low→max), pas avec un budget de tokens. Gérez le stop reasonrefusalet activez les fallbacks - Fable 5 exige une rétention des données de 30 jours (les organisations ZDR reçoivent une 400 à chaque requête) et coûte 10 $ / 50 $ par 1M de tokens d'entrée/sortie — environ 2× Opus 4.8
- Vous voulez éviter le compte Anthropic, le palier et la configuration de rétention ? Appelez
claude-fable-5via l'endpoint compatible OpenAI de Velokey avec une seule clé — même prix 10 $/50 $, sans les pièges de paramètres ci-dessous
La plupart des guides « comment appeler l'API » montrent un hello-world en trois lignes et s'arrêtent là. C'est suffisant jusqu'à ce que Fable 5 renvoie une 400 dès la première vraie requête parce que vous avez passé temperature par habitude, ou que votre code lit response.content[0] et plante sur un refus. Fable 5 est le modèle le plus capable d'Anthropic, mais sa surface de requête est plus stricte que tout ce qui l'a précédé. Voici l'appel qui fonctionne, puis les cinq éléments qui casseront réellement votre intégration.

De quoi avez-vous besoin pour appeler l'API Claude Fable 5 ?
Vous avez besoin d'un compte Anthropic payant, du SDK anthropic, et — c'est ce qui surprend les gens — d'un paramètre de rétention des données de l'organisation d'au moins 30 jours. Fable 5 n'est pas disponible sous zero data retention (ZDR) ; une organisation ZDR reçoit une 400 invalid_request_error à chaque requête Fable 5, quelle que soit la propreté du payload.
L'ID de modèle est claude-fable-5. Il dispose d'une fenêtre de contexte de 1M de tokens (par défaut et maximum) et jusqu'à 128K tokens de sortie. Installation et authentification :
pip install anthropic
export ANTHROPIC_API_KEY="sk-ant-..." # never hardcodeAvant votre premier appel, vérifiez :
| Exigence | Pourquoi c'est important |
|---|---|
| Compte payant, palier suffisant | Fable 5 est au-dessus du palier Opus ; vérifiez l'accès au modèle |
| Rétention des données ≥ 30 jours | Les organisations ZDR reçoivent une 400 à chaque requête |
SDK anthropic installé | Utilisez le SDK officiel, pas un shim compatible OpenAI |
ID de modèle claude-fable-5 | Chaîne exacte — pas de suffixe de date |
Comment faire votre premier appel à l'API Claude Fable 5 ?
Vous appelez client.messages.create() avec model="claude-fable-5" et une liste messages. Ne passez pas de paramètre thinking — le thinking est toujours activé — et contrôlez la profondeur du raisonnement avec output_config.effort à la place.
import anthropic
client = anthropic.Anthropic() # reads ANTHROPIC_API_KEY from the environment
response = client.messages.create(
model="claude-fable-5",
max_tokens=16000,
output_config={"effort": "high"}, # low | medium | high | xhigh | max
messages=[
{"role": "user", "content": "Explain the tradeoffs of event sourcing in two paragraphs."}
],
)
# Always check stop_reason before reading content (see refusals below)
if response.stop_reason != "refusal":
for block in response.content:
if block.type == "text":
print(block.text)C'est tout le hello-world. effort est le principal réglage qualité/latence — high est un bon défaut, xhigh est le point idéal pour le coding et le travail agentique, et low/medium conviennent aux tâches de routine et battent souvent les meilleurs réglages des modèles plus anciens. La chaîne de pensée brute n'est jamais renvoyée ; si vous voulez un résumé de raisonnement lisible, passez thinking={"type": "adaptive", "display": "summarized"}.
Comment appeler Claude Fable 5 via Velokey (sans compte Anthropic) ?
Si vous préférez éviter le compte Anthropic, le palier d'utilisation et l'exigence de rétention de 30 jours, appelez Fable 5 via l'endpoint compatible OpenAI de [Velokey](/model/claude-fable-5). Pointez n'importe quel client OpenAI vers l'URL de base de Velokey, remplacez par votre clé Velokey, et définissez le modèle sur claude-fable-5 — c'est une completion de chat standard, donc les pièges de paramètres de la section suivante ne s'appliquent pas.
from openai import OpenAI
client = OpenAI(
base_url="https://api.velokey.ai/v1",
api_key="sk-velokey-...", # your Velokey key — not an Anthropic key
)
response = client.chat.completions.create(
model="claude-fable-5",
messages=[{"role": "user", "content": "Explain the tradeoffs of event sourcing in two paragraphs."}],
)
print(response.choices[0].message.content)Même tarification 10 $ / 50 $ par 1M qu'en appelant Anthropic directement, facturée sur les crédits Velokey, avec une seule clé pour tous les modèles que vous utilisez — et sans la configuration spécifique à Anthropic. C'est le chemin le plus rapide vers un appel Fable 5 fonctionnel. Le reste de ce guide couvre la voie Anthropic directe et les particularités de requête qui l'accompagnent, que l'endpoint compatible OpenAI lisse.
Qu'est-ce qui casse quand vous appelez Claude Fable 5 comme un modèle plus ancien ?
En appelant Anthropic directement, cinq paramètres de requête qui fonctionnaient sur d'anciens modèles Claude ou GPT renvoient désormais une 400 sur Fable 5. C'est ce qui transforme un « simple remplacement » en un après-midi de débogage (et la friction que le chemin Velokey ci-dessus évite).
Paramètres qui renvoient une 400 sur Fable 5 :
| Ce à quoi vous êtes habitué | Sur Fable 5 | Correction |
|---|---|---|
temperature, top_p, top_k | 400 | Supprimez-les — orientez avec le prompt à la place |
thinking: {type:"enabled", budget_tokens: N} | 400 | Omettez-le ; utilisez output_config.effort |
thinking: {type:"disabled"} | 400 | Omettez entièrement le paramètre thinking |
Prefill de tour assistant (dernier message role:"assistant") | 400 | Utilisez output_config.format (structured outputs) |
| Toute requête depuis une organisation ZDR | 400 | Activez une rétention des données ≥ 30 jours |
*Source : documentation de l'API Claude Fable 5 d'Anthropic, 2026.*
Le modèle mental : Fable 5 a volontairement retiré les boutons d'échantillonnage et le budget de thinking fixe. Il n'y a pas de temperature=0 pour le déterminisme ni de plafond budget_tokens — vous façonnez le comportement via le prompt et plafonnez la profondeur avec effort. Si vous migrez une intégration Opus ou GPT fonctionnelle, supprimez d'abord ces paramètres, avant de toucher à quoi que ce soit d'autre.
Comment gérer les refus de Claude Fable 5 ?
Fable 5 exécute des classificateurs de sécurité qui peuvent décliner une requête — et un refus n'est pas une erreur HTTP. Il renvoie un 200 réussi avec stop_reason: "refusal" et un tableau content vide (ou partiel, en mid-stream). Le code qui lit response.content[0].text de manière inconditionnelle plantera dessus.
Deux choses à faire. Premièrement, toujours brancher sur stop_reason avant de lire le contenu. Deuxièmement, activez les fallbacks pour qu'un faux positif de refus ne se contente pas d'échouer — un travail bénin en outillage de sécurité ou en sciences de la vie peut déclencher le classificateur, donc cela compte même pour les applications légitimes :
response = client.beta.messages.create(
model="claude-fable-5",
max_tokens=16000,
betas=["server-side-fallback-2026-06-01"],
fallbacks=[{"model": "claude-opus-4-8"}], # re-served in the same call on a decline
output_config={"effort": "high"},
messages=[{"role": "user", "content": "..."}],
)
if response.stop_reason == "refusal":
# The whole chain (Fable 5 + fallback) declined — surface it, don't retry as-is
handle_refusal(response)
else:
print(next(b.text for b in response.content if b.type == "text"))Avec le paramètre fallbacks côté serveur, une requête déclinée est relancée de manière transparente sur claude-opus-4-8 dans le même appel, et la facturation est créditée pour éviter la double facturation. Un refus avant toute sortie n'est pas facturé du tout. Activez-le par défaut dans le nouveau code Fable 5 — c'est opt-in, donc sans cela un refus s'arrête simplement.
Combien coûte l'API Claude Fable 5 ?
Fable 5 coûte 10 $ par 1M de tokens d'entrée et 50 $ par 1M de tokens de sortie — environ 2× Claude Opus 4.8 (5 $ / 25 $). Il est tarifé pour le raisonnement le plus difficile et le travail agentique à long horizon, pas pour les appels quotidiens à fort volume.
Ce que coûte une seule requête :
| Modèle | 10K entrés + 2K sortis | Relatif |
|---|---|---|
claude-fable-5 | 0,20 $ | 2× |
claude-opus-4-8 | 0,10 $ | 1× |
*Calcul au token sur les tarifs publiés. Fable 5 : 10K×10 $/1M + 2K×50 $/1M = 0,20 $.*

Deux leviers maintiennent la facture raisonnable. Baissez effort à medium ou low pour le travail de routine — Fable 5 en low effort égale souvent les modèles plus anciens à leur plafond. Et utilisez le [prompt caching](/blog/claude-api-pricing-2026) pour le contexte répété ; les lectures en cache sont facturées à environ un dixième du tarif d'entrée. Une note opérationnelle supplémentaire : les requêtes uniques sur des tâches difficiles peuvent prendre plusieurs minutes, donc streamez tout ce qui a un grand max_tokens pour éviter les timeouts client :
with client.messages.stream(
model="claude-fable-5",
max_tokens=64000,
output_config={"effort": "xhigh"},
messages=[{"role": "user", "content": "..."}],
) as stream:
message = stream.get_final_message()Si vous préférez ne pas gérer directement un compte Anthropic et les paramètres de rétention de 30 jours, une passerelle unifiée comme [Velokey](/model/claude-fable-5) expose claude-fable-5 via un endpoint compatible OpenAI aux côtés d'autres modèles — vous l'appelez avec la même clé que pour tout le reste. Pour comparer Fable 5 en prix face aux autres modèles frontier, consultez notre guide de tarification de l'API Claude, la répartition des paliers GPT-5.6, et la comparaison GLM-5.2 vs GPT-5.5 vs Opus 4.8.
Questions fréquemment posées
Quel est l'ID de modèle de l'API Claude Fable 5 ?
L'ID de modèle est claude-fable-5 — la chaîne exacte, sans suffixe de date. C'est le modèle le plus capable d'Anthropic largement disponible, avec une fenêtre de contexte de 1M de tokens (par défaut et maximum) et jusqu'à 128K tokens de sortie. Appelez-le via l'API Messages (client.messages.create) avec le SDK officiel anthropic.
Pourquoi ma requête Claude Fable 5 renvoie-t-elle une 400 ?
Les causes habituelles sont les paramètres que Fable 5 a retirés : temperature, top_p, top_k, thinking: {budget_tokens}, thinking: {type:"disabled"}, ou un prefill de tour assistant — chacun renvoie une 400. Une cause distincte est une organisation en zero-data-retention, qui renvoie une 400 à chaque requête Fable 5. Supprimez les paramètres d'échantillonnage/thinking et confirmez une rétention ≥ 30 jours.
Comment contrôler la profondeur du thinking sur Claude Fable 5 ?
Utilisez output_config.effort — low, medium, high, xhigh ou max. Le thinking est toujours activé et ne peut être ni désactivé ni doté d'un budget_tokens fixe (les deux renvoient une 400). high est un défaut solide ; xhigh convient au coding et aux tâches agentiques. Pour voir un résumé de raisonnement, ajoutez thinking={"type":"adaptive","display":"summarized"}.
Combien coûte l'API Claude Fable 5 ?
10 $ par 1M de tokens d'entrée et 50 $ par 1M de tokens de sortie — environ 2× Claude Opus 4.8. Une requête de 10K en entrée / 2K en sortie coûte environ 0,20 $. Baisser effort et le prompt caching (les lectures en cache facturent ~10 % de l'entrée) sont les principaux moyens de réduire les dépenses sur le travail à fort volume.
Comment gérer un refus de Claude Fable 5 ?
Vérifiez response.stop_reason avant de lire content — un refus renvoie HTTP 200 avec stop_reason: "refusal" et un contenu vide ou partiel. Activez le paramètre fallbacks côté serveur (avec betas=["server-side-fallback-2026-06-01"]) pour qu'un refus soit re-servi sur claude-opus-4-8 dans le même appel au lieu d'échouer.
Puis-je utiliser l'API Claude Fable 5 sans compte Anthropic ?
Pas directement — Fable 5 nécessite un compte Anthropic payant avec une rétention des données de 30 jours. Vous pouvez y accéder via une passerelle d'API unifiée qui gère l'accès Anthropic en amont, de sorte que vous appelez claude-fable-5 via un endpoint compatible OpenAI sans gérer vous-même le compte ni les paramètres de rétention.
Vous voulez Claude Fable 5 sans gérer un compte Anthropic ? [Obtenez votre clé API Velokey](/model/claude-fable-5) et appelez claude-fable-5 via un endpoint compatible OpenAI — même clé, aux côtés de tous les autres modèles que vous utilisez.
*Dernière mise à jour : 13 juillet 2026. Les détails de l'API proviennent de la documentation Claude Fable 5 d'Anthropic au moment de la rédaction. La tarification, les paramètres et le comportement du modèle sont définis par Anthropic et peuvent changer — vérifiez par rapport à la documentation officielle avant de passer en production.*

