Esforço de raciocínio e tokens de pensamento: por que pensar custa mais
Tokens de pensamento são cobrados como saída. O que os níveis de esforço significam, o que colocar em max_tokens para a resposta não ser cortada, e como estimar a conta.

Nesta página
- O que o modelo faz antes de responder
- Esforço: o botão do pensamento
- A armadilha da resposta vazia: o pensamento conta para max_tokens
- O que o raciocínio longo faz com a conta
- Qual esforço para qual trabalho
- Migrando uma solicitação antiga: o erro 400
- Agentes e conversas longas: escolha um nível e mantenha
- Experimente na sua própria solicitação
Sua solicitação era uma única pergunta factual. A resposta tinha três linhas. O contador de saída diz milhares de tokens. Isso não é um bug: antes de responder, muitos modelos pensam em um rascunho oculto, e esses tokens de pensamento são cobrados como tokens de saída. A configuração de esforço decide quanto desse pensamento acontece, e max_tokens precisa deixar espaço para isso, ou você recebe uma resposta cortada ou vazia.
O que o modelo faz antes de responder#
Pense em uma prova. Você pode escrever a resposta direto, ou preencher uma página de rascunho primeiro. O rascunho costuma dar um resultado melhor em um problema difícil, mas o papel não é de graça. O raciocínio é esse rascunho, e é contado em tokens como todo o resto.
A documentação de pensamento estendido da Anthropic (verificada em 23 de outubro de 2026) diz que os tokens de pensamento fazem parte dos tokens de saída cobrados, e a resposta informa quantos: usage.. Digamos que uma resposta volte com este bloco de uso (números de exemplo):
"usage": {
"input_tokens": 480,
"output_tokens": 2150,
"output_tokens_details": { "thinking_tokens": 1900 }
}Você é cobrado por 2.150 tokens de saída. O pensamento consumiu 1.900 deles, então o texto que você realmente lê tem 2.150 − 1.900 = 250 tokens. O mesmo vale mesmo quando o texto do pensamento não é retornado a você: ele ainda conta. Se você quiser a diferença entre entrada e saída explicada primeiro, comece com tokens de entrada vs saída.
Esforço: o botão do pensamento#
Na API da Claude o botão é output_. A página de esforço da Anthropic (verificada em 23 de outubro de 2026) lista cinco níveis: low, medium, high, xhigh, max. Três detalhes importam para um iniciante:
- Afeta cada token de saída, não apenas o pensamento: texto, chamadas de ferramentas e pensamento juntos.
- É um sinal comportamental, não um orçamento estrito. Esforço menor significa menos tokens ao custo de alguma capacidade; com esforço baixo a Claude pode pular o pensamento completamente em um problema simples.
- O padrão é
mediumno Claude Opus 5.5 e Claude Haiku 5.5, ehighna maioria dos outros modelos que suportam o parâmetro. Definir o padrão explicitamente é o mesmo que omiti-lo.
Os níveis são recalibrados por modelo, então high em um modelo não é a mesma quantidade de pensamento que high em outro, e nem todo modelo aceita todos os níveis. Em um vídeo publicado alguém rodou todos os níveis de esforço do Claude Opus 5.5 na mesma tarefa de motion graphics e comparou as imagens. É uma boa forma de ver o que mais pensamento compra. Não vai te dizer sua conta, porque sua tarefa não é a deles.
Uma solicitação para uma pergunta simples, com o esforço reduzido:
{
"model": "claude-opus-5-5",
"max_tokens": 4000,
"output_config": { "effort": "low" },
"messages": [
{ "role": "user", "content": "What is the capital of Australia?" }
]
}A armadilha da resposta vazia: o pensamento conta para max_tokens#
Aqui está como isso dá errado. Você espera uma resposta de duas frases, então define max_tokens como 300. O modelo começa a pensar, gasta os 300 no rascunho, atinge o limite e para. Você recebe uma resposta vazia ou uma frase que termina no meio de uma palavra, e o motivo de parada diz max_tokens.
A documentação é explícita: max_tokens é um limite rígido para a saída total, pensamento mais texto da resposta, e o pensamento conta mesmo quando seu conteúdo não é retornado. Com esforço high e acima, a Anthropic diz para definir um valor grande.
Na prática:
- Pegue o comprimento da resposta que você quer.
- Adicione espaço generoso para o pensamento. Alguns milhares de tokens é um começo sensato para qualquer coisa acima de
low. - Verifique o motivo de parada após as primeiras execuções. Se ainda disser
max_tokens, aumente o limite. Se a resposta estiver completa, você pode diminuí-lo.
O corte em si, com finish_reason e a janela de contexto, é abordado em por que uma resposta de IA para no meio da frase.
O que o raciocínio longo faz com a conta#
Digamos que você opere um bot de suporte com 2.000 tickets por dia. Cada ticket tem cerca de 500 tokens de entrada. Uma resposta curta e direta tem cerca de 400 tokens de saída. O mesmo ticket com raciocínio oculto longo tem cerca de 4.000 tokens de saída. Essas são suposições para o exemplo; para seus próprios números veja quantos tokens uma solicitação usa.
Por dia isso é 2.000 × 500 = 1.000.000 tokens de entrada, e ou 2.000 × 400 = 800.000 tokens de saída ou 2.000 × 4.000 = 8.000.000 tokens de saída. O leitor do ticket vê as mesmas duas linhas de qualquer forma. A única coisa que mudou foi o volume de saída, e a saída é o lado que o raciocínio infla.
A aritmética é a mesma em qualquer modelo que cobre raciocínio oculto: tokens de saída × o preço de saída. Para o DeepSeek-V4-Flash esse preço é $0.10 por 1M tokens de saída, e seu lado de saída é mais barato que o preço de referência do OpenRouter. Ele também responde até 32.768 tokens de uma vez com um contexto de 380K, então um max_tokens grande cabe. Os preços são fixos por modelo, sem horários de pico, e a tabela acima recalcula a partir da lista de preços ao vivo. Todos os preços estão na página de preços; a página do DeepSeek tem os detalhes do modelo.
Aqui está uma solicitação para você mesmo enviar. É uma tarefa simples de resumo, então você não precisa de raciocínio longo, e o limite deixa bastante espaço:
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-ai/DeepSeek-V4-Flash-0731",
"max_tokens": 2000,
"messages": [
{"role": "user", "content": "Summarize in one sentence: A token is a small piece of text that a model reads and writes, and APIs bill by the token."}
]
}'Na resposta, usage. é o que você paga no lado da saída, e finish_reason deve ser stop. Se disser length, o limite cortou a resposta. Obtendo a chave e a primeira chamada: docs.
Qual esforço para qual trabalho#
- Um fato, um resumo de uma linha, um rótulo. Esforço mais baixo. Este é o caso do início do artigo: você não precisa do rascunho.
- Escrita do dia a dia, uma explicação curta, uma edição simples. O padrão do modelo. Mude só depois de ver quanto custam as respostas.
- Um bug complicado, um plano de várias etapas, um problema de matemática.
highou acima, e ummax_tokensgrande. Aqui o pensamento extra é o ponto.
Na dúvida, rode o mesmo prompt em dois níveis, compare as respostas e compare output_tokens. Se a resposta mais barata for tão boa, você achou seu nível.
Migrando uma solicitação antiga: o erro 400#
Código mais antigo controlava o pensamento com um orçamento de tokens. No Claude 4.7 e modelos posteriores (Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5.1) essa forma é rejeitada com um erro 400. Você muda para pensamento adaptativo e define a profundidade com esforço:
// before: returns 400 on newer models
"thinking": { "type": "enabled", "budget_tokens": 8000 }
// after
"thinking": { "type": "adaptive" },
"output_config": { "effort": "medium" }
Mais uma armadilha: no Opus 5.5 o pensamento adaptativo está sempre ativo, e thinking: { "type": "disabled" } retorna 400 em todos os níveis de esforço. O Haiku 5.5 permite desativar o pensamento com esforço high ou abaixo. Se você quiser menos pensamento no Opus 5.5, diminua o esforço em vez de desligá-lo.
Agentes e conversas longas: escolha um nível e mantenha#
Se seu prompt está em cache, mudar o esforço de nível superior entre solicitações invalida os pontos de quebra do cache para aquela conversa. Para um loop de agente ou uma conversa longa, escolha um nível desde o início. Alguns modelos oferecem esforço por mensagem em beta que mantém o cache, o que vale a pena conferir quando o básico estiver no lugar. Conversas longas têm um segundo fator de custo, abordado em por que uma conversa longa custa mais.
Experimente na sua própria solicitação#
- Envie seu prompt real uma vez e leia
usage: quantos tokens de saída, e quantos deles são pensamento. - Diminua o esforço um passo e envie de novo. Compare as respostas e as contagens.
- Defina
max_tokenscomo a resposta que você quer mais espaço para o pensamento, e verifique o motivo de parada.
Depois coloque suas próprias contagens de tokens na tabela de preços ao vivo na página de preços e você tem uma estimativa mensal.



