Introdução
Claude Sonnet 4.5 é um modelo de chat da Anthropic disponível aqui como um endpoint compatível com OpenAI em /v1/chat/completions. Ele lê até 198.000 tokens e responde com até 64.000: cerca de três tokens de entrada para cada um de saída, que é o formato de uma cena ou de um capítulo, com ficha de personagem e transcrição entrando e alguns milhares de palavras de prosa voltando.
A requisição aceita temperature (de 0 a 1, padrão 1) e top_p; este endpoint não tem ajuste de esforço de raciocínio. O conteúdo das mensagens é texto e imagens, cabem até 128 esquemas de tools numa chamada e, com stream: true, a primeira frase chega enquanto o resto ainda está sendo escrito.
Recursos e destaques
Uma janela do tamanho de um arco
198.000 tokens guardam a ficha do personagem, as regras do mundo e uma transcrição longa sem precisar resumir a cada poucos turnos. O que não pode escorregar — voz, temperamento, cânone — fica na mensagem de sistema, e a mensagem de usuário leva a cena.
64.000 tokens de resposta
O teto da resposta é de 64.000 tokens, então um capítulo nunca para no meio do parágrafo por falta de espaço. max_tokens vem com 4.096 por padrão, algumas centenas de palavras, então aumente quando quiser a cena escrita por inteiro.
Streaming para a troca de turnos
Roleplay é troca de turnos, e tem alguém olhando o cursor. Com stream: true a resposta chega em pedaços via Server-Sent Events, e a primeira frase já aparece na tela enquanto o resto ainda está sendo gerado.
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. O padrão de 4.096 dá umas poucas centenas de palavras: aumente quando quiser uma cena escrita por inteiro. |
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 |
temperature | Não | De 0 a 1, padrão 1. Deixe perto de 0 sempre que a resposta for lida por código. |
top_k | Não | De 1 a 500. A amostragem acontece só entre os k próximos tokens mais prováveis: 1 deixa as respostas quase repetíveis e valores maiores afrouxam a escolha. |
top_p | Não | De 0,01 a 1. Ajuste este ou temperature, nunca os dois na mesma comparação. |
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 $2.70 / Saída $13.50 por 1 milhão de tokens
Casos de uso
Uma sessão de roleplay de longa duração
A ficha do personagem e as regras do mundo ficam na mensagem de sistema enquanto a transcrição cresce no array messages. 198.000 tokens equivalem às cenas de um arco inteiro, então a voz se mantém sem precisar ser reajustada por um resumo.
Um capítulo de ficção interativa
Ficção ramificada é ler e depois escrever: alguns milhares de tokens de estado e histórico entrando, uma cena de prosa saindo. Três para um é exatamente esse formato, e o teto de 64.000 tokens deixa espaço para o capítulo terminar.
Um elenco de NPCs na mesma conversa
Dê a cada personagem uma seção da mensagem de sistema e deixe a mensagem de usuário dizer quem está em cena. Como todos os NPCs estão descritos na mesma requisição, eles ficam coerentes entre si e não só consigo mesmos.
Guia de prompt e dicas práticas
Coloque o personagem na mensagem de sistema
Ficha do personagem, voz e regras do mundo vão na mensagem de sistema; a cena vai na mensagem de usuário. Quando depois você cortar por tamanho, corta a transcrição e o personagem continua exatamente como foi escrito.
Ajuste temperature à tarefa
Mantenha temperature perto de 1 em diálogos que precisam parecer vivos e abaixe para uma checagem de continuidade ou um resumo do que aconteceu. top_p estreita ainda mais a escolha de palavras quando a cena precisa manter um registro apertado.
Saída estruturada e limites rígidos
Aqui não existe response_format: defina uma tool cujos parâmetros sejam o esquema JSON que você quer, aponte tool_choice para ela e valide os argumentos que voltarem. max_tokens acima de 64.000 falha na validação e partes de vídeo e áudio são rejeitadas.
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-4.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.














