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

Janela de contexto vs máximo de tokens de saída: limites de GPT-6, Claude, DeepSeek e Kimi

O que são janela de contexto e máximo de tokens de saída, os limites de GPT-6, Claude, DeepSeek V4.1 Flash e Kimi K3, e como evitar respostas que param no meio.

Ler em Markdown

A janela de contexto é o número total de tokens que um modelo consegue manter em uma requisição: seu prompt, o histórico da conversa, as imagens e a resposta que ele escreve. O limite de máximo de tokens de saída é o máximo que o modelo pode escrever nessa resposta, e nos modelos de raciocínio ele inclui os tokens gastos pensando. A resposta precisa caber dentro da janela de contexto, então um prompt longo deixa menos espaço para a saída.

Qual é a diferença entre janela de contexto e máximo de tokens de saída?

A janela de contexto é um espaço compartilhado. Tudo o que você envia e tudo o que o modelo escreve em uma requisição precisa caber nela.

O máximo de tokens de saída é um teto separado, menor, só para a resposta. Cada modelo tem um teto, e cada API tem um parâmetro para definir um limite menor por requisição.

Daí vêm duas consequências:

  • Entrada e saída disputam a mesma janela. A referência da API do DeepSeek diz isso com clareza: "O comprimento total dos tokens de entrada e dos tokens gerados é limitado pelo comprimento de contexto do modelo".
  • O raciocínio conta como saída. No GPT-6, no Claude, no DeepSeek V4.1 Flash e no Kimi K3, os tokens que o modelo gasta pensando contam para o limite de saída e são cobrados como saída. Uma resposta pode parar antes da hora mesmo que a parte visível seja curta.

Quais são os limites de cada modelo?

ModeloID do modeloJanela de contextoSaída máximaParâmetro de saídaPadrão se você não enviar
GPT-6 Astra, Sol, Lunagpt-6-astra, gpt-6-sol, gpt-6-luna1,05M tokens (922K de entrada)128Kmax_output_tokens (Responses), max_completion_tokens (Chat Completions)Máximo do modelo
Claude Opus 5.5, Fable 5.1, Fable 5claude-opus-5-5, claude-fable-5-1, claude-fable-51M tokens128Kmax_tokensNenhum: o campo é obrigatório
DeepSeek V4.1 Flashdeepseek-v4.1-flash1M tokens393.216max_tokens8K sem raciocínio, 64K com raciocínio, 128K com esforço max
Kimi K3kimi-k31.048.576 tokens1.048.576max_completion_tokens131.072

A última coluna explica a maioria das respostas cortadas. O DeepSeek V4.1 Flash pode escrever 393.216 tokens, mas, se você não definir max_tokens, ele para em 8K, ou em 64K com o raciocínio ligado. O Kimi K3 pode escrever até 1.048.576 tokens, mas o padrão é 131.072.

A referência da API de cada modelo tem a lista completa de parâmetros: GPT-6 Astra, Claude Opus 5.5, DeepSeek V4.1 Flash e Kimi K3.

max_tokens, max_completion_tokens ou max_output_tokens?

Todos limitam a resposta. Qual enviar depende do formato da API e do modelo:

Formato da APIParâmetroObservações
OpenAI Responses (/v1/responses)max_output_tokensOpenAI: "Um limite superior para o número de tokens que podem ser gerados em uma resposta, incluindo tokens de saída visíveis e tokens de raciocínio".
OpenAI Chat Completions (/v1/chat/completions)max_completion_tokensA OpenAI marca max_tokens como "descontinuado em favor de max_completion_tokens" e "não compatível com os modelos da série o". Use max_completion_tokens no GPT-6.
Anthropic Messages (/v1/messages)max_tokensObrigatório em toda requisição.
DeepSeek Chat Completionsmax_tokensDe 1 a 393216.
Kimi Chat Completionsmax_completion_tokensmax_tokens é o nome descontinuado do mesmo limite.

Se uma API responder "max_tokens is not supported with this model", troque para o parâmetro desta tabela.

Por que meu modelo parou antes de terminar?

Ele atingiu o limite de saída. Toda API informa isso na resposta, não como erro:

APICampoValor quando o limite de saída foi atingido
OpenAI Responsesincomplete_details.reason"max_output_tokens"
OpenAI Chat Completionschoices[].finish_reason"length"
Anthropic Messagesstop_reason"max_tokens"
DeepSeekchoices[].finish_reason"length"

A Anthropic tem um segundo motivo de parada, model_context_window_exceeded, para uma resposta que ocupou a janela de contexto inteira. No DeepSeek, length cobre os dois casos: a resposta passou de max_tokens ou a conversa passou do comprimento de contexto.

Para resolver:

  1. Aumente o limite de saída até o máximo do modelo na tabela acima.
  2. Reduza o esforço de raciocínio. Pensar menos deixa mais orçamento para a resposta e custa menos.
  3. Continue em vez de tentar de novo. Envie a resposta parcial de volta e peça ao modelo para seguir. O guia de motivos de parada da Anthropic descreve isso para max_tokens.

O que significa "context window exceeded"?

Sua requisição não cabe na janela do modelo. Onde exatamente ela falha depende da API:

  • Claude. Se só a entrada já for maior que a janela, a API retorna um 400 invalid_request_error ("prompt is too long"). Se só a soma da entrada com max_tokens for maior, a documentação da Anthropic diz que o Claude 4.5 e os modelos mais novos, incluindo os deste guia, aceitam a requisição e param com stop_reason: "model_context_window_exceeded" se ficarem sem espaço.
  • DeepSeek. A resposta termina com finish_reason: "length" quando a conversa passa do comprimento de contexto.

Três soluções, nesta ordem:

  1. Remova ou resuma os turnos antigos da conversa. É a única solução quando só a entrada já é longa demais.
  2. Reduza o limite de saída para que entrada mais saída caibam.
  3. Mude para um modelo com uma janela maior. As quatro famílias da tabela acima leem cerca de 1M tokens.

Como os agentes de programação lidam com esses limites?

Os agentes de programação definem o limite de saída por você, e os padrões deles podem ser menores do que o modelo permite.

O Claude Code usa CLAUDE_CODE_MAX_OUTPUT_TOKENS. A documentação dele diz que o padrão "é 32000 para IDs de modelo que ele não reconhece, como nomes específicos de um gateway, e reduz ao teto os valores acima do teto de um modelo". Quando você roda o DeepSeek V4.1 Flash ou o Kimi K3 no Claude Code, defina a variável se precisar de respostas mais longas. A mesma documentação avisa que um valor mais alto "reduz a janela de contexto efetiva disponível antes de a compactação automática ser acionada".

O Codex lê model_context_window do config.toml, descrito como os "tokens de janela de contexto disponíveis para o modelo ativo". Defina esse valor para modelos que o Codex não conhece, como na nossa configuração do Kimi K3 e na configuração do DeepSeek V4.1 Flash. Para um nome de modelo que não reconhece, o Codex também exibe: "Model metadata for <model> not found. Defaulting to fallback metadata; this can degrade performance and cause issues." A sessão continua rodando.

Perguntas frequentes

A janela de contexto inclui os tokens de saída?

Sim. Entrada, histórico, imagens e resposta compartilham uma única janela de contexto. O limite de saída máxima é um teto separado para a resposta dentro dessa janela.

Os tokens de raciocínio contam para o máximo de tokens de saída?

Sim, nas quatro famílias de modelos deste guia. Os tokens de raciocínio contam para o limite de saída e são cobrados como tokens de saída.

Qual modelo escreve as respostas mais longas?

O Kimi K3 aceita max_completion_tokens até 1.048.576, e o DeepSeek V4.1 Flash aceita max_tokens até 393.216. GPT-6 e Claude param em 128K por requisição.

Um limite de saída maior custa mais?

Não. Você paga pelos tokens que o modelo realmente escreve, não pelo limite que define. Um limite maior só faz diferença quando o modelo precisa do espaço.

Onde vejo os preços atuais desses modelos?

Na página de cada modelo: GPT-6 Astra, Claude Opus 5.5, DeepSeek V4.1 Flash e Kimi K3.

Guias relacionados