Claude Opus 5.5 já está disponível no SeedRouter
LogoSeedRouter

Busque modelos pelo nome, ex.: 'nano banana'

Busque modelos pelo nome, ex.: 'nano banana'

Text

Claude Haiku 5.5

View Markdown

Referência Messages do Claude Haiku 5.5: parâmetros, pensamento, ferramentas forçadas, cache, recursos beta, streaming e tratamento de respostas.

Use claude-haiku-5-5 com POST https://api.seedrouter.ai/v1/messages. O modelo aceita texto, imagens e documentos e retorna texto ou solicitações de ferramentas. A página do modelo mostra as tarifas atuais por token.

O contrato abaixo segue a documentação específica do modelo da Anthropic, consultada em 9 de outubro de 2026. Limites oficiais de capacidade e verificação de ponta a ponta são coisas distintas: a aceitação de um campo não comprova seu efeito pretendido. Confira os resultados de compatibilidade abaixo antes de usar opções avançadas.

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-haiku-5-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Classify this request as billing, technical or account: I was charged twice. Return only the label."}]
  }'
import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["SEEDROUTER_API_KEY"],
    base_url="https://api.seedrouter.ai",
)
message = client.messages.create(
    model="claude-haiku-5-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Summarize the purpose of a database index."}],
)
for block in message.content:
    if block.type == "text":
        print(block.text)
import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic({
  apiKey: process.env.SEEDROUTER_API_KEY,
  baseURL: 'https://api.seedrouter.ai',
});
const message = await client.messages.create({
  model: 'claude-haiku-5-5',
  max_tokens: 1024,
  messages: [{ role: 'user', content: 'Summarize the purpose of a database index.' }],
});
for (const block of message.content) {
  if (block.type === 'text') console.log(block.text);
}

Mantenha sua chave API no servidor. Selecione os blocos da resposta por type; uma resposta pode começar com pensamento ou uma chamada de ferramenta.

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io"
    "net/http"
    "os"
    "time"
)

func main() {
    body, err := json.Marshal(map[string]any{
        "model": "claude-haiku-5-5",
        "max_tokens": 1024,
        "messages": []map[string]string{
            {"role": "user", "content": "Summarize the purpose of a database index."},
        },
    })
    if err != nil { panic(err) }
    req, err := http.NewRequest("POST", "https://api.seedrouter.ai/v1/messages", bytes.NewReader(body))
    if err != nil { panic(err) }
    req.Header.Set("x-api-key", os.Getenv("SEEDROUTER_API_KEY"))
    req.Header.Set("anthropic-version", "2023-06-01")
    req.Header.Set("Content-Type", "application/json")
    client := &http.Client{Timeout: 2 * time.Minute}
    res, err := client.Do(req)
    if err != nil { panic(err) }
    defer res.Body.Close()
    data, err := io.ReadAll(res.Body)
    if err != nil { panic(err) }
    if res.StatusCode >= 400 { panic(fmt.Sprintf("HTTP %d: %s", res.StatusCode, data)) }
    fmt.Println(string(data))
}

Parâmetros da solicitação

O contrato nativo tem 25 campos de nível superior. Opcional não significa anulável: apenas as linhas que mencionam explicitamente null o aceitam. Campos desconhecidos e campos de amostragem não suportados são descartados antes do encaminhamento, conforme a política de parâmetros dos modelos de texto. Valores inválidos de campos suportados retornam invalid_request_error antes da geração.

CampoObrigatórioContrato
modelSimclaude-haiku-5-5.
max_tokensSimInteiro 0–128000, incluindo pensamento. Sem padrão na API. O Playground começa em 8192.
messagesSim1–100000 mensagens com papel e string ou array de blocos de conteúdo. Veja as regras de conversa abaixo.
systemNãoString ou array de blocos de texto. Não aceita null.
thinkingNãoadaptive por padrão, ou disabled. Sem orçamento manual e sem modo between_tools.
output_configNãoObjeto com effort, format e o campo beta opcional task_budget.
stop_sequencesNãoArray de strings de parada.
streamNãoBooleano; false por padrão.
temperatureNãoOmita. Descartado aqui; o valor oficial de compatibilidade é 1.
top_pNãoOmita. Descartado aqui; o valor oficial de compatibilidade é 0.99.
top_kNãoNão suportado e descartado.
toolsNãoArray de ferramentas de cliente ou declarações oficiais de ferramentas de servidor.
tool_choiceNãoauto, none, any ou tool nomeada. Ferramentas forçadas são suportadas.
metadataNãoObjeto; user_id opcional é uma string de até 512 caracteres ou null.
cache_controlNãoNull ou {"type":"ephemeral","ttl":"5m"}; TTL também aceita 1h. O TTL padrão é 5m.
containerNãoNull, string de ID de contêiner ou objeto com ID opcional e até 20 skills.
context_managementNãoNull ou objeto com edições oficiais de contexto; cabeçalhos beta se aplicam.
mcp_serversNãoArray de até 20 servidores URL; exige cabeçalho beta MCP correspondente.
service_tierNãoauto ou standard_only. Haiku não tem capacidade de Priority Tier.
inference_geoNãoglobal, us ou null. Omissão usa o padrão da conta; confira o uso informado antes de presumir uma região.
diagnosticsNãoNull ou objeto; previous_message_id é null ou string de até 256 caracteres.
compactionNãoNull ou {"type":"summarize","instructions":"..."}. As instruções são opcionais, anuláveis e têm no máximo 16384 caracteres.
fallbacksNãoNull ou default com o beta correspondente. Haiku não tem modelos de fallback automático; listas explícitas são inválidas.
fallback_credit_tokenNãoNull, string de token ou {token,mode}. A API deve verificar elegibilidade e validade; não presuma que qualquer modelo seja um destino elegível.
speedNãostandard ou null. Modo rápido não suportado.

O Playground oferece controles para os campos suportados, incluindo controles JSON para estruturas aninhadas. Parâmetros de amostragem e a velocidade standard fixa são omitidos do formulário. O ID do modelo é fixo nesta página. Use a prévia da solicitação JSON para conferir o corpo enviado.

Pensamento e esforço

O padrão é pensamento adaptativo com esforço medium e texto de pensamento omitido. Effort aceita low, medium, high, xhigh, max ou null para usar o padrão.

{
  "thinking": {"type": "adaptive", "display": "summarized"},
  "output_config": {"effort": "medium"}
}

Para desativar o pensamento, use {"type":"disabled"} com esforço low, medium ou high. Não inclua display nem block_binding no modo disabled. enabled, budget_tokens, between_tools e pensamento disabled com xhigh/max são inválidos.

O display adaptativo aceita omitted, summarized ou null. O valor beta genérico updates exige thinking-display-updates-2026-08-18; a Anthropic atualmente não confirma atualizações legíveis de progresso para Haiku, portanto não dependa dessa saída.

O campo opcional thinking.block_binding exige thinking-binding-controls-2026-08-01. É null ou objeto cujo prefix_mismatch_behavior é error, drop_block ou null. Mantenha os turnos anteriores da conversa e os blocos completos de pensamento inalterados ao reenviar o histórico. As assinaturas de pensamento são vinculadas à conta que as produziu ou a uma conta associada.

output_config.task_budget é null ou { "type": "tokens", "total": 20000 } com remaining inteiro/null opcional. Exige task-budgets-2026-03-13; total deve ser no mínimo 20000. Nenhuma faixa adicional de remaining é imposta aqui.

Ferramentas e saída estruturada

Ferramentas de cliente exigem um nome de 1–128 letras, dígitos, sublinhados ou hifens e um input_schema com type: "object". Use tool_choice: {"type":"any"} ou {"type":"tool","name":"lookup"} para forçar uma ferramenta declarada. Com pensamento adaptativo, uma resposta com ferramenta forçada começa na chamada de ferramenta, sem bloco de pensamento.

disable_parallel_tool_use é um booleano opcional para escolhas auto, any e tool; não é um campo de none. Devolva o resultado da ferramenta com o tool_use_id original. O Playground exibe chamadas, mas não executa suas ferramentas de cliente.

{
  "tools": [{
    "name": "lookup",
    "description": "Look up a product by SKU.",
    "input_schema": {
      "type": "object",
      "properties": {"sku": {"type": "string"}},
      "required": ["sku"],
      "additionalProperties": false
    }
  }],
  "tool_choice": {"type": "tool", "name": "lookup"}
}

Respostas estruturadas usam output_config.format: {"type":"json_schema","schema":{...}}. Siga o subconjunto de JSON Schema suportado pela Anthropic, incluindo additionalProperties: false nos objetos. Um formato válido não garante valores factualmente corretos. Ferramentas estritas e saída estruturada têm limites aplicados ao esquema inteiro; veja a referência oficial de saída estruturada.

Computer use exige computer_toolset_20260801; versões antigas da ferramenta computer são inválidas. Browser use tem seu próprio browser_toolset_20260801. Declarar uma ferramenta não verifica o funcionamento de uma sessão completa de ferramenta de servidor. Consulte o guia oficial da ferramenta e os requisitos beta antes de usá-la.

Conversas e gerenciamento de contexto

O preenchimento prévio comum do assistente não é suportado. A continuação de uma ferramenta de servidor pausada é diferente: reenvie os blocos completos do assistente conforme o protocolo Messages.

Uma mensagem de sistema com conteúdo pode aparecer após uma mensagem de usuário ou um resultado de ferramenta de servidor pausada. Deve ser seguida de uma mensagem do assistente ou ser a última mensagem. Mensagens de sistema consecutivas são avaliadas como um grupo. Não insira uma entre uma chamada de ferramenta de cliente e seu resultado obrigatório.

Uma mensagem de sistema sem conteúdo pode alterar apenas output_config.effort com mid-conversation-output-config-2026-07-01. Pode aparecer em qualquer posição. Enquanto o pensamento estiver disabled, não pode alterar o esforço efetivo. O clear_at do sistema aceita never, next_user_message ou null com mid-conversation-system-clear-at-2026-08-21; mensagens restritas ao turno aceitam apenas texto, sem configuração de saída ou cache de blocos.

As edições de contexto incluem:

EdiçãoBetaRestrições principais
clear_tool_uses_20250919context-management-2025-06-27Contagem de acionamento no mínimo 1; contagem mantida no mínimo 0.
clear_thinking_20251015context-management-2025-06-27Mantenha todos ou pelo menos um turno de pensamento. Coloque antes da limpeza de uso de ferramentas ao combinar edições.
compact_20260112compact-2026-01-12Acionamento por tokens de entrada no mínimo 50000; padrão 150000.

compaction sob demanda exige compact-2026-09-04. Não pode ser combinada com context_management, stop_sequences, formato de saída, ferramentas forçadas ou task_budget.remaining. Um bloco de compactação assinado também não pode ser combinado com task_budget.remaining ou compactação por limiar. Preserve o bloco retornado e a assinatura ao continuar.

Imagens, PDFs e tamanho da solicitação

Imagens aceitam JPEG, PNG, GIF e WebP por URL, base64 ou referência de arquivo. PDFs aceitam URL, base64 ou referência de arquivo. Referências de arquivo exigem o beta da Files API correspondente e acesso válido ao arquivo. Documentos de texto podem usar fontes de texto ou conteúdo.

O limite nativo de solicitação é 32 MB. Os limites oficiais de imagem são até 600 imagens, 10 MB de dados codificados em base64 por imagem e 8000 pixels em cada lado; solicitações com muitas imagens podem ter limites mais restritos específicos da plataforma. PDFs devem ser não criptografados e ter no máximo 600 páginas para o tamanho de contexto deste modelo. A API continua responsável por inspecionar arquivos remotos; verificações locais de formato não comprovam o conteúdo de uma URL.

O Playground envia os anexos antes de submeter as URLs. O JSON da conversa também aceita blocos nativos de conteúdo de mídia. Testes dos limites completos de tamanho de mídia e janela de contexto são distintos de uma pequena solicitação de exemplo.

Cache de prompts e cobrança

O prompt mínimo para cache do Haiku é 512 tokens. Prompts marcados menores podem ser executados sem criar entrada de cache. Use no máximo quatro pontos de cache; o controle automático de cache no nível superior ocupa uma posição. Coloque prefixos com maior duração antes dos de menor duração.

max_tokens: 0 solicita pré-aquecimento de cache sem gerar resposta. Não pode acompanhar stream: true, saída estruturada ou uso forçado de ferramenta. Mantenha as configurações de pensamento e esforço consistentes entre a preparação do cache e as solicitações que o reutilizam.

Leia usage.input_tokens, output_tokens, cache_creation_input_tokens, cache_read_input_tokens e o detalhamento 5m/1h em cache_creation. Pensamento está incluído nos tokens de saída; um detalhamento de tokens de pensamento informado não é uma cobrança extra a somar novamente. As tarifas atuais estão na seção de preços, com explicações adicionais no guia de preços.

Respostas, streaming e erros

Uma resposta concluída contém id, type: "message", role: "assistant", model, content, stop_reason, stop_sequence e usage. Os campos opcionais container, diagnostics, context_management, stop_details e input_transformations são preservados quando retornados.

Trate end_turn, max_tokens, stop_sequence, tool_use, pause_turn, compaction, refusal e model_context_window_exceeded. Uma parada por limite ou recusa não equivale a erro HTTP. Nunca presuma que o primeiro bloco de conteúdo seja texto.

Streaming usa os eventos SSE de Messages: message_start, content_block_start, content_block_delta, content_block_stop, message_delta e message_stop. Trate também os eventos ping e error. Preserve assinaturas de pensamento e blocos de ferramenta necessários nos turnos seguintes.

Erros usam o formato da Anthropic:

{"type":"error","error":{"type":"invalid_request_error","message":"max_tokens must be an integer from 0 to 128000."}}

Solicitações que retornam erro não são cobradas. Veja tratamento de erros para os tipos de erro compartilhados.

Formatos compatíveis com OpenAI

O mesmo ID está disponível em /v1/chat/completions e /v1/responses. Use seus campos nativos: Chat usa messages; Responses usa input. Opções nativas do Claude pertencem a Messages e não devem ser copiadas integralmente para um corpo no formato OpenAI.

curl https://api.seedrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-haiku-5-5","max_tokens":256,"messages":[{"role":"user","content":"Reply with OK."}]}'
curl https://api.seedrouter.ai/v1/responses \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-haiku-5-5","max_output_tokens":256,"input":"Reply with OK."}'

Resultados de compatibilidade

Verificados em 9 de outubro de 2026 no ambiente de desenvolvimento. Estas verificações estabelecem o comportamento observado de solicitações específicas, não todos os limites oficiais nem a implantação em produção.

CapacidadeResultado observado
Messages nativo e SSEResposta textual e sequência completa de eventos verificadas.
ClassificaçãoRetornou Billing; 41 tokens de entrada e 5 de saída.
JSON estruturado e ferramentas de clienteValores JSON, seleção automática/none/nomeada/any, argumentos de ferramentas estritas e continuação após resultado de ferramenta verificados.
Imagens e PDFsRetornou a cor esperada da imagem e o marcador do PDF a partir de arquivos de teste base64. Os limites completos de mídia não foram testados.
Pré-aquecimento de cachemax_tokens: 0 não retornou texto gerado e registrou zero tokens de saída.
Cache de cinco minutos e uma horaCriação e uso posterior com acerto de cache verificados para ambos os TTLs.
Sequências de paradaRetornou o motivo de parada solicitado e parou antes do sufixo excluído.
Pensamento e esforçoOs cinco valores de esforço foram aceitos. Algumas solicitações explícitas de pensamento disabled ainda retornaram blocos de pensamento. A aceitação por si só não verifica o comportamento do esforço.
Instruções de sistema e esforço por mensagemResultados inconsistentes; um teste por mensagem com orçamento maior ainda retornou texto sem relação. Teste sua conversa exata antes de disponibilizá-la.
Compactação sob demandaRetornou bloco de compactação assinado e stop_reason: compaction. Reenvio completo e validação de cobrança continuam pendentes.
Metadados e geografia de inferênciametadata.user_id retornou erro de permissão; geografia explícita retornou restrição de tipo de conta.
MCPO beta MCP atual retornou restrição de credencial. Uma sessão MCP completa não foi verificada.
OpenAI Chat e ResponsesSolicitações básicas e de raciocínio explícito max/none retornaram a resposta esperada. A semântica de raciocínio não foi estabelecida de forma independente.
Outros campos betaOrçamento de tarefa, controles de vinculação e fallback default foram aceitos; a semântica completa dos recursos não foi estabelecida.

A cobrança de escrita de cache de uma hora e de compactação não passou na validação para lançamento. Execuções nos limites máximos de contexto/saída, ferramentas hospedadas com cobranças separadas, acesso à Files API e resgate de créditos de fallback não foram testados. Mantenha os formatos oficiais de solicitação; não deduza suporte apenas de um status de sucesso.

Referências