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.
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ètre | Type / obligatoire | Contraintes et valeurs par défaut officielles |
|---|---|---|
model | string, obligatoire | claude-sonnet-5-5. |
max_tokens | integer, obligatoire | 0–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. |
messages | tableau d’objets, obligatoire | Au 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. |
system | string ou tableau de blocs de texte | Instructions de premier niveau. Les blocs de texte peuvent inclure des points d’arrêt de cache. |
thinking | object | Valeur par défaut : {"type":"adaptive"}. L’autre mode pris en charge est {"type":"between_tools"}. Les budgets manuels et disabled sont rejetés. |
thinking.display | enum | Mode 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_binding | object, beta | Mode adaptatif uniquement. Nécessite thinking-binding-controls-2026-08-01. Suivez la spécification officielle de conservation de la réflexion. |
output_config.effort | enum ou null | low, medium, high, xhigh, max ; la valeur par défaut est high. Null laisse la valeur par défaut s’appliquer. |
output_config.format | object ou null | Sortie JSON structurée : {"type":"json_schema","schema":{...}}. Utilisez le sous-ensemble de JSON Schema pris en charge. |
stream | boolean | La valeur par défaut est false ; true renvoie des événements SSE. |
stop_sequences | tableau de string | Officiellement, arrête la génération lorsqu’une chaîne correspond. Le test de compatibilité actuel n’a pas appliqué ce comportement. |
temperature | number ou null | Seule la valeur 1 est acceptée à des fins de compatibilité. Omettez ce paramètre. Toute autre valeur non null est rejetée. |
top_p | number ou null | Seules les valeurs 0.99–1 sont acceptées à des fins de compatibilité. Omettez ce paramètre. |
top_k | aucune valeur autre que null | L’échantillonnage n’est pas pris en charge. Omettez cette propriété. |
tools | tableau d’objets | Les 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_choice | object | auto (par défaut) ou none. any et un tool nommé imposé sont rejetés. auto peut inclure disable_parallel_tool_use. |
metadata.user_id | string ou null | Au maximum 512 caractères. Utilisez un identifiant opaque. |
cache_control | object ou null | type: "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. |
diagnostics | object ou null | previous_message_id : chaîne de 256 caractères au maximum, ou null. Demande un diagnostic des divergences du cache. |
service_tier | enum | auto (par défaut) ou standard_only. |
speed | enum ou null | Omettez ce paramètre ou utilisez standard / null. Sonnet 5.5 ne prend pas en charge fast. |
inference_geo | string ou null | La 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. |
fallbacks | string, 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_token | string, object ou null | Un 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. |
container | string, object ou null | ID 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_management | object ou null | Configuration 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_servers | tableau d’objets | Dé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. |
compaction | object 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.effort | enum, beta | Effort 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ésultat | Comportement 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èle | Budgets 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 établi | Les 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é connue | max_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 à examiner | Une 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.
