Comment utiliser l'API Claude Haiku 5.5

Guide de l'API Claude Haiku 5.5 : premier appel avec claude-haiku-5-5 en curl, Python et TypeScript, plus l'effort, la réflexion, la mise en cache, le traitement par lots et les refus.

INEZA Felin-Michel

INEZA Felin-Michel

8 October 2026

Comment utiliser l'API Claude Haiku 5.5

Apidog pour les entreprises

Déploiement sur site

SSO & RBAC

Conforme SOC 2

Découvrir Apidog Enterprise

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.

button

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 :

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 :

  1. Créez un environnement et ajoutez ANTHROPIC_API_KEY comme variable secrète. Référencez-la comme {{ANTHROPIC_API_KEY}} dans l'en-tête x-api-key, à côté de anthropic-version: 2023-06-01 et content-type: application/json.
  2. 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.
  3. Ajoutez des assertions : le statut est 200, $.stop_reason est égal à end_turn, $.usage.output_tokens est supérieur à 0, et $.content[*].type contient text. Un refus ou une réponse xhigh vide fera désormais échouer le test au lieu de passer inaperçu.
  4. Dupliquez la requête quatre fois avec low, high, xhigh et max, et exécutez le dossier. Vous obtiendrez l'utilisation pour chaque niveau d'effort sur votre propre invite.
  5. Ajoutez la variante d'invite système mise en cache et assurez-vous que $.usage.cache_read_input_tokens est 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.

button

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API