Claude Sonnet 5.5
Referência de Messages do Claude Sonnet 5.5: parâmetros oficiais, pensamento adaptativo e entre chamadas de ferramentas, uso de cache, campos de resposta e limites de compatibilidade testados.
Use claude-sonnet-5-5 com o formato Anthropic Messages. Este documento distingue a especificação oficial das solicitações do comportamento observado nos testes de compatibilidade. Algumas opções avançadas ainda não funcionam conforme a especificação; confira as limitações antes de depender delas.
Consulte a página do modelo para ver os preços atuais de entrada, saída e cache.
Início rápido
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 aceita autenticação por x-api-key ou Bearer e anthropic-version: 2023-06-01. Envie um cabeçalho anthropic-beta para os recursos cuja documentação oficial o exige. Mantenha as credenciais no código do servidor.
O modelo também aceita solicitações básicas de OpenAI Chat Completions (POST /v1/chat/completions) e Responses (POST /v1/responses). Use Messages para os parâmetros nativos descritos abaixo; a conversão do formato OpenAI não oferece todos os recursos da Anthropic.
Especificação oficial dos parâmetros
O Sonnet 5.5 tem uma janela de contexto de 1M tokens e um limite de saída síncrona de 128000 tokens. Os limites de saída específicos de Batch não se aplicam a este endpoint. A aplicação não define valores padrão para propriedades opcionais, salvo indicação contrária na tabela.
| Parâmetro | Tipo / obrigatório | Restrições e valores padrão oficiais |
|---|---|---|
model | string, obrigatório | claude-sonnet-5-5. |
max_tokens | integer, obrigatório | 0–128000, incluindo tokens de pensamento. Oficialmente, 0 preenche o cache de prompts sem gerar saída; veja a limitação atual abaixo. |
messages | array de objetos, obrigatório | No mínimo uma mensagem de conversa, no máximo 100000. Cada mensagem tem role e content; content é uma string ou um array de blocos de conteúdo. Os turnos comuns usam user/assistant. Mensagens system no decorrer da conversa seguem as regras oficiais de posicionamento. |
system | string ou array de blocos de texto | Instruções no nível superior. Os blocos de texto podem incluir pontos de interrupção do cache. |
thinking | object | Padrão: {"type":"adaptive"}. O outro modo compatível é {"type":"between_tools"}. Orçamentos manuais e disabled são rejeitados. |
thinking.display | enum | Somente no modo adaptativo: omitted (padrão) ou summarized. Omitir o resumo não significa desativar o pensamento. |
thinking.block_binding | object, beta | Somente no modo adaptativo. Exige thinking-binding-controls-2026-08-01; siga a especificação oficial para preservar o pensamento. |
output_config.effort | enum ou null | low, medium, high, xhigh, max; o padrão é high. Null mantém o comportamento padrão. |
output_config.format | object ou null | Saída JSON estruturada: {"type":"json_schema","schema":{...}}. Use o subconjunto compatível de JSON Schema. |
stream | boolean | O padrão é false; true retorna eventos SSE. |
stop_sequences | array de strings | Oficialmente, interrompe a geração ao encontrar uma string correspondente. Esse comportamento não foi aplicado no teste de compatibilidade atual. |
temperature | number ou null | Apenas 1 é aceito por compatibilidade; omita o parâmetro. Outros valores diferentes de null são rejeitados. |
top_p | number ou null | Apenas 0.99–1 é aceito por compatibilidade; omita o parâmetro. |
top_k | nenhum valor diferente de null | Não há suporte a amostragem; omita esta propriedade. |
tools | array de objetos | As ferramentas do cliente têm name, input_schema e configurações opcionais de descrição ou modo estrito. As ferramentas do servidor usam suas definições oficiais com versão. |
tool_choice | object | auto (padrão) ou none. any e um tool forçado pelo nome são rejeitados. auto pode incluir disable_parallel_tool_use. |
metadata.user_id | string ou null | No máximo 512 caracteres; use um identificador opaco. |
cache_control | object ou null | type: "ephemeral"; ttl: "5m" (padrão) ou "1h". O Sonnet 5.5 exige pelo menos 512 tokens que possam ser armazenados em cache. A API oficial também aceita pontos de interrupção do cache no nível dos blocos. |
diagnostics | object ou null | previous_message_id: string de no máximo 256 caracteres ou null. Solicita diagnósticos de divergência do cache. |
service_tier | enum | auto (padrão) ou standard_only. |
speed | enum ou null | Omita ou use standard / null. O Sonnet 5.5 não aceita fast. |
inference_geo | string ou null | O padrão oficial vem das configurações da conta. A aceitação da solicitação, por si só, não comprova a localização geográfica do processamento. |
fallbacks | string, array de objetos ou null, beta | "default" ou até três entradas de fallback. Cada uma exige model; os parâmetros que você pode sobrescrever opcionalmente são max_tokens, thinking, output_config e speed. Consulte as regras de fallback abaixo. |
fallback_credit_token | string, object ou null | Um token recebido em uma recusa anterior, ou {"token":"...","mode":"strict"}. O formato de objeto exige fallback-credit-2026-07-01; mode é strict (padrão) ou best_effort. Não pode acompanhar um valor de fallbacks diferente de null. |
container | string, object ou null | ID do contêiner ou configuração do contêiner com id e skills opcionais (no máximo 20). As Skills usam os campos oficiais de tipo, identificador e versão. |
context_management | object ou null | Configuração oficial de edição do contexto, incluindo edits; null omite a configuração. As restrições de compatibilidade de edição específicas do modelo continuam válidas. |
mcp_servers | array de objetos | Definições oficiais de servidores MCP, sujeitas aos requisitos de versão beta e autenticação do servidor. Um teste com array vazio não verifica a execução remota de MCP. |
compaction | object ou null, beta | {"type":"summarize"}, com compact-2026-09-04; null omite a compactação. Quando ativada, a compactação não pode ser combinada com um valor de context_management diferente de null, sequências de parada ou formato de saída estruturada. O comportamento de compactação assinada não passou no teste atual. |
messages[].output_config.effort | enum, beta | Esforço por mensagem definido em uma mensagem system; exige mid-conversation-output-config-2026-07-01. Mensagens system que definem apenas o esforço podem aparecer em qualquer posição; grupos system com conteúdo seguem as regras oficiais de posicionamento. Esse parâmetro não deve alterar o esforço no modo between_tools. |
between_tools aceita somente sua propriedade type e os níveis de esforço low, medium ou high. Não envie display, budget_tokens ou block_binding com esse modo. Exemplo:
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"thinking": {"type": "between_tools"},
"output_config": {"effort": "medium"},
"messages": [{"role": "user", "content": "Explain this concept briefly."}]
}O preenchimento prévio do assistente não é compatível. Para continuar um pause_turn, reenvie sem alterações o conteúdo assistant da ferramenta do servidor retornado na resposta. A compactação resume o histórico existente e não é um preenchimento prévio do assistente. Preserve exatamente os blocos de pensamento e suas assinaturas; não os transfira entre modelos nem edite o histórico anterior sem seguir as regras oficiais de vinculação.
Na API nativa do Claude, o uso do computador exige computer_toolset_20260801; computer_20251124 é rejeitado. Configurações Advisor que usam claude-opus-4-8, claude-opus-4-7 ou claude-sonnet-5 também são rejeitadas para esse modelo executor.
Campos de solicitação de fallback
O recurso beta oficial fallbacks faz novas tentativas para recusas do classificador que atendem aos critérios. Ele não tenta novamente em casos de limites de taxa, sobrecarga ou erros do servidor, e a recusa pode persistir. Envie server-side-fallback-2026-07-01 para usar "default" ou uma lista explícita; server-side-fallback-2026-06-01 aceita somente a lista. Outras versões datadas são rejeitadas.
Uma lista explícita contém no máximo três entradas com modelos distintos, nenhum igual ao modelo solicitado. Os destinos permitidos vêm de allowed_fallback_models da beta Models API. Cada entrada permite apenas model, max_tokens, thinking, output_config e speed; os valores sobrescritos devem ser válidos para o modelo de destino. Quando esse fallback ocorre, a beta de julho converte between_tools do Sonnet 5.5 em disabled do Sonnet 5, com display omitido. Com a beta de junho, você precisa fornecer a substituição da configuração de pensamento do Sonnet 5.
fallback_credit_token serve para uma nova tentativa separada após uma recusa. Uma string seleciona o resgate estrito; um objeto acrescenta mode. No modo strict, uma falha no resgate rejeita a nova tentativa. No modo best_effort, uma falha na camada do token pode permitir que a solicitação prossiga pelo preço normal e fica registrada em usage.fallback_credit; tokens malformados e a combinação de crédito com fallbacks continuam falhando. O resgate também exige os critérios de solicitação, conta, workspace, plataforma e janela de cinco minutos descritos no guia oficial do crédito.
Uma solicitação com conteúdo inofensivo usando fallbacks: "default", o cabeçalho beta de julho e speed: "standard" retornou o texto esperado. Isso comprova somente a aceitação da solicitação: a execução do fallback e o resgate do crédito não foram verificados de ponta a ponta aqui.
Entradas de mídia e ferramentas
Imagens usam blocos image e PDFs usam blocos document em uma mensagem do usuário. Os tipos oficiais de origem incluem URLs públicas e base64 com o tipo MIME correspondente. As verificações de compatibilidade usaram um PNG em base64 e um PDF de uma página em base64, e conferiram o conteúdo das respostas. Elas não testaram todas as URLs nem todos os limites de tamanho de arquivo, resolução de imagem ou quantidade de páginas PDF.
As ferramentas do cliente usam a troca padrão tool_use → tool_result. Mantenha os IDs de uso das ferramentas inalterados e devolva o resultado em uma mensagem do usuário. Um exemplo bem-sucedido de ferramenta em modo estrito verifica os argumentos daquele exemplo, não todas as palavras-chave compatíveis de JSON Schema.
Respostas
Uma resposta sem streaming contém id, type: "message", role: "assistant", model, content, stop_reason, stop_sequence e usage, além de campos oficiais opcionais, como container, diagnostics, context_management, stop_details e campos de resposta beta. O conteúdo pode incluir texto, pensamento, chamadas de ferramentas, resultados de ferramentas ou outros tipos de bloco oficiais; não presuma que o primeiro bloco seja texto.
No streaming, trate message_start, content_block_start, content_block_delta, content_block_stop, message_delta e message_stop. Erros também podem ocorrer dentro do fluxo. O uso pode incluir tokens comuns de entrada/saída, detalhes dos tokens de pensamento, leituras de cache e contagens separadas de criação de cache para durações de 5 minutos / 1 hora.
Uma recusa oficial do classificador é uma resposta normal com stop_reason: "refusal" e stop_details, em vez de um erro HTTP. Em uma resposta de fallback, model identifica o modelo que respondeu, os blocos de conteúdo fallback indicam as transições e usage.iterations descreve as tentativas. Confira esses campos em vez de presumir que o modelo solicitado produziu a resposta. Esses comportamentos de resposta ainda não foram verificados aqui.
Os erros de Messages usam {"type":"error","error":{"type":"...","message":"..."}}. Solicitações que falham não são cobradas.
Verificação de compatibilidade: 2026-10-01
| Resultado | Comportamento verificado |
|---|---|
| Funcionamento observado | Texto básico, recuperação de informações anteriores em conversas comuns com vários turnos, instruções de sistema sem conflitos em formato de string/bloco, streaming, solicitações de pensamento adaptativo e entre chamadas de ferramentas, saída JSON, ferramentas auto/none, uma chamada de ferramenta em modo estrito, reenvio de resultados de ferramentas, entradas de imagem/PDF em base64 e uso de escrita/leitura de cache de 5m/1h. |
| Rejeitado conforme a especificação do modelo | Orçamentos inválidos de tokens de saída, configurações de amostragem removidas, pensamento manual/desativado, combinações between-tools inválidas, ferramentas forçadas, preenchimento prévio do assistente, ferramentas de computador antigas e IDs de metadata longos demais. |
| Aceito, efeito não comprovado | Todos os cinco níveis de esforço, pensamento resumido, configurações de vinculação, metadata, nível de serviço, seleção de região, diagnósticos, lista vazia de edições de contexto, contêiner null, lista MCP vazia e declaração de um conjunto de ferramentas de computador. Declarar esse conjunto não comprova o sucesso do uso do computador. |
| Divergência conhecida | max_tokens: 0 retornou 400. Uma solicitação com sequência de parada retornou a string de parada e o texto seguinte. A compactação sob demanda retornou texto comum em vez de um bloco de compactação assinado. |
| Outros comportamentos que precisam de investigação | Uma solicitação com esforço por mensagem não recordou o valor anterior; um teste com instruções conflitantes de sistema/usuário seguiu a instrução do usuário. Esses resultados não demonstram que todos os prompts de sistema ou solicitações com vários turnos falhem. |
A execução de ferramentas beta, conexões MCP reais, referências da Files API, residência geográfica dos dados, reenvio de assinaturas de pensamento, os limites completos de contexto/saída, casos-limite de mídia e o comportamento de recusa/fallback não foram validados de ponta a ponta. HTTP 200 e o nome do modelo retornado não autenticam qual modelo foi executado nem comprovam que todas as opções enviadas tiveram efeito.
