Pour utiliser l'API Claude Haiku 5.5, envoyez une requête POST à https://api.anthropic.com/v1/messages avec "model": "claude-haiku-5-5", votre clé dans l'en-tête x-api-key, et anthropic-version: 2023-06-01. Le coût est de 0,10 $/0,50 $ par million de jetons d'entrée/sortie pour les invites allant jusqu'à 100 000 jetons (0,50 $/2,50 $ au-delà de ce seuil), lit jusqu'à 1 million de jetons de contexte, écrit jusqu'à 128 000, et utilise par défaut l'effort medium avec la réflexion adaptative activée.
Anthropic a publié Haiku 5.5 le 7 octobre 2026, et c'est le premier Haiku avec des niveaux d'effort (qu'est-ce que Claude Haiku 5.5 couvre les spécifications et le positionnement). Ce guide présente un premier appel en curl, Python et TypeScript, puis l'effort, la réflexion, la mise en cache, le traitement par lots, les refus et les ensembles d'outils d'agent. Vous pouvez sauvegarder et vérifier chaque requête ci-dessous dans Apidog.
Aperçu de l'API Claude Haiku 5.5
| Paramètre | Comportement de Haiku 5.5 |
|---|---|
| ID du modèle | claude-haiku-5-5 (Bedrock : anthropic.claude-haiku-5-5) ; pas d'alias séparé |
| Prix par MTok, invites jusqu'à 100 000 jetons | 0,10 $ en entrée, 0,50 $ en sortie, 0,01 $ pour les lectures de cache |
| Prix par MTok, invites de plus de 100 000 jetons | 0,50 $ en entrée, 2,50 $ en sortie, 0,05 $ pour les lectures de cache |
| Contexte / sortie max | 1M / 128K ; 300K en lot avec l'en-tête bêta output-300k-2026-03-24 |
output_config.effort |
low, medium (par défaut), high, xhigh, max |
thinking |
adaptive par défaut ; disabled uniquement à l'effort high ou inférieur |
thinking.display |
Champ thinking vide par défaut ; summarized renvoie du texte lisible |
temperature, top_p, top_k |
Les valeurs non-par défaut renvoient 400 |
| Préremplissage de l'assistant | Renvoie 400, même avec la réflexion désactivée |
| Invite minimum pouvant être mise en cache | 512 jetons (4 096 sur Haiku 4.5) |
Sources : la page du modèle Haiku 5.5 et la documentation sur la tarification de l'API Claude.
Votre premier appel à l'API Claude Haiku 5.5
Créez une clé dans la console Claude (le guide des clés API Anthropic vous y accompagne) et exportez-la sous le nom ANTHROPIC_API_KEY. Ne collez jamais la clé directement dans le code. Ensuite, envoyez ceci :
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-haiku-5-5",
"max_tokens": 4096,
"output_config": {"effort": "medium"},
"thinking": {"type": "adaptive", "display": "summarized"},
"messages": [{"role": "user", "content": "Classify this ticket as billing, bug, or feature request: The export button times out on large projects."}]
}'
Le SDK Python récupère ANTHROPIC_API_KEY depuis l'environnement :
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-haiku-5-5",
max_tokens=4096,
output_config={"effort": "medium"},
thinking={"type": "adaptive", "display": "summarized"},
messages=[{"role": "user", "content": "Classify this ticket as billing, bug, or feature request: The export button times out on large projects."}],
)
for block in response.content:
if block.type == "thinking":
print("[thinking]", block.thinking)
elif block.type == "text":
print(block.text)
print(response.stop_reason, response.usage)
TypeScript suit la même structure :
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const response = await client.messages.create({
model: "claude-haiku-5-5",
max_tokens: 4096,
output_config: { effort: "medium" },
thinking: { type: "adaptive", display: "summarized" },
messages: [
{ role: "user", content: "Classify this ticket as billing, bug, or feature request: The export button times out on large projects." },
],
});
for (const block of response.content) {
if (block.type === "text") console.log(block.text);
}
console.log(response.stop_reason, response.usage);
Trois habitudes permettent à ce code de fonctionner. Sélectionnez les blocs de contenu par type, car une réponse peut commencer par un bloc thinking et content[0].text échoue. Laissez de la marge dans max_tokens, car les jetons de réflexion y sont inclus. Et gardez le corps de la requête propre : pas de temperature, top_p, top_k, budget_tokens ou de préremplissage d'assistant. Chacun d'eux renvoie un 400 sur ce modèle. Si vous migrez un code plus ancien, le guide Haiku 5.5 vs Haiku 4.5 répertorie chaque changement majeur avec le JSON avant/après.
Choisissez un niveau d'effort
L'effort, défini dans output_config.effort, est le principal levier pour la qualité, la latence et le coût. Le guide de conception d'invites donne ces points de départ :
low: le niveau le moins cher et le plus rapide, pour le chat, les tâches d'outils courtes et les requêtes simples à fort volume.medium: la valeur par défaut. Commencez ici pour la plupart des travaux, y compris le codage agentique.high: travail de connaissance, tâches d'agent plus longues et respect strict des instructions.xhighetmax: uniquement lorsque vos évaluations montrent un gain. Anthropic suggère d'exécuter les mêmes évaluations sur Claude Sonnet 5.5 et de comparer.
La courbe de coût est raide. Voici les propres exécutions d'Anthropic sur OSWorld 2.1 (sous-ensemble hors ligne) tirées des graphiques de lancement, avec le score à crédit partiel et le coût par tentative :
| Effort | Score | Coût par tentative |
|---|---|---|
low |
42.0% | 0,0695 $ |
medium |
53.3% | 0,1257 $ |
high |
61.3% | 0,1827 $ |
xhigh |
67.6% | 0,2792 $ |
max |
72.4% | 0,6111 $ |
Passer de xhigh à max fait plus que doubler le coût pour moins de cinq points. Le détail des benchmarks Haiku 5.5 contient les autres graphiques par niveau d'effort.
Une particularité : à xhigh dans les chats multi-tours, le modèle écrit parfois toute sa réponse dans sa pensée et termine le tour sans texte visible. Vérifiez l'absence de réponse vide avant de la montrer à un utilisateur.
Contrôler la réflexion
La réflexion adaptative est activée par défaut, et deux choses ont changé par rapport à Haiku 4.5. Premièrement, l'affichage par défaut masque le texte. Chaque bloc thinking revient avec un champ thinking vide et seulement une signature. Définissez "display": "summarized" (comme dans le premier appel) lorsque vous souhaitez des résumés lisibles dans les journaux ou une interface utilisateur. Pour réduire la réflexion, diminuez l'effort ; demander au modèle de répondre directement n'a pas suffi à l'arrêter lors des tests d'Anthropic.
Deuxièmement, vous pouvez désactiver la réflexion, mais uniquement à un niveau d'effort high ou inférieur :
{
"model": "claude-haiku-5-5",
"max_tokens": 1024,
"thinking": {"type": "disabled"},
"output_config": {"effort": "low"},
"messages": [{"role": "user", "content": "Extract the invoice number from: INV-2291, due Nov 3."}]
}
Le même corps de requête à xhigh ou max renvoie un 400. Un tool_choice forcé (any ou un outil nommé) est accepté, mais la réponse commence par l'appel de l'outil et ne contient aucun bloc de réflexion.
Pour les boucles multi-tours et d'agent, transmettez chaque bloc de réflexion tel quel et conservez l'historique en mode append-only. Modifier system, tools ou les messages précédents avant un bloc de réflexion retourné peut renvoyer un 400, et les blocs de réflexion ne fonctionnent que dans le compte qui les a produits (ou un compte qui y est lié).
Mettre en cache les invites et les tâches par lots
La mise en cache est ce qui rend Haiku 5.5 économique. Pour les invites allant jusqu'à 100 000 jetons, une lecture de cache coûte 0,01 $ par million de jetons contre 0,10 $ pour une nouvelle entrée, une écriture de cache de 5 minutes coûte 0,125 $ et une écriture d'une heure 0,20 $. L'invite minimale pouvant être mise en cache est de 512 jetons, contre 4 096 sur Haiku 4.5, donc les invites système courtes et les listes d'outils sont maintenant éligibles. Marquez le préfixe stable avec cache_control :
{
"model": "claude-haiku-5-5",
"max_tokens": 1024,
"system": [{
"type": "text",
"text": "You are a support triage assistant. <long, stable policy text here>",
"cache_control": {"type": "ephemeral"}
}],
"messages": [{"role": "user", "content": "Ticket: refund not received after 10 days."}]
}
Changer l'effort de niveau supérieur entre les requêtes invalide le cache ; l'effort par message (en-tête bêta mid-conversation-output-config-2026-07-01, API Claude et Google Cloud) le maintient. La documentation sur la mise en cache des invites couvre les TTL, et notre explication de la mise en cache des invites couvre le concept.
Pour les travaux qui peuvent attendre, l'API Message Batches réduit l'entrée et la sortie de 50 % : 0,05 $/0,25 $ pour les invites jusqu'à 100 000 jetons et 0,25 $/1,25 $ au-delà. Le traitement par lots est également la seule voie pour obtenir 300 000 jetons de sortie, avec l'en-tête bêta output-300k-2026-03-24.
Attention à la barre des 100 000 : « une invite de plus de 100 000 jetons entraîne des prix plus élevés », selon les termes d'Anthropic. Le guide de tarification de Haiku 5.5 présente des exemples des deux côtés.
Gérer le stop_reason « refusal »
Haiku 5.5 exécute des classificateurs de sécurité qui peuvent refuser une requête, et il n'a pas de solution de repli côté serveur. Une requête refusée revient avec stop_reason: "refusal", et les catégories sont cyber, frontier_llm, bio et general_harms. Si vous passez de Haiku 4.5, ces refus sont nouveaux. Envoyer la même requête à nouveau renvoie généralement un autre refus, ne réessayez donc pas aveuglément :
def run(client, messages):
response = client.messages.create(
model="claude-haiku-5-5",
max_tokens=4096,
messages=messages,
)
if response.stop_reason == "refusal":
details = getattr(response, "stop_details", None)
category = getattr(details, "category", "unknown")
log_refusal(category, messages) # votre journalisation
return {"status": "refused", "category": category}
text = "".join(b.text for b in response.content if b.type == "text")
return {"status": "ok", "text": text}
Bifurquez en fonction de stop_reason avant de lire le content, et redirigez les refus vers une personne ou un autre modèle dans votre propre code. Les équipes effectuant des travaux légitimes en sécurité ou en sciences de la vie bloqués par les classificateurs cyber ou bio peuvent postuler au Programme de Vérification Cyber ou au Programme de Vérification des Sciences de la Vie d'Anthropic.
Utilisation informatique et utilisation du navigateur
Sur l'API Claude et Google Cloud, Haiku 5.5 prend en charge l'utilisation informatique uniquement via l'ensemble d'outils computer_toolset_20260801, qui ne nécessite pas d'en-tête bêta ; déclarer computer_20250124 renvoie un 400. L'utilisation du navigateur passe par browser_toolset_20260801, que Haiku 4.5 ne prend pas en charge. Les SDK Python et TypeScript ont ajouté des classes bêta pour les deux le jour du lancement. Consultez la documentation de l'outil d'utilisation informatique pour les outils membres.
Limites de débit
Haiku 5.5 a les mêmes limites de débit que Haiku 4.5 : 1 000 requêtes, 2 millions de jetons d'entrée et 400 000 jetons de sortie par minute sur le niveau Start, jusqu'à 10 000 requêtes, 10 millions d'entrée et 2 millions de sortie sur le niveau Scale. Le niveau Priority n'est pas pris en charge. Pour la gestion des erreurs 429, consultez le guide sur les limites de débit dépassées.
Tester l'API Claude Haiku 5.5 dans Apidog
Les requêtes sauvegardées rendent les comparaisons d'effort et le débogage des refus reproductibles. Voici la configuration dans Apidog :

- Créez un environnement et ajoutez
ANTHROPIC_API_KEYcomme variable secrète. Référencez-la comme{{ANTHROPIC_API_KEY}}dans l'en-têtex-api-key, à côté deanthropic-version: 2023-06-01etcontent-type: application/json. - Créez une requête POST vers
https://api.anthropic.com/v1/messages, collez le corps de la première requête et sauvegardez-la. - Ajoutez des assertions : le statut est 200,
$.stop_reasonest égal àend_turn,$.usage.output_tokensest supérieur à 0, et$.content[*].typecontienttext. Un refus ou une réponsexhighvide fera désormais échouer le test au lieu de passer inaperçu. - Dupliquez la requête quatre fois avec
low,high,xhighetmax, et exécutez le dossier. Vous obtiendrez l'utilisation pour chaque niveau d'effort sur votre propre invite. - Ajoutez la variante d'invite système mise en cache et assurez-vous que
$.usage.cache_read_input_tokensest supérieur à 0 lors de la deuxième exécution.
Pour des schémas plus larges, consultez le test des applications LLM.
FAQ
Quel est l'ID du modèle Claude Haiku 5.5 ? claude-haiku-5-5, sans suffixe de date et sans alias séparé, sur l'API Claude, Google Cloud, Microsoft Foundry et la Plateforme Claude sur AWS. Sur Amazon Bedrock, c'est anthropic.claude-haiku-5-5.
Existe-t-il une API Claude Haiku 5.5 gratuite ? Il n'y a pas de niveau gratuit permanent, mais les nouveaux utilisateurs de l'API reçoivent un petit montant de crédit gratuit pour tester l'API. Les utilisateurs gratuits de Claude.ai peuvent sélectionner Haiku 5.5 dans le chat, mais ce n'est pas une clé API. Les plans Max et Équipe incluent désormais des crédits API mensuels. Le guide d'accès gratuit couvre ce qui est inclus et ce qui ne l'est pas.
Pourquoi ma requête Haiku 4.5 renvoie-t-elle 400 ? Vérifiez la présence de budget_tokens, d'une temperature ou top_p non-par défaut, de tout top_k, d'un préremplissage d'assistant, ou de l'ancien outil computer_20250124. Ce sont les causes habituelles.
Puis-je utiliser Haiku 5.5 dans Claude Code ? Oui, à partir de la v2.1.293. Sur l'API Anthropic, l'alias haiku résout en Haiku 5.5. Voir Claude Haiku 5.5 dans Claude Code.
Dois-je utiliser Haiku 5.5 ou Sonnet 5.5 pour le codage agentique ? Anthropic indique que Sonnet 5.5 et Opus 5.5 « restent de meilleurs choix pour les tâches de codage agentique complexes ». Utilisez Haiku 5.5 pour les tâches à portée limitée : classification, résumé, compaction, sous-agents et utilisation du navigateur.
Étape suivante
Envoyez la première requête avec l'effort medium, puis réexécutez-la avec low et high sur une invite de votre propre charge de travail et comparez usage.output_tokens et la qualité de la réponse. Téléchargez Apidog pour conserver les trois exécutions avec des assertions, de sorte que la prochaine version du modèle ne nécessite qu'une modification de champ.
