O MiniMax M3.1 Flash tem cinco níveis de raciocínio e não tem opção para desativá-lo. Se você não escolher um nível, o modelo escolhe o mais profundo. O guia de geração de texto da MiniMax diz que o esforço «por padrão é max quando omitido».
Esse padrão é caro de uma forma fácil de não perceber. A AIHubMix executou a mesma correção de dois bugs em todos os níveis. O padrão usou cerca de 10× mais tokens de raciocínio do que low e levou cerca de 6× mais tempo, e todas as execuções em todos os níveis passaram nos 215 testes. O custo de raciocínio do modelo aumentou com a configuração de esforço, enquanto a dificuldade da tarefa permaneceu igual.
A resposta curta: comece em low, aumente somente quando uma tarefa falhar ou exigir novas tentativas, e nunca deixe o campo vazio.
Cinco níveis, sem opção para desativar
| Protocolo | Campo | Valores | Padrão |
|---|---|---|---|
| OpenAI Chat Completions | reasoning_effort | low, medium, high, xhigh, max | max |
| Anthropic Messages | output_config.effort | low, medium, high, xhigh, max | max |
| OpenAI Responses | reasoning.effort | low, medium, high, xhigh, max | max |
Não é possível desativar o raciocínio. De acordo com a referência da API Messages da MiniMax, a API retorna HTTP 400 para thinking: {"type": "disabled"} e para o esforço none, com a mensagem model "MiniMax-M3.1-Flash" requires adaptive thinking. Os modelos mais antigos da MiniMax ignoram totalmente o campo de esforço. Até agora, o M3.1 Flash é o único modelo da MiniMax em que esse campo tem algum efeito.
Os três protocolos estão disponíveis para minimax-m3.1-flash na AIHubMix. Uma diferença em relação à API da própria MiniMax: a AIHubMix aceitou reasoning_effort: "none" e "minimal" com HTTP 200, e o modelo raciocinou mesmo assim. Trate esses valores como opções sem efeito, não como uma forma de desativar o raciocínio.
Quanto custou cada nível em uma tarefa
O teste: uma função de cobrança com dois bugs. Uma pausa que ultrapassa o fim do período conta um dia em duplicidade, e pausas sobrepostas são subtraídas duas vezes. O modelo retorna a função corrigida, e um teste local a verifica com base em 215 casos ocultos. Cada nível foi executado três vezes pelo endpoint Chat Completions da AIHubMix em 19 de outubro de 2026, com max_tokens definido como 32,768. Todos os números foram medidos pela AIHubMix, e ninguém mais os reproduziu.
| Esforço | Média de tokens de raciocínio | Intervalo (3 execuções) | Tempo médio | Custo médio por correção | Testes |
|---|---|---|---|---|---|
| low | 591 | 344–812 | 9.5 s | $0.0006 | 215/215 ×3 |
| medium | 1,522 | 970–2,488 | 21.7 s | $0.0013 | 215/215 ×3 |
| high | 2,863 | 2,194–3,673 | 27.1 s | $0.0022 | 215/215 ×3 |
| xhigh | 1,949 | 1,019–2,562 | 19.2 s | $0.0015 | 215/215 ×3 |
| max | 4,699 | 2,612–6,246 | 40.4 s | $0.0034 | 215/215 ×3 |
| omitido | 6,364 | 4,284–9,376 | 56.3 s | $0.0045 | 215/215 ×3 |
Os custos usam os preços da AIHubMix para minimax-m3.1-flash: US$ 0.165 por milhão de tokens de entrada, US$ 0.66 por milhão de tokens de saída e US$ 0.0165 por milhão de tokens de entrada em cache. Os tokens de raciocínio são cobrados como tokens de saída. Por exemplo, a linha «omitido» teve uma média de 464 tokens de prompt (cerca de 192 em cache) e 6,673 tokens de saída, o que dá aproximadamente US$ 0.0045 por correção.
O que os números mostram
low foi suficiente para esta tarefa. Todos os níveis produziram uma correção correta em todas as execuções. Para um bug bem delimitado em uma única função, o raciocínio adicional nos níveis mais altos não trouxe nenhum benefício mensurável.
De low para medium há um salto evidente. Em média, medium usou cerca de 2.6× mais tokens de raciocínio do que low e levou mais que o dobro do tempo.
Acima de medium, as diferenças entre os níveis ficam indistintas. Nossas execuções de xhigh usaram, em média, menos tokens do que high, e max se sobrepôs a ambos. Três execuções por nível não são suficientes para distingui-los. Nesta tarefa, «high», «xhigh» e «max» significaram «mais raciocínio, às vezes muito mais».
Quando omitido, o valor se comporta como max. Isso corresponde à documentação da MiniMax. Nossa média de «omitido» foi maior do que a de «max», mas os intervalos se sobrepõem e a diferença está dentro da variação entre execuções.
A variação é grande em todos os níveis. O padrão variou de 39 a 82 segundos para o mesmo prompt. No endpoint Anthropic Messages, três execuções com low usaram 511, 1,861 e 6,060 tokens de raciocínio. A última levou 56 segundos, o mesmo tempo de uma execução típica com max. O nível de esforço define a profundidade média do raciocínio, não um limite rígido.
A taxa de geração se manteve estável, em cerca de 112 tokens de saída por segundo nas 24 execuções do Flash, então o tempo cresce quase linearmente com os tokens de raciocínio. Nessa velocidade, raciocinar por 6,000 tokens significa esperar quase um minuto.
A MiniMax não publicou dados próprios de tokens ou latência por nível. Não podemos dizer, com base neste único teste, o que acontece quando uma tarefa mais difícil começa a exigir níveis mais altos. Os números acima mostram apenas quanto custa cada nível quando a tarefa não precisa dele.
Prompts curtos quase não exigem raciocínio
«Sempre raciocina» não significa «sempre raciocina muito». O raciocínio é adaptativo, então a profundidade depende da dificuldade aparente do prompt:
- Classificação de cinco tíquetes de suporte em um de quatro rótulos: 0 tokens de raciocínio com
lowe uma média de 6 no padrão. Todos os rótulos estavam corretos. - «Quanto é 17 × 23?» com
low: nenhum raciocínio, apenas 2 tokens de saída.
Portanto, a falta de uma opção para desativar o raciocínio quase não custa nada em chamadas curtas de classificação, extração e encaminhamento. O custo aparece em tarefas abertas, como programação, nas quais o modelo encontra mais coisas para ponderar quanto mais profundamente você o deixa raciocinar.
Por onde começar
Estes são pontos de partida. Apenas as duas primeiras linhas foram medidas diretamente; as demais são nossas recomendações, que você deve validar com base nas suas próprias novas tentativas:
| Carga de trabalho | Comece em | Aumente quando |
|---|---|---|
| Classificação, extração, encaminhamento | low | Os rótulos estiverem errados em casos difíceis |
| Correções em uma única função, revisões pequenas | low | Uma correção falhar nos testes duas vezes |
| Alterações em vários arquivos, refatorações | medium | O agente não perceber um arquivo dependente |
| Loops do agente com muitas chamadas de ferramentas | low ou medium | As etapas se repetirem ou travarem |
| Depuração difícil, questões de design | high | As respostas continuarem superficiais |
| Conversa interativa com alguém esperando | low | Nunca use max como padrão neste caso |
Use max somente se já tiver visto high falhar nesse tipo de tarefa.
O que pode falhar ou ficar caro quando o esforço muda
- Respostas truncadas. O raciocínio conta para o limite de
max_tokens. Uma execução com o padrão usou 9,376 tokens de raciocínio em uma única função, então um limite de 4K ou 8K definido para respostas do M2.x pode cortar a resposta e retornarfinish_reason: "length". A MiniMax recomenda 131,072 e permite 524,288. - Tempos limite excedidos. Em high ou acima, uma única chamada pode levar um minuto. É preciso aumentar para 120 segundos ou mais os tempos limite de clientes e proxies configurados para um modelo rápido.
- Valores que não fazem nada sem avisar. Pela AIHubMix,
none,minimale um valor desconhecido comoautoforam aceitos, e o modelo continuou raciocinando. Segundo os testes de um projeto de gateway, os próprios endpoints da MiniMax rejeitam valores desconhecidos (issue #8025 do sub2api). Use um dos cinco valores documentados. - Ferramentas que não expõem os níveis. Atualmente, o OpenCode não oferece variantes de esforço para este modelo, e alguns frameworks enviam «thinking disabled», o que aciona o erro 400. Confira o que sua ferramenta realmente envia.
- Vários modelos no mesmo pipeline. M3 e M2.x ignoram o campo de esforço. Se você alternar entre modelos, um nível de esforço que economiza dinheiro no Flash não terá efeito nos outros.
Como definir em cada protocolo
Os três protocolos estão disponíveis pela AIHubMix com uma única chave. O guia de início rápido explica como obter as chaves, e a página de parâmetros unificados de raciocínio explica como a AIHubMix trata os campos de raciocínio entre fornecedores.
Chat Completions:
curl https://aihubmix.com/v1/chat/completions \
-H "Authorization: Bearer $AIHUBMIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "minimax-m3.1-flash",
"reasoning_effort": "low",
"max_tokens": 32768,
"messages": [{"role": "user", "content": "Write a function that merges overlapping date ranges."}]}'
Anthropic Messages (SDK do Python; se a versão do seu SDK não reconhecer o campo, inclua output_config em extra_body):
import os
import anthropic
client = anthropic.Anthropic(base_url="https://aihubmix.com", api_key=os.environ["AIHUBMIX_API_KEY"])
msg = client.messages.create(
model="minimax-m3.1-flash",
max_tokens=32768,
messages=[{"role": "user", "content": "Write a function that merges overlapping date ranges."}],
extra_body={"output_config": {"effort": "medium"}},
)
print(msg.usage)
Responses:
import os
from openai import OpenAI
client = OpenAI(base_url="https://aihubmix.com/v1", api_key=os.environ["AIHUBMIX_API_KEY"])
resp = client.responses.create(
model="minimax-m3.1-flash",
reasoning={"effort": "low"},
max_output_tokens=32768,
input="Write a function that merges overlapping date ranges.",
)
print(resp.usage)
Confira usage nas primeiras chamadas. Chat Completions informa o raciocínio em completion_tokens_details.reasoning_tokens, Messages em output_tokens_details.thinking_tokens, e Responses em output_tokens_details.reasoning_tokens. Se esses números não mudarem quando você alterar o nível, a configuração não está chegando ao modelo.
Perguntas frequentes
Qual é o nível de esforço padrão do MiniMax M3.1 Flash?
Max. Se a solicitação não incluir um campo de esforço, o modelo raciocina no nível mais profundo.
Posso desativar totalmente o raciocínio?
Não. Desativar o raciocínio retorna HTTP 400 na API da MiniMax. O nível mais baixo é low e, em prompts curtos, low muitas vezes não usa tokens de raciocínio.
Qual nível de esforço devo usar para programação?
Comece em low para correções em uma única função e revisões pequenas, em medium para alterações em vários arquivos, e aumente somente quando uma tarefa falhar. Em nosso teste, low corrigiu corretamente uma função com dois bugs em todas as execuções.
O nível max é mais preciso?
Não na tarefa do nosso teste: todos os níveis passaram nos 215 testes. Max usou muito mais tokens e tempo. Níveis mais altos podem ajudar em tarefas mais difíceis, mas ninguém publicou dados que mostrem em quais casos.
Por que a mesma solicitação levou 10 segundos uma vez e 56 segundos na seguinte?
A profundidade do raciocínio varia entre execuções, mesmo em um nível fixo. Uma execução com baixo esforço no endpoint Messages usou cerca de dez vezes mais tokens de raciocínio do que outra.
reasoning_effort none funciona pela AIHubMix?
É aceito sem erro, mas o modelo continua raciocinando. Use low.
Como vejo quantos tokens de raciocínio uma chamada usou?
Consulte o objeto usage: reasoning_tokens no Chat Completions e no Responses, e thinking_tokens na API Messages.
Continue lendo: a série MiniMax M3.1 Flash
- Para entender melhor essa configuração, 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
- O esforço é uma das várias coisas que mudam quando o código migra do M2.5/M2.7. Esta publicação aborda os erros 400 e o restante: Migrando do MiniMax M2.5/M2.7 antes de 18 de novembro: corrigindo o erro 400 "requires adaptive thinking" do M3.1 Flash
- Com esforço baixo, o Flash foi o mais barato dos três modelos para a mesma correção. Veja como o custo padrão se compara ao do DeepSeek e do Haiku: MiniMax M3.1 Flash vs DeepSeek V4.1 Flash vs Claude Haiku 5.5: uma correção de bug, três contas



