Introdução
Claude Sonnet 5 é o modelo de chat da Anthropic para o trabalho pesado do dia a dia, disponível aqui como um endpoint compatível com OpenAI em /v1/chat/completions. Ele lê até 1.000.000 de tokens por chamada e escreve até 64.000 numa resposta, então uma sessão longa pode ir inteira a cada turno.
O esforço de raciocínio aceita low, medium ou high, com medium por padrão. A amostragem é fixada pelo modelo, então temperature e top_p não são aceitos; o conteúdo das mensagens é texto e imagens, e na mesma chamada você tem até 128 tools e streaming SSE.
Recursos e destaques
Uma memória de sessão de um milhão de tokens
Centenas de turnos originais cabem sob o teto de 1.000.000 de tokens. Devolva-os em ordem e o modelo lê o que cada personagem disse de fato, que é de onde vem quase tudo o que se chama de coerência.
Mais raciocínio só quando compensa
low, medium e high dividem o mesmo corpo de requisição. O vaivém comum funciona bem em low e volta mais rápido; suba quando as pontas precisarem se juntar ou vários personagens dividirem a cena. Um nível mais alto pensa por mais tempo e costuma gerar mais tokens de saída.
Um corpo de requisição sem botões de amostragem
Como temperature e top_p são fixados pelo modelo, uma requisição copiada de uma integração antiga deve tirar os dois: mandar qualquer um deles falha na validação em vez de ser ignorado em silêncio, então uma configuração esquecida nunca muda o comportamento sem você saber.
Parâmetros da requisição
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
messages | Sim | Turnos de conversa ordenados. O conteúdo é uma string ou um array de partes text e |
max_tokens | Não | Limita a resposta a 64.000 — um dezesseis avos da janela de leitura. Padrão 4.096. |
reasoning_effort | Não | low, medium ou high, padrão medium. Trocas comuns em low, e um degrau acima para a cena que precisa acertar. |
stop | Não | Até 4 sequências, como string ou array. A resposta termina assim que o modelo escreve uma delas, e o texto correspondente não é devolvido. pelo menos 1 caracteres · pelo menos 1 itens · no máximo 4 itens |
tools | Não | Até 128 definições de função por requisição. no máximo 128 itens |
parallel_tool_calls | Não | true ou false, padrão true: o modelo pode pedir várias chamadas de ferramenta no mesmo turno. Valor padrão: |
tool_choice | Não | auto, none, required ou um objeto nomeando uma função. |
Preços
Entrada $1.90 / Saída $9.50 por 1 milhão de tokens
Casos de uso
Conversas longas de companhia
Mantenha a conversa em andamento no array messages sessão após sessão. Com um milhão de tokens, até um arco de relacionamento longo cabe sem camada de resumo, e o personagem se refere a falas reais em vez de paráfrases.
Três ou quatro vozes numa cena
Escreva a dicção e os limites inegociáveis de cada personagem na mensagem de sistema e deixe os turnos do usuário levarem só a ação. Com cada turno anterior ainda na janela, fica registrado quem disse o quê, e as vozes não se misturam.
Dados, inventário e lore como tools
Defina funções para rolagens de dados, checagens de inventário ou consultas ao lore e deixe o tool_choice decidir quando elas rodam. Os resultados chegam como mensagens tool na mesma conversa, então a história resolve uma ação sem sair do diálogo.
Guia de prompt e dicas práticas
low nos turnos comuns, high na cena que importa
Trocas de vaivém costumam ir bem em low, e o que você economiza é tempo tanto quanto tokens. Suba o nível quando as pontas precisarem convergir; é uma única string na mesma requisição.
Defina max_tokens no tamanho que você quer
Os 4.096 do padrão cobrem uma cena sólida. O raciocínio sai do mesmo orçamento, então um teto pequeno pode ser gasto pensando antes de a resposta começar; deixe folga de verdade quando o esforço for alto, até o teto de 64.000.
Limites para levar em conta
Partes de vídeo e áudio são rejeitadas, uma conversa não pode terminar numa mensagem de assistant para preencher a resposta e não existe response_format: para saída legível por máquina, force uma tool cujos parâmetros sejam o seu esquema JSON. Resultados de tools dividem a janela com a conversa, então uma sessão muito longa acaba precisando de cortes.
Início rápido da API
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "anthropic/claude-sonnet-5/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
Consulte a referência da API para autenticação, esquema completo, polling e tratamento de erros.














