A MiniMax vai descontinuar o M2.5 e o M2.7 em 18 de novembro de 2026, e a mudança já começou. Desde 19 de outubro, as duas famílias mais antigas não estão disponíveis para novos usuários, e as solicitações dos planos que as especificam são atendidas pelo M3.1 Flash. Se você usa o modelo pré-pago, tem quatro semanas para alterar o ID do modelo por conta própria.
A maioria dos códigos do M2.7 funciona no M3.1 Flash sem alterações. O problema vem de uma decisão de projeto: o M3.1 Flash sempre pensa, e pensa no nível mais profundo, a menos que você indique o contrário. Isso gera um erro bem evidente, alguns aumentos de custo silenciosos e algumas configurações que agora não fazem absolutamente nada.
A AIHubMix executou todas as solicitações deste artigo pelo gateway em 19 de outubro de 2026, usando minimax-m3.1-flash. Os textos dos erros foram copiados dessas respostas. As regras da MiniMax são citadas da documentação da API.
Quem é afetado e como
| Você usa o M2.5/M2.7 por meio de | O que acontece | Prazo |
|---|---|---|
| Plano M / Plano de Tokens da MiniMax | As solicitações são atendidas pelo M3.1 Flash usando o nome antigo | Já aconteceu (19 de out.) |
| MiniMax pré-pago | Os IDs antigos continuam funcionando e depois deixam de funcionar | 18 de nov. de 2026 |
| Nova conta MiniMax | M2.5/M2.7 indisponível | 19 de out. de 2026 |
A página de modelos da MiniMax explica assim para usuários dos planos: “todas as solicitações aos modelos M2.5 e M2.7 desses planos serão encaminhadas automaticamente para o M3.1 Flash Preview” e “os nomes de modelo existentes continuarão funcionando”. Para usuários do modelo pré-pago: “Após a descontinuação, as solicitações de API para esses modelos deixarão de funcionar.” O aviso não menciona nenhum redirecionamento automático para usuários do modelo pré-pago, então espere erros, não um fallback.
Os usuários dos planos devem observar o que significa “encaminhadas”. Seus registros ainda mostram M2.7, mas os pesos são diferentes, o contexto é 5× maior e a profundidade de raciocínio padrão é max. Trate isso como uma mudança de modelo e execute novamente suas avaliações.
O que falha de forma evidente
400: “requires adaptive thinking”
O que você verá. Uma solicitação que desativa o raciocínio é rejeitada:
{"error": {"message": "invalid params, model \"MiniMax-M3.1-Flash\" requires adaptive thinking; thinking.type=\"disabled\" (including reasoning.effort=none) is not allowed (2013) (tid: …)", "type": "bad_request_error", "param": "", "code": null}}
Por quê. A referência da API Messages da MiniMax diz que o modelo “sempre pensa”: se thinking.type for enviado, ele precisa ser adaptive, e disabled retorna HTTP 400. Código escrito para o M3 pode apresentar esse problema, pois o M3 permite desativar o raciocínio. Frameworks que classificam o modelo como não raciocinador e enviam “thinking off” por padrão encontram o erro em todas as chamadas; os projetos kodus-ai e 9router-go relataram casos semelhantes.
Solicitação mínima que provoca o erro (Chat Completions na AIHubMix):
curl https://aihubmix.com/v1/chat/completions \
-H "Authorization: Bearer $AIHUBMIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "minimax-m3.1-flash",
"messages": [{"role": "user", "content": "hi"}],
"thinking": {"type": "disabled"}}'
Correção. Remova o campo thinking ou defina-o como {"type": "adaptive"}. Se você estava desativando o raciocínio para economizar tempo, use "reasoning_effort": "low".
Erro 400 com o mesmo código 2013 em URLs de imagem
O que você verá. invalid param: remote returned status 400 (2013). Recebemos esse erro com uma URL de imagem hospedada em upload.wikimedia.org. A mesma solicitação, com uma imagem em base64 ou com uma URL de imagem de outro host, retornou 200.
Por quê. O código 2013 é o código genérico da MiniMax para “parâmetros inválidos”, não um erro específico de raciocínio. Neste caso, aparentemente o serviço upstream não conseguiu buscar a imagem remota. Essa é a nossa interpretação da mensagem; a MiniMax não documenta esse caso.
Correção. Envie as imagens em base64 (data:image/png;base64,…) ou hospede-as em algum lugar que aceite solicitações HTTP simples. Ao pesquisar 2013 nos registros, leia a mensagem completa antes de presumir que é o erro de raciocínio.
Após 18 de novembro: IDs de modelos descontinuados
As chamadas pré-pagas para MiniMax-M2.5, MiniMax-M2.5-highspeed, MiniMax-M2.7 e MiniMax-M2.7-highspeed na API da MiniMax deixarão de funcionar nessa data. M2.1 e M2 não constam no aviso. Altere o ID do modelo antes disso. Na AIHubMix, o novo ID é minimax-m3.1-flash.
O que falha silenciosamente
Todas estas solicitações retornam 200. A diferença aparece na fatura, na latência ou na resposta.
1. Alternativas de “thinking off” que agora não fazem nada
Pela AIHubMix, três maneiras de pedir que o modelo não pense são aceitas sem erro, mas o modelo pensa mesmo assim:
| Solicitação | Resultado na AIHubMix |
|---|---|
| Messages API, thinking desativado | 200; 469–622 tokens de raciocínio em um quebra-cabeça curto |
| Chat, reasoning_effort none | 200; 265–372 tokens de raciocínio no mesmo quebra-cabeça |
| Chat, reasoning_effort minimal | 200; o modelo continua pensando |
As duas primeiras linhas correspondem a três execuções cada do mesmo quebra-cabeça lógico de três caixas, em que low usou 173–251 tokens de raciocínio. O teste de minimal foi uma única execução com uma pergunta de aritmética de uma linha.
Somente o Chat Completions com thinking: {"type": "disabled"} gera o erro 400 acima. Se o seu código do M2.x ou M3 dependia de qualquer uma dessas alternativas para manter as chamadas rápidas, agora elas pensam silenciosamente. A única opção eficaz é ajustar o nível de esforço, e o nível mais baixo é low.
2. O nível de esforço padrão é max
O M2.7 não tinha níveis de raciocínio. O M3.1 Flash tem cinco, e a documentação da MiniMax diz que, se o campo for omitido, o padrão é max. Em uma pequena correção de dois bugs em uma função Python, a AIHubMix mediu:
| Configuração | Média de tokens de raciocínio | Tempo médio | Custo médio por correção |
|---|---|---|---|
| Nível de esforço omitido | 6,364 | 56 s | $0.0045 |
| Nível de esforço low | 591 | 9.5 s | $0.0006 |
Todas as execuções com ambas as configurações passaram nos 215 testes ocultos. Os custos usam os preços da AIHubMix de $0.165 por milhão de tokens de entrada e $0.66 por milhão de tokens de saída, com três execuções para cada configuração. Se você migrar sem definir um nível de esforço, a mesma tarefa levará cerca de 6× mais tempo. A medição completa dos cinco níveis está no artigo sobre nível de esforço desta série.
3. O raciocínio consome max_tokens
Os tokens de raciocínio contam para max_tokens. O código do M2.x costuma definir limites baixos para respostas curtas. Com max_tokens: 64 e uma pergunta de duas frases, o modelo gastou o limite pensando e depois retornou finish_reason: "length" e a resposta “A luz solar contém muitas cores,”, cortada no meio da frase. A MiniMax recomenda 131,072 e permite até 524,288. Aumente os limites baixos ou verifique finish_reason antes de confiar no texto.
4. O armazenamento em cache e os níveis de serviço mudaram
cache_controlnão é compatível com o M3.1 Flash (nem com o M3), segundo a referência da API da MiniMax. No M2.7, as gravações explícitas no cache custavam $0.375 por milhão. No M3.1 Flash, o cache é automático. A AIHubMix cobra $0.0165 por milhão de leituras do cache, e todas as solicitações que enviamos tiveram cerca de 175–195 tokens do prompt atendidos pelo cache, inclusive a primeira. Parece ser um preâmbulo fixo do lado da MiniMax; a esse preço, custa cerca de um terço de centavo por mil solicitações. Remova os blocoscache_control; eles não fazem nada aqui.service_tiernão é compatível. Se você usava o nível Priority do M3 para reduzir a latência, não há equivalente no Flash.
5. Mesmo nome, parâmetros de amostragem diferentes
Os valores padrão da MiniMax passaram de top_p 0.9 no M2.x para 0.95 no M3.1 Flash, e a janela de contexto aumentou de 204,800 para 1,000,000 tokens. Prompts ajustados para o M2.7 podem gerar respostas mais longas ou menos precisas. Um modelo por trás de um nome inalterado ainda é um modelo novo: execute novamente suas avaliações.
Regras de cobrança fáceis de ignorar
- O raciocínio é cobrado como saída. Na AIHubMix, custa $0.66 por milhão. No nível de esforço padrão, o raciocínio representou 95% da saída na nossa correção de bugs (6,364 de 6,673 tokens).
- A MiniMax ainda não divulgou um preço oficial por token. A página de preços lista o M3 e o M2.x, mas não o M3.1 Flash. A AIHubMix cobra $0.165 / $0.66 / $0.0165 (entrada / saída / leitura do cache).
- O preço oficial do M3 dobra acima de 512K tokens de entrada. A AIHubMix lista um preço único para o M3.1 Flash. Se você enviar prompts muito longos, confira sua primeira fatura com base na sua própria estimativa.
Medidas para reduzir a fatura:
- Defina
reasoning_effort: "low"(Chat),output_config.effort: "low"(Messages) oureasoning.effort: "low"(Responses) como padrão e aumente o nível por tarefa. - Mantenha as instruções estáveis no início do prompt para que o cache automático possa atendê-las.
- Defina
max_tokenscom um valor suficientemente alto para que o raciocínio não trunque a resposta, pois tentar novamente uma resposta truncada custa mais do que deixar uma margem extra.
Agentes com permissões reais
Três comportamentos são importantes quando o modelo pode executar comandos ou editar arquivos:
- Ele sempre raciocina antes de agir, mesmo em
low. Isso ajuda na seleção de ferramentas. Também significa que cada etapa com uma ferramenta tem latência de raciocínio; nas nossas chamadas curtas de ferramentas, cada etapa levou cerca de 2 a 7 segundos emlow. - Ele faz exatamente o que você pede, sem ir além. Um dos primeiros testadores o descreveu como “incrivelmente rápido, mas precisa de instruções claras e específicas; caso contrário, é preguiçoso demais”. Dê aos agentes condições explícitas de parada e etapas de verificação (“execute os testes e cole o resultado”) em vez de objetivos vagos.
tool_choiceé oficialmente apenasauto. A AIHubMix aceitou"required"(Chat) e{"type": "any"}(Messages), e o modelo chamou a ferramenta, mas a MiniMax não documenta que a imposição funcione. Não baseie uma verificação de segurança nisso.
A MiniMax diz para devolver os blocos de raciocínio sem alterações nas etapas seguintes (Messages) e manter reasoning_content intacto (Chat). Em nosso teste, uma breve interação com ferramenta ainda funcionou depois que o bloco de raciocínio foi removido, mas siga a regra documentada em ciclos longos de agentes.
Ferramentas de programação
A AIHubMix disponibiliza o minimax-m3.1-flash nos três protocolos necessários às ferramentas de programação mais comuns. Cada uma foi testada em 19 de outubro com texto, uma chamada de ferramenta e uma interação de retorno do resultado da ferramenta.
| Ferramenta | Protocolo necessário | Funciona pela AIHubMix | Campo de esforço |
|---|---|---|---|
| Claude Code | Anthropic Messages | Sim | output_config.effort |
| Codex CLI | OpenAI Responses | Sim | reasoning.effort |
| OpenCode | Compatível com OpenAI | Sim | reasoning_effort |
A janela de contexto é de 1,000,000 na API da MiniMax. O MiniMax Code define o padrão do cliente como 512K “para equilibrar a experiência e o custo”, segundo uma citação da documentação da MiniMax feita por um responsável pela manutenção no projeto magpie; a API não tem um parâmetro de janela.
Claude Code. Configure-o para usar a AIHubMix conforme o guia da AIHubMix para Claude Code e defina o modelo como minimax-m3.1-flash:
export ANTHROPIC_BASE_URL="https://aihubmix.com"
export ANTHROPIC_AUTH_TOKEN="$AIHUBMIX_API_KEY"
export ANTHROPIC_MODEL="minimax-m3.1-flash"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="minimax-m3.1-flash" # background tasks too
As duas formas de raciocínio enviadas por clientes no estilo Anthropic, enabled com um orçamento e adaptive, retornaram 200 nos nossos testes, então você não receberá o erro 400. Problema conhecido: não está documentado se a configuração de esforço do Claude Code chega a um modelo que não seja da Claude como output_config.effort. Se não chegar, o modelo será executado com o padrão max, e as interações serão mais lentas do que com o M2.7. O teste rápido abaixo mostra como verificar.
Codex CLI. O Codex se comunica com a Responses API, que funciona com este modelo: as chamadas de função retornam como itens function_call. Configure um provedor personalizado como no guia do AIHubMix para Codex, com wire_api = "responses", depois defina model = "minimax-m3.1-flash" e model_reasoning_effort. Tanto xhigh quanto minimal foram aceitos; minimal não é um dos níveis da MiniMax, e o modelo ainda raciocina.
OpenCode. O problema #54801 do OpenCode (reproduzido na v2.0.27) relata que o OpenCode não resolve nenhuma variante de esforço para este modelo, então ctrl+t não faz nada. A solução alternativa indicada no problema é declarar você mesmo as cinco variantes em opencode.json. Com o provedor compatível com OpenAI do AIHubMix, o campo da solicitação que cada variante deve definir é reasoning_effort (low … max), e não output_config.effort, como indicado no problema. Não adicione uma variante none.
Um teste rápido de 15 minutos para qualquer uma das três ferramentas:
- Crie uma pasta temporária com uma função que tenha um bug conhecido e um arquivo de teste que falhe por causa dele.
- Peça ao agente: "Execute os testes, corrija o bug, execute os testes novamente e mostre o resultado."
- O resultado esperado é este: o agente executa os testes antes e depois, a execução final passa, ele termina em poucas interações e nenhuma delas retorna um erro 400.
- Verifique o registro de uso do AIHubMix. Você deve ver solicitações de
minimax-m3.1-flashcom tokens de raciocínio. Se cada interação levar quase um minuto, a configuração de esforço não está chegando ao modelo, que está sendo executado emmax.
Lista de verificação da migração
- Substitua os IDs MiniMax-M2.5 / M2.7 por minimax-m3.1-flash (no AIHubMix) antes de 18 de novembro.
- Remova das solicitações thinking disabled, effort none e effort minimal.
- Adicione um nível de esforço explícito a cada solicitação; comece com low.
- Aumente max_tokens para que o raciocínio não trunque as respostas; verifique finish_reason.
- Remova os campos cache_control e service_tier.
- Envie imagens em base64 ou a partir de um host que o serviço upstream possa acessar.
- Mantenha intactos os blocos de raciocínio e reasoning_content entre as interações com ferramentas.
- Execute novamente suas avaliações: mesmo nome, novo modelo, novos padrões de amostragem.
- Nas ferramentas de programação, confirme que a configuração de esforço chega ao modelo (o tempo de cada interação é um indicador rápido).
Perguntas frequentes
Por que recebo o erro "requires adaptive thinking"?
Sua solicitação desativou o raciocínio, geralmente com o tipo de raciocínio disabled no endpoint Chat Completions. O M3.1 Flash sempre raciocina. Remova o campo ou defina-o como adaptive e use effort low se quiser mais velocidade.
Minhas solicitações ao M2.7 não mudaram, mas as respostas sim. Por quê?
Se você usa um MiniMax M Plan ou Token Plan, as solicitações que especificam M2.5 ou M2.7 são atendidas pelo M3.1 Flash desde 19 de outubro de 2026, sob o nome antigo.
Qual é o prazo para usuários com pagamento por uso?
18 de novembro de 2026. Depois disso, as solicitações da API MiniMax para M2.5 e M2.7 deixarão de funcionar.
reasoning_effort none funciona no AIHubMix?
Retorna 200, mas o modelo ainda raciocina. O nível efetivo mais baixo é low.
Ainda preciso de cache_control?
Não. A MiniMax não oferece suporte a esse recurso no M3.1 Flash. O cache é automático, e o AIHubMix cobra $0.0165 por milhão de tokens de entrada armazenados em cache.
Posso usar o M3.1 Flash no Claude Code e no Codex?
Sim. O AIHubMix o disponibiliza pela Anthropic Messages API para o Claude Code e pela Responses API para o Codex. Ambos passaram nos testes de texto, chamada de ferramenta e resultado de ferramenta em 19 de outubro de 2026.
Por que minhas respostas são cortadas?
Os tokens de raciocínio contam para max_tokens. Se finish_reason for length, aumente max_tokens. A MiniMax recomenda 131,072.
Continue lendo: a série MiniMax M3.1 Flash
- Antes de se comprometer com a mudança, veja para o que está migrando, do lançamento do Space Bunny ao preço em comparação com M2.7 e M3: MiniMax M3.1 Flash é Space Bunny: o que mudou em relação ao M2.7 e ao M3 e quanto custa
- A configuração mais importante após a migração é o esforço. Esta publicação mede os cinco níveis em uma única correção de bug: Níveis de esforço do MiniMax M3.1 Flash: por que o padrão custou 7× mais que low na mesma correção de bug
- Se a migração fez você reconsiderar a MiniMax como um todo, aqui estão a mesma tarefa e o custo com os dois concorrentes mais próximos: MiniMax M3.1 Flash vs DeepSeek V4.1 Flash vs Claude Haiku 5.5: uma correção de bug, três contas



