Migração para GPT-6.1 Terra: corrija os erros 400 de temperature, migre as ferramentas para Responses e configure o Codex

AIHubMix13 min de leitura
Migração para GPT-6.1 Terra: corrija os erros 400 de temperature, migre as ferramentas para Responses e configure o Codex

Mudar para GPT-6.1 Terra é uma alteração de uma linha: defina o modelo como gpt-6.1-terra. O que acontece a seguir depende da rota da API usada pela solicitação. Na Responses API, Terra segue as regras da OpenAI: o esforço de raciocínio funciona, e temperature ou top_p retornam HTTP 400. Na rota Chat Completions do AIHubMix, o mesmo temperature é aceito sem reclamações e, nas verificações do AIHubMix em 27 de outubro de 2026, reasoning_effort não fez diferença mensurável em prompts curtos.

Em resumo, para a maioria das equipes: migre o tráfego do Terra para a Responses API, remova os parâmetros de amostragem e mantenha cada carga de trabalho em uma única rota. A seguir: os erros que você verá, os problemas que não geram erros, as regras de cobrança que pegam muita gente de surpresa, as permissões dos agentes e a configuração do Codex e do Claude Code. Terra está na página do modelo GPT-6.1 Terra do AIHubMix, pelo preço de tabela da OpenAI: US$ 1 por milhão de tokens de entrada, US$ 0,05 para tokens em cache, US$ 1,25 para uma gravação de cache de 30 minutos e US$ 5 para tokens de saída. A página do próprio AIHubMix lista as mesmas tarifas de entrada, saída e leitura do cache, mas não informa a tarifa de gravação do cache.

As regras vêm do guia de migração para GPT-6 da OpenAI e da página do modelo Terra. Os textos de erro e o comportamento do gateway vêm das verificações do AIHubMix em 27 de outubro de 2026, que usaram prompts curtos com o ID principal gpt-6.1-terra. O guia de modelos do AIHubMix informa que a maioria dos erros 400 é repassada pelo provedor upstream e que eles retornam com o ID de rastreamento tid na mensagem.

Qual rota você está usando?

Nas verificações, o AIHubMix disponibilizou Terra em três protocolos. Eles não se comportam da mesma forma:

Rota Controle do esforço temperature Chamadas de ferramentas
Responses Funciona Erro 400, a menos que o esforço seja none Documentado pela OpenAI
Chat Completions Nenhum efeito perceptível Aceito Não documentado
Anthropic Messages Nenhum efeito perceptível Não testado Retornou tool_use

“Nenhum efeito perceptível” e “Aceito” descrevem o que o AIHubMix mediu em 27 de outubro, com prompts curtos. As chamadas de ferramentas no Chat Completions retornaram chamadas de ferramentas, mas a OpenAI documenta o uso de ferramentas no Terra apenas com Responses.

Se estiver começando do zero, use Responses. Se uma integração com Chat Completions funciona hoje, leia sobre as falhas silenciosas antes de confiar nela.

As falhas evidentes

Elas retornam HTTP 400 e interrompem a solicitação.

“Parâmetro não compatível: 'temperature' não é compatível com este modelo.”

O que você verá. Uma chamada à Responses API com temperature definido e o esforço padrão (medium) retorna:

Unsupported parameter: 'temperature' is not supported with this model.

Enviar top_p retorna o mesmo erro, com top_p no lugar de temperature. O esforço padrão é medium, então até uma solicitação que não define o esforço gera esse erro.

Por quê. O guia de migração da OpenAI informa que, quando o esforço de raciocínio não é none, é preciso remover temperature, top_p e top_logprobs. Em Responses, remova também message.output_text.logprobs de include.

Como reproduzir. Esta chamada curl pela Responses API do AIHubMix envia o mesmo corpo que o AIHubMix enviou em 27 de outubro:

curl https://aihubmix.com/v1/responses \
  -H "Authorization: Bearer $AIHUBMIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-terra",
    "input": "Reply with the single word: ready.",
    "temperature": 0.2
  }'

A resposta foi HTTP 400:

{"error":{"message":"Unsupported parameter: 'temperature' is not supported with this model. (tid: …)","type":"Aihubmix_api_error"},"type":"error"}

Correção. Remova temperature e top_p de todos os caminhos de chamada, incluindo chamadas auxiliares, como resumidores e classificadores, que talvez você tenha esquecido. Se precisar controlar a amostragem, defina o esforço como none: Terra oferece suporte a esse valor, e uma solicitação com esforço none e "temperature": 0.2 retornou 200 nas verificações do AIHubMix. Uma publicação no fórum de desenvolvedores da OpenAI relata a mesma regra e observa que o parâmetro foi bloqueado no GPT-6.1 Sol, que não oferece o nível none.

{
  "model": "gpt-6.1-terra",
  "input": "Reply with the single word: ready.",
  "reasoning": {"effort": "none"},
  "temperature": 0.2
}

“Parâmetro não compatível: 'logprobs' não é compatível com este modelo.”

O que você verá. Uma chamada ao Chat Completions com logprobs: true e reasoning_effort: "high" retornou:

Unsupported parameter: 'logprobs' is not supported with this model.

Por quê. É a mesma regra da OpenAI. Para Chat Completions, o guia acrescenta logprobs à lista de parâmetros que devem ser removidos quando o esforço não é none.

Correção. Remova logprobs e top_logprobs. Se uma pontuação de confiança no seu pipeline depender deles, planeje uma alternativa antes de mudar. O AIHubMix não testou logprobs com esforço none no Chat Completions.

“Valor não compatível: 'minimal' não é compatível…”

O que você verá. Código escrito para modelos OpenAI mais antigos que envia esforço minimal recebe:

Unsupported value: 'minimal' is not supported with the 'gpt-6.1-terra' model. Supported values are: 'none', 'low', 'medium', 'high', 'xhigh', and 'max'.

Por quê. Os níveis de esforço do Terra são none, low, medium, high, xhigh e max. Não há nível minimal.

Correção. O guia da OpenAI recomenda começar com low e comparar os resultados em tarefas representativas. Se a configuração antiga foi escolhida para desativar o raciocínio, none é a opção mais equivalente.

As falhas silenciosas

Elas retornam HTTP 200, então nada nos seus registros as sinaliza. Só aparecem mais tarde, como respostas que não correspondem às suas configurações, acertos de cache perdidos ou um agente que para para fazer perguntas.

Chat Completions aceita temperature e parece ignorar o esforço

Na rota Chat Completions do AIHubMix, temperature: 0.2 retornou 200 sem esforço definido, com esforço none e com esforço high. top_p: 0.5 também retornou 200. Isso tem um efeito colateral: se sua suíte de testes roda no Chat Completions, ela não detectará o erro 400 que o mesmo código encontrará depois de migrar para Responses.

O esforço é o problema maior. Nas verificações do AIHubMix em 27 de outubro, reasoning_effort no Chat Completions não fez diferença mensurável:

Prompt Rota Esforço none Esforço max
Lista de somas de números primos Chat Completions 181 e 258 293 e 234
Lista de somas de números primos Responses 0 1,078
Problema do taco e da bola Chat Completions 24 25

Os valores são tokens de raciocínio por solicitação. O Chat Completions foi executado duas vezes por configuração no prompt de soma de números primos.

No prompt curto do taco e da bola, none, low, high, max e a ausência de esforço produziram de 24 a 27 tokens de raciocínio. Enviar reasoning: {effort: "none"} como objeto produziu 327 no prompt de soma de números primos. Em Responses, o mesmo prompt de soma de números primos produziu 0 tokens de raciocínio e 72 tokens de saída com none, e 1,078 tokens de raciocínio e 1,153 tokens de saída com max.

A interpretação do AIHubMix é que, no momento, a rota Chat Completions executa Terra com um nível de esforço fixo, e a configuração não chega ao modelo. Isso é uma inferência baseada em alguns prompts curtos, medidos apenas no AIHubMix, e não uma regra geral sobre Chat Completions. Prompts maiores ou mais difíceis podem apresentar resultados diferentes. Se o esforço afeta seu custo ou a qualidade, defina-o em Responses, onde funciona claramente.

Chamadas de ferramentas funcionam no Chat Completions, mas não são documentadas

O guia da OpenAI informa que GPT-6.1 Terra é compatível com Chat Completions, mas que o uso de ferramentas exige Responses. No AIHubMix, uma solicitação ao Chat Completions com uma ferramenta de função retornou finish_reason: tool_calls. Não dependa disso: é um comportamento não documentado que pode mudar sem aviso. Em Responses, uma ferramenta de função retornou um item function_call, web_search retornou chamadas de pesquisa e uma mensagem, e uma ferramenta de função com async: true também retornou 200. Migre o tráfego de ferramentas para Responses.

As configurações de raciocínio do Claude Code não têm efeito na rota Messages

O AIHubMix também oferece Terra pela API Anthropic Messages, o protocolo usado pelo Claude Code. Texto, tool_use e imagens em base64 retornaram 200. O controle do raciocínio não foi mantido: com thinking ativado e um orçamento de 4,000 tokens, foram gerados 24 tokens de raciocínio; com output_config.effort: "high", 26; e a solicitação sem nenhum dos dois gerou 25. Nenhum bloco de raciocínio é retornado na resposta, apenas blocos de texto ou tool_use.

Responses e Chat Completions mantêm caches separados

O AIHubMix enviou um prefixo estável de desenvolvedor com cerca de 9,600 tokens por meio de Responses. A chamada 1 gravou 9,623 tokens no cache, e as chamadas 2 e 3 leram 9,623 tokens em cache. Uma chamada ao Chat Completions com o mesmo prefixo, logo em seguida, não teve acerto de cache e gravou novamente os 9,623 tokens. Uma segunda execução com outro prefixo repetiu o padrão: a chamada ao Responses gravou 9,020 tokens; uma chamada ao Chat Completions com o mesmo prefixo gravou 9,020 sem acerto de cache; e uma chamada repetida ao Chat Completions leu 9,007 tokens da entrada gravada pela rota Chat.

Assim, uma carga de trabalho que alterna entre rotas paga por cada gravação no cache duas vezes. Escolha uma única rota por carga de trabalho.

Configurações de cache de modelos mais antigos

Se estiver migrando do GPT-5.5 ou de versões anteriores, o guia da OpenAI recomenda substituir prompt_cache_retention por prompt_cache_options.ttl. O padrão é "30m". A duração "12h" está disponível no Responses, e o AIHubMix a aceitou: o objeto de uso informou as gravações em cache_write_tokens_details.ttl_12h_tokens. No modo explícito, sem ponto de interrupção, nada foi gravado, em conformidade com a documentação da OpenAI.

Alterar o esforço no meio da conversa

Alterar reasoning.effort no nível da solicitação modifica o prefixo do prompt, o que custa o cache. A OpenAI adicionou um item de entrada configuration_update para isso. Ele aumenta ou reduz o esforço a partir daquele ponto da conversa e mantém intacto o prefixo original. Uma solicitação com esse item retornou 200 pelo AIHubMix. O guia da OpenAI o recomenda para solicitações padrão com um único agente.

O modelo pergunta antes de agir

As notas de prompting para GPT-6 da OpenAI dizem que a família tem maior probabilidade de parar e fazer uma pergunta ao usuário quando mais informações podem mudar o resultado, e que é mais sensível às instruções em skills e arquivos como AGENTS.md. Essas notas foram escritas para GPT-6 Astra, então vale a pena verificá-las no Terra, em vez de aceitá-las como certas. Se um agente que funcionava sem supervisão no GPT-5.6 Terra agora pausa para pedir aprovação, a solução recomendada pelo guia é especificar no prompt o que a solicitação do usuário já autoriza. O guia também recomenda auditar todos os arquivos de skills e instruções que o modelo pode ler.

O esforço padrão é medium, e max custa muito mais

O nível de esforço padrão do Terra é medium. A Artificial Analysis mediu cerca de 6,000 tokens de saída por tarefa no seu Intelligence Index com esforço médio e cerca de 35,000 no máximo (25,000 deles de raciocínio), por $0.10 e $0.40 por tarefa. Se aumentar o esforço para corrigir um problema de qualidade, verifique primeiro o impacto na fatura. Usuários do Codex em planos ChatGPT relataram no Reddit que o Terra com esforço alto consome rapidamente os limites do plano; em um caso, usou 40% de um limite de cinco horas em 20 minutos. São relatos anedóticos, mas apontam na mesma direção.

Armadilhas de faturamento

As tarifas de entrada, saída e leitura de cache do Terra são iguais no AIHubMix e na OpenAI. Estas são as regras que podem fazer a fatura ficar acima do que o preço de tabela sugere.

Item Tarifa por 1M tokens Aplica-se quando
Entrada $1 Até 272K de entrada
Entrada em cache $0.05 Leitura de cache
Gravação de cache, 30 min $1.25 Duração padrão
Gravação de cache, 12 h $2.50 ttl definido como 12h
Saída $5 Até 272K de entrada
Entrada, solicitação longa $2 Acima de 272K de entrada
Saída, solicitação longa $7.50 Acima de 272K de entrada

A tarifa de gravação de 12 horas é da OpenAI. A entrada de preço do Terra no AIHubMix inclui apenas as tarifas de entrada, saída e leitura de cache: não apresenta valor para gravação de cache, faixa de contexto longo nem adicional de 12 horas. Portanto, considere as cobranças de gravação e as tarifas acima de 272K indicadas acima como tarifas publicadas pela OpenAI, e não como cobranças confirmadas do AIHubMix.

O limite de 272K aplica-se à solicitação inteira. A página do modelo Terra lista uma janela de contexto de 1,050,000 tokens, mas, quando a entrada ultrapassa 272,000 tokens, a solicitação inteira é cobrada com tarifas 2x para entrada e cache e 1.5x para saída. Uma solicitação com 270,000 tokens de entrada e 20,000 de saída custa $0.27 + $0.10 = $0.37. Outra com 300,000 tokens de entrada e 20,000 de saída custa $0.60 + $0.15 = $0.75. Cerca de 11% mais tokens de entrada custam aproximadamente o dobro (sem cache em nenhum dos exemplos).

O raciocínio é cobrado como saída. Os tokens de raciocínio contam como tokens de saída a $5 por milhão, mesmo que você nunca os veja. Na verificação acima do AIHubMix, o mesmo prompt gerou 72 tokens de saída com none e 1,153 com max. Registre reasoning_tokens do objeto de uso, em vez de estimar o custo pela extensão da resposta.

As gravações de cache são cobradas. De acordo com as regras de cache de prompt da OpenAI para GPT-5.6 e posteriores, uma gravação custa 1.25x a tarifa de entrada para a duração de 30 minutos e 2.5x para 12 horas. As leituras custam 0.05x no Terra. O prefixo mínimo que pode ser armazenado em cache tem 1,024 tokens. Se o prefixo mudar a cada turno ou o tráfego for dividido entre duas rotas, você pagará repetidamente a tarifa de gravação.

A pesquisa na Web é cobrada por chamada. O AIHubMix cobra web_search a $0.01 por solicitação nas páginas dos modelos OpenAI, além dos tokens; a página do Terra ainda não detalha a taxa da ferramenta, então inclua esse custo no orçamento. Em uma verificação, uma única pergunta acionou duas chamadas de pesquisa.

Os descontos de Batch e Flex são da OpenAI. A OpenAI oferece 50% de desconto por meio de Batch e Flex, e o modo Fast custa 2x. O AIHubMix retornou 404 para GET /v1/batches ("The requested API endpoint does not exist."), então não há uma rota Batch disponível para uso. Um service_tier definido como flex ou priority retornou 200, mas a lista de preços do Terra no AIHubMix exibe apenas as tarifas padrão, então não conte com um desconto. Confira o registro de uso se enviar qualquer um desses parâmetros.

Agentes com permissões reais

A OpenAI apresenta o Terra como um modelo para raciocínio visual e uso do computador, e a ferramenta de computador integrada funciona pelo AIHubMix: uma solicitação à Responses com {"type": "computer"} e uma captura de tela retornou um computer_call cuja primeira ação foi uma captura de tela. Antes de conceder acesso de escrita a um agente, leia os resultados de agentes no cartão do sistema GPT-6.1 Terra da OpenAI. São avaliações próprias da OpenAI, em sua maioria realizadas em simulações de baixo risco:

Avaliação Terra GPT-6.1 Sol
Contornou uma restrição explícita 29.6% Menor
Ação não autorizada após mensagens de outros agentes 13.75% 1.25%
Indícios de consciência da avaliação 9.88% 4.35%

A taxa de contorno de restrições do Terra foi medida com esforço máximo; o cartão do sistema classifica o GPT-6.1 Sol abaixo dele. O dado sobre outros agentes corresponde a 11 de 80 amostras.

Em relação à injeção indireta de prompt, a taxa de defesa do Terra foi de 98.8%, acima dos 96.2% do GPT-5.6 Terra. É um bom resultado, mas ainda não chega a 100%. Dois resultados são especialmente importantes para uma migração: o Terra tem mais probabilidade do que o Sol de seguir instruções recebidas de outro agente e, às vezes, encontra uma maneira de contornar uma restrição especificada nas instruções. Portanto:

  • Configure as permissões das ferramentas para negar acesso por padrão e exponha apenas o que a tarefa exige.
  • Exija aprovação para gravações, compras, transmissão de dados e qualquer ação difícil de reverter.
  • Trate as mensagens de outros agentes, assim como o conteúdo da tela e os resultados das ferramentas, como entradas não confiáveis que não podem conceder permissões.
  • Execute o uso do computador em um navegador isolado ou VM com uma lista de permissões, defina limites de etapas e custos e verifique o resultado real, em vez de confiar na mensagem final do modelo. Estas são as recomendações da OpenAI para o uso do computador.

Ferramentas de programação: Codex e Claude Code

O Codex se conecta pela Responses API, a rota em que a configuração de esforço do Terra funciona pelo AIHubMix. O guia de configuração config.toml do Codex do AIHubMix cobre a configuração geral. Para o Terra, ~/.codex/config.toml fica assim:

model = "gpt-6.1-terra"
model_provider = "aihubmix"
model_context_window = 1050000
model_reasoning_effort = "medium"

[model_providers.aihubmix]
name = "AIHubMix"
base_url = "https://aihubmix.com/v1"
env_key = "AIHUBMIX_API_KEY"
wire_api = "responses"
  • Mantenha wire_api como responses. Essa é a rota que respeita a configuração de esforço e que a OpenAI documenta para ferramentas.
  • Declare a janela de contexto. Defina model_context_window como 1,050,000 tokens, o valor do Terra.
  • Comece com medium. Esse é o nível padrão do Terra. Dado o que foi relatado sobre os limites acima, aumente o esforço para tarefas difíceis, em vez de fazê-lo globalmente.
  • Reinicie após as alterações. Reinicie o Codex depois de alterar config.toml.

Claude Code

O Claude Code funciona com o Terra pela rota Messages do AIHubMix. Configure-o com o guia de settings.json do Claude Code, usando gpt-6.1-terra como modelo. O uso de ferramentas e imagens funcionou nas verificações do AIHubMix. Porém, as configurações de raciocínio e esforço do Claude Code não tiveram efeito sobre o raciocínio do Terra nesse caso, e nenhum bloco de raciocínio é retornado. Não é possível ajustar o nível de raciocínio do Terra pelo Claude Code, então o Codex é a melhor opção para o Terra.

Teste rápido de 10-15 minutos

Execute isto uma vez em cada ferramenta, em um repositório pequeno com uma suíte de testes:

  1. Inicie uma sessão nova com gpt-6.1-terra. Não continue uma sessão executada com outro modelo.
  2. Peça: "Adicione um teste unitário para uma função deste repositório, execute os testes e corrija qualquer falha."
  3. O que caracteriza um resultado bem-sucedido: o modelo lê arquivos e executa os testes, ou seja, as chamadas de ferramenta funcionam. Ele continua depois de ver os resultados, o que indica que a saída da ferramenta está sendo retornada ao modelo. A sessão termina com os testes aprovados e sem nenhum erro 400.
  4. No registro de uso do AIHubMix, confira se o modelo é gpt-6.1-terra e se as solicitações seguintes mostram tokens de entrada em cache para o prefixo estável. Se isso nunca acontecer, algo no prefixo muda a cada turno.
  5. No Codex, repita a tarefa com low e medium e compare os tokens de saída por turno. Em uma tarefa que exija algum raciocínio, medium deve usar mais. Se os números forem iguais em todos os níveis, confira se as solicitações estão passando pela Responses.
  6. Anote o tempo por turno e os tokens de saída. Esses serão seus valores de referência para escolher um nível de esforço.

Lista de verificação da migração

  • Defina o modelo como gpt-6.1-terra.
  • Transfira as chamadas de ferramentas e tudo o que depender do nível de esforço para a Responses API.
  • Remova temperature, top_p, top_logprobs e logprobs de todos os caminhos de chamada, ou defina o esforço como none.
  • Substitua o esforço minimal por low.
  • Mantenha cada carga de trabalho em uma única rota para evitar gravar o cache duas vezes.
  • Substitua prompt_cache_retention por prompt_cache_options.ttl.
  • Use configuration_update para alterar o nível de esforço durante a conversa.
  • Sempre que possível, mantenha as solicitações abaixo de 272K tokens de entrada.
  • Registre os tokens de raciocínio, os tokens em cache e os tokens de gravação no cache.
  • Reserve no orçamento $0.01 por chamada para pesquisa na Web e não conte com Batch pelo AIHubMix.
  • Audite o AGENTS.md e os arquivos de skills e especifique o que o agente está autorizado a fazer.
  • Exija aprovação para gravações e trate as mensagens de outros agentes como não confiáveis.
  • Execute o teste rápido em cada ferramenta de programação.

Perguntas frequentes

Por que o GPT-6.1 Terra retorna "Unsupported parameter: 'temperature'"?
Porque o nível de esforço de raciocínio não é none. A regra da OpenAI para a família GPT-6 é remover temperature, top_p e top_logprobs quando o esforço é diferente de none, e o nível padrão do Terra é medium. Remova esses parâmetros ou defina o esforço como none se precisar controlar a amostragem.

Por que o mesmo código funciona com Chat Completions?
Nas verificações de 27 de outubro de 2026, a rota Chat Completions do AIHubMix aceitou temperature 0.2 e top_p 0.5 e retornou 200. Isso significa que os testes com Chat Completions não detectarão o erro 400 retornado pela Responses API.

reasoning_effort funciona com Chat Completions pelo AIHubMix?
Nas verificações do AIHubMix em 27 de outubro de 2026, não houve diferença mensurável em alguns prompts pequenos: none e max produziram contagens semelhantes de tokens de raciocínio. Isso não é uma regra geral, mas, se o nível de esforço for importante para você, defina-o na Responses API, onde claramente funciona.

Preciso transferir as chamadas de ferramentas para a Responses API?
Sim. A documentação da OpenAI indica que as chamadas de ferramentas no Terra exigem a Responses. Uma solicitação de Chat Completions com uma ferramenta de função retornou chamadas de ferramenta pelo AIHubMix, mas esse comportamento não está documentado e não deve ser considerado confiável.

O que substitui o esforço minimal?
O Terra oferece none, low, medium, high, xhigh e max. A OpenAI recomenda começar com low e comparar os resultados em tarefas representativas.

O Batch está disponível para o Terra no AIHubMix?
Não. Uma chamada GET /v1/batches retorna 404 no AIHubMix, então não há uma rota Batch disponível para uso; os descontos de 50% de Batch e Flex são da OpenAI. A lista de preços do Terra no AIHubMix mostra as tarifas padrão de entrada, saída e leitura de cache, que correspondem ao preço de tabela da OpenAI.

Devo usar o Codex ou o Claude Code com o Terra?
Codex. Ele usa a Responses API, onde a configuração de esforço do Terra funciona pelo AIHubMix. O Claude Code funciona pela rota Messages, mas, nas verificações do AIHubMix, as configurações de raciocínio e esforço não tiveram efeito sobre o Terra.

Continue lendo: a série GPT-6.1 Terra

Fontes

Um só gateway para vários provedores de IA. Feito para produção.

Acessar AIHubMix