Claude Opus 5.5 est disponible sur SeedRouter
SeedRouter Docs

Claude Sonnet 5.5

Référence Messages de Claude Sonnet 5.5 : paramètres officiels, réflexion adaptative et entre appels d’outils, utilisation du cache de prompts, champs de réponse et limites de compatibilité testées.

View Markdown

Utilisez claude-sonnet-5-5 avec le format Anthropic Messages. Ce document distingue la spécification officielle des requêtes du comportement observé lors des tests de compatibilité. Certaines options avancées ne fonctionnent pas encore comme prévu par la spécification. Consultez les limites avant de vous y fier.

Consultez la page du modèle pour connaître les tarifs actuels des entrées, des sorties et du cache.

Démarrage rapide

curl https://api.seedrouter.ai/v1/messages \
  -H "x-api-key: $SEEDROUTER_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Explain how a rainbow forms in three sentences."}]
  }'

POST /v1/messages accepte l’authentification par x-api-key ou Bearer, ainsi que anthropic-version: 2023-06-01. Envoyez un en-tête anthropic-beta pour les fonctionnalités dont la documentation officielle l’exige. Conservez les identifiants d’accès dans le code côté serveur.

Le modèle accepte également les requêtes de base OpenAI Chat Completions (POST /v1/chat/completions) et Responses (POST /v1/responses). Utilisez Messages pour les paramètres natifs décrits ci-dessous. La conversion du format OpenAI ne donne pas accès à toutes les fonctionnalités d’Anthropic.

Spécification officielle des paramètres

Sonnet 5.5 dispose d’une fenêtre de contexte de 1M tokens et d’une limite de sortie synchrone de 128000 tokens. Les limites de sortie propres à Batch ne s’appliquent pas à cet endpoint. Sauf indication contraire dans le tableau, l’application ne définit pas de valeur par défaut pour les propriétés facultatives.

ParamètreType / obligatoireContraintes et valeurs par défaut officielles
modelstring, obligatoireclaude-sonnet-5-5.
max_tokensinteger, obligatoire0–128000, tokens de réflexion compris. Officiellement, 0 remplit le cache de prompts sans générer de sortie. Consultez la limite actuelle ci-dessous.
messagestableau d’objets, obligatoireAu moins un message de conversation, au maximum 100000. Chaque message contient role et content ; content est une chaîne ou un tableau de blocs de contenu. Les tours ordinaires utilisent user/assistant. Les messages system en cours de conversation suivent les règles officielles de placement.
systemstring ou tableau de blocs de texteInstructions de premier niveau. Les blocs de texte peuvent inclure des points d’arrêt de cache.
thinkingobjectValeur par défaut : {"type":"adaptive"}. L’autre mode pris en charge est {"type":"between_tools"}. Les budgets manuels et disabled sont rejetés.
thinking.displayenumMode adaptatif uniquement : omitted (par défaut) ou summarized. L’absence de résumé ne signifie pas que la réflexion est désactivée.
thinking.block_bindingobject, betaMode adaptatif uniquement. Nécessite thinking-binding-controls-2026-08-01. Suivez la spécification officielle de conservation de la réflexion.
output_config.effortenum ou nulllow, medium, high, xhigh, max ; la valeur par défaut est high. Null laisse la valeur par défaut s’appliquer.
output_config.formatobject ou nullSortie JSON structurée : {"type":"json_schema","schema":{...}}. Utilisez le sous-ensemble de JSON Schema pris en charge.
streambooleanLa valeur par défaut est false ; true renvoie des événements SSE.
stop_sequencestableau de stringOfficiellement, arrête la génération lorsqu’une chaîne correspond. Le test de compatibilité actuel n’a pas appliqué ce comportement.
temperaturenumber ou nullSeule la valeur 1 est acceptée à des fins de compatibilité. Omettez ce paramètre. Toute autre valeur non null est rejetée.
top_pnumber ou nullSeules les valeurs 0.99–1 sont acceptées à des fins de compatibilité. Omettez ce paramètre.
top_kaucune valeur autre que nullL’échantillonnage n’est pas pris en charge. Omettez cette propriété.
toolstableau d’objetsLes outils clients comportent name, input_schema et des paramètres facultatifs de description ou de mode strict. Les outils serveur utilisent leurs définitions officielles versionnées.
tool_choiceobjectauto (par défaut) ou none. any et un tool nommé imposé sont rejetés. auto peut inclure disable_parallel_tool_use.
metadata.user_idstring ou nullAu maximum 512 caractères. Utilisez un identifiant opaque.
cache_controlobject ou nulltype: "ephemeral" ; ttl: "5m" (par défaut) ou "1h". Sonnet 5.5 nécessite au moins 512 tokens pouvant être mis en cache. L’API officielle prend aussi en charge les points d’arrêt de mise en cache des prompts au niveau des blocs.
diagnosticsobject ou nullprevious_message_id : chaîne de 256 caractères au maximum, ou null. Demande un diagnostic des divergences du cache.
service_tierenumauto (par défaut) ou standard_only.
speedenum ou nullOmettez ce paramètre ou utilisez standard / null. Sonnet 5.5 ne prend pas en charge fast.
inference_geostring ou nullLa valeur par défaut officielle provient des paramètres du compte. L’acceptation d’une requête ne suffit pas à vérifier le lieu géographique du traitement.
fallbacksstring, tableau d’objets ou null, beta"default" ou jusqu’à trois entrées de repli. Chacune nécessite model ; les remplacements facultatifs sont max_tokens, thinking, output_config et speed. Consultez les règles de repli ci-dessous.
fallback_credit_tokenstring, object ou nullUn token provenant d’un refus antérieur, ou {"token":"...","mode":"strict"}. La forme objet nécessite fallback-credit-2026-07-01 ; mode vaut strict (par défaut) ou best_effort. Ne peut pas accompagner une valeur non null de fallbacks.
containerstring, object ou nullID du conteneur, ou configuration du conteneur avec les propriétés facultatives id et skills (au maximum 20). Les Skills utilisent les champs officiels de type, d’identifiant et de version.
context_managementobject ou nullConfiguration officielle de modification du contexte, notamment edits ; null omet ce réglage. Les règles de compatibilité des modifications propres au modèle continuent de s’appliquer.
mcp_serverstableau d’objetsDéfinitions officielles de serveurs MCP, soumises aux exigences de version beta et d’authentification du serveur. Un test avec un tableau vide ne vérifie pas l’exécution MCP distante.
compactionobject ou null, beta{"type":"summarize"}, avec compact-2026-09-04 ; null omet la compaction. La compaction activée ne peut pas être combinée avec une valeur non null de context_management, des séquences d’arrêt ou un format de sortie structurée. Le comportement de compaction signée n’a pas réussi le test actuel.
messages[].output_config.effortenum, betaEffort par message défini sur un message system ; nécessite mid-conversation-output-config-2026-07-01. Les messages system définissant uniquement l’effort peuvent apparaître n’importe où. Les groupes system avec du contenu suivent les règles officielles de placement. Ce paramètre ne doit pas modifier l’effort en mode between_tools.

between_tools accepte uniquement sa propriété type et les niveaux d’effort low, medium ou high. N’envoyez pas display, budget_tokens ou block_binding avec ce mode. Exemple :

{
  "model": "claude-sonnet-5-5",
  "max_tokens": 1024,
  "thinking": {"type": "between_tools"},
  "output_config": {"effort": "medium"},
  "messages": [{"role": "user", "content": "Explain this concept briefly."}]
}

Le préremplissage de l’assistant n’est pas pris en charge. Pour poursuivre un pause_turn, renvoyez à l’identique le contenu assistant de l’outil serveur reçu dans la réponse. La compaction résume l’historique existant et ne constitue pas un préremplissage de l’assistant. Conservez exactement les blocs de réflexion et leurs signatures. Ne les déplacez pas entre modèles et ne modifiez pas l’historique antérieur sans respecter les règles officielles de liaison.

Sur l’API Claude native, l’utilisation de l’ordinateur nécessite computer_toolset_20260801 ; computer_20251124 est rejeté. Les configurations Advisor utilisant claude-opus-4-8, claude-opus-4-7 ou claude-sonnet-5 sont également rejetées pour ce modèle exécutant.

Champs de requête de repli

La fonctionnalité beta officielle fallbacks relance les requêtes faisant l’objet d’un refus du classificateur admissible à une nouvelle tentative. Elle ne relance pas les requêtes en cas de limitation de débit, de surcharge ou d’erreur serveur, et le refus peut persister. Envoyez server-side-fallback-2026-07-01 pour utiliser "default" ou une liste explicite ; server-side-fallback-2026-06-01 ne prend en charge que la liste. Les autres versions datées sont rejetées.

Une liste explicite contient au maximum trois entrées avec des modèles distincts, tous différents du modèle demandé. Les cibles autorisées proviennent de allowed_fallback_models dans la beta Models API. Seuls model, max_tokens, thinking, output_config et speed sont permis par entrée ; les valeurs de remplacement doivent être valides pour le modèle cible. Lors du repli concerné, la beta de juillet convertit between_tools de Sonnet 5.5 en disabled pour Sonnet 5, sans display. Avec la beta de juin, fournissez vous-même le remplacement du réglage de réflexion de Sonnet 5.

fallback_credit_token sert à une nouvelle tentative distincte après un refus. Une chaîne sélectionne l’utilisation stricte du crédit ; un objet ajoute mode. En mode strict, l’échec de l’utilisation du crédit entraîne le rejet de la nouvelle tentative. En mode best_effort, une défaillance au niveau du token peut laisser la requête se poursuivre au tarif normal et est consignée dans usage.fallback_credit. Les tokens mal formés et l’utilisation du crédit avec fallbacks échouent toujours. L’utilisation du crédit exige aussi de respecter les conditions relatives à la requête admissible, au compte, à l’espace de travail, à la plateforme et à la fenêtre de cinq minutes décrites dans le guide officiel du crédit.

Une requête au contenu inoffensif avec fallbacks: "default", l’en-tête beta de juillet et speed: "standard" a renvoyé le texte attendu. Cela établit uniquement que la requête a été acceptée : l’exécution du repli et l’utilisation du crédit n’ont pas été vérifiées de bout en bout ici.

Entrées média et outils

Les images utilisent des blocs image et les PDF des blocs document dans un message utilisateur. Les types de source officiels comprennent les URL publiques et le base64 avec le type MIME correspondant. Les contrôles de compatibilité ont utilisé un PNG en base64 et un PDF d’une page en base64, puis vérifié le contenu des réponses. Ils n’ont pas testé toutes les URL ni toutes les limites de taille des fichiers, de résolution des images ou de nombre de pages PDF.

Les outils côté client utilisent l’échange standard tool_use → tool_result. Conservez les identifiants d’utilisation des outils et renvoyez le résultat dans un message utilisateur. La réussite d’un exemple d’outil en mode strict vérifie les arguments de cet exemple, pas tous les mots-clés JSON Schema pris en charge.

Réponses

Une réponse sans streaming contient id, type: "message", role: "assistant", model, content, stop_reason, stop_sequence et usage, ainsi que des champs officiels facultatifs tels que container, diagnostics, context_management, stop_details et les champs de réponse beta. Le contenu peut inclure du texte, de la réflexion, des appels d’outils, des résultats d’outils ou d’autres types de blocs officiels. Ne supposez pas que le premier bloc contient du texte.

En streaming, gérez message_start, content_block_start, content_block_delta, content_block_stop, message_delta et message_stop. Des erreurs peuvent également survenir au sein du flux. L’utilisation peut comprendre les tokens ordinaires d’entrée/sortie, le détail des tokens de réflexion, les lectures du cache et les décomptes distincts de création de cache pour les durées de 5 minutes / 1 heure.

Un refus officiel du classificateur est une réponse normale avec stop_reason: "refusal" et stop_details, plutôt qu’une erreur HTTP. Dans une réponse de repli, model identifie le modèle qui a répondu, les blocs de contenu fallback marquent les transitions et usage.iterations décrit les tentatives. Examinez ces champs au lieu de supposer que le modèle demandé a fourni la réponse. Ces comportements de réponse restent non vérifiés ici.

Les erreurs Messages utilisent {"type":"error","error":{"type":"...","message":"..."}}. Les requêtes échouées ne sont pas facturées.

Vérification de compatibilité : 2026-10-01

RésultatComportement vérifié
Fonctionnement observéTexte simple, rappel du contexte dans des conversations ordinaires à plusieurs tours, instructions système sans conflit sous forme de chaîne/bloc, streaming, requêtes de réflexion adaptative et entre appels d’outils, sortie JSON, outils auto/none, un appel d’outil en mode strict, renvoi du résultat d’outil, entrées image/PDF en base64 et utilisation en écriture/lecture du cache 5m/1h.
Rejet conforme à la spécification du modèleBudgets de tokens de sortie invalides, réglages d’échantillonnage supprimés, réflexion manuelle/désactivée, combinaisons between-tools invalides, outils imposés, préremplissage de l’assistant, anciens outils d’utilisation de l’ordinateur et identifiants metadata trop longs.
Accepté, effet non établiLes cinq niveaux d’effort, réflexion résumée, réglages de liaison, metadata, niveau de service, choix de région, diagnostics, liste vide de modifications du contexte, conteneur null, liste MCP vide et déclaration d’un ensemble d’outils pour l’ordinateur. La déclaration de cet ensemble ne prouve pas la réussite de l’utilisation de l’ordinateur.
Incompatibilité connuemax_tokens: 0 a renvoyé 400. Une requête avec séquence d’arrêt a renvoyé la chaîne d’arrêt et le texte qui la suivait. La compaction à la demande a renvoyé du texte ordinaire au lieu d’un bloc de compaction signé.
Autres comportements à examinerUne requête avec effort par message n’a pas rappelé la valeur précédente ; un test avec des instructions système/utilisateur contradictoires a suivi l’instruction utilisateur. Ces résultats n’établissent pas que tous les prompts système ou toutes les requêtes à plusieurs tours échouent.

L’exécution d’outils beta, les connexions MCP réelles, les références Files API, la résidence géographique des données, le renvoi des signatures de réflexion, les plafonds complets de contexte/sortie, les cas limites des médias et le comportement de refus/repli n’ont pas été validés de bout en bout. Un code HTTP 200 et le nom de modèle renvoyé ne permettent pas d’authentifier le modèle réellement exécuté ni de prouver que toutes les options fournies ont pris effet.

Références