MiniMax M3.1 Flash heeft vijf denkniveaus en geen uitschakelaar. Als je geen niveau kiest, kiest het model het diepste niveau voor je. In MiniMax' gids voor tekstgeneratie staat dat de inspanning standaard op max staat wanneer deze niet wordt opgegeven.
Die standaardinstelling is op een manier duur die je makkelijk over het hoofd ziet. AIHubMix voerde dezelfde bugfix met twee fouten uit op elk niveau. De standaardinstelling gebruikte ongeveer 10× zoveel denktokens als low en duurde ongeveer 6× zo lang, terwijl elke uitvoering op elk niveau alle 215 tests doorstond. De kosten voor het denken van het model namen toe met de ingestelde inspanning, terwijl de taak even moeilijk bleef.
Het korte antwoord: begin met low, schakel alleen over naar een hoger niveau als een taak mislukt of opnieuw geprobeerd moet worden, en laat het veld nooit leeg.
Vijf niveaus, geen uitschakelaar
| Protocol | Veld | Waarden | Standaard |
|---|---|---|---|
| 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 |
Denken kan niet worden uitgeschakeld. Volgens MiniMax' referentie voor de Messages API retourneert de API HTTP 400 voor thinking: {"type": "disabled"} en voor inspanning none, met de melding model "MiniMax-M3.1-Flash" requires adaptive thinking. Oudere MiniMax-modellen negeren het inspanningsveld volledig. Tot nu toe is M3.1 Flash het enige MiniMax-model waarbij dit veld effect heeft.
Alle drie de protocollen zijn beschikbaar voor minimax-m3.1-flash op AIHubMix. Eén verschil met MiniMax' eigen API: AIHubMix accepteerde reasoning_effort: "none" en "minimal" met HTTP 200, maar het model dacht alsnog na. Beschouw die waarden als no-ops, niet als een manier om het denken uit te schakelen.
Wat elk niveau kostte voor één taak
De test: een factureringsfunctie met twee bugs. Een pauze die doorloopt tot voorbij het einde van de periode telt één dag dubbel, en overlappende pauzes worden twee keer afgetrokken. Het model retourneert de gecorrigeerde functie en een lokale testomgeving controleert die aan de hand van 215 verborgen testgevallen. Elk niveau werd op 19 oktober 2026 drie keer uitgevoerd via het Chat Completions-endpoint van AIHubMix, met max_tokens ingesteld op 32,768. Alle cijfers zijn gemeten door AIHubMix en zijn door niemand anders gereproduceerd.
| Inspanning | Gem. denktokens | Bereik (3 uitvoeringen) | Gem. tijd | Gem. kosten per fix | Tests |
|---|---|---|---|---|---|
| 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 |
| niet opgegeven | 6,364 | 4,284–9,376 | 56.3 s | $0.0045 | 215/215 ×3 |
De kosten zijn gebaseerd op de prijzen van AIHubMix voor minimax-m3.1-flash: $0.165 per miljoen inputtokens, $0.66 per miljoen outputtokens en $0.0165 per miljoen gecachte inputtokens. Denktokens worden als output gefactureerd. De rij 'niet opgegeven' kwam bijvoorbeeld gemiddeld uit op 464 prompttokens (waarvan ongeveer 192 gecachet) en 6,673 outputtokens, wat neerkomt op ongeveer $0.0045 per fix.
Wat de cijfers laten zien
Voor deze taak was low voldoende. Elk niveau leverde telkens een correcte oplossing op. Bij een afgebakende bug in één functie leverde het extra denken op hogere niveaus niets meetbaars op.
Van low naar medium is een duidelijke stap. Medium gebruikte gemiddeld ongeveer 2.6× zoveel denktokens als low en duurde meer dan twee keer zo lang.
Boven medium lopen de niveaus door elkaar. Onze xhigh-uitvoeringen gebruikten gemiddeld minder tokens dan high, en de resultaten van max overlapten met die van beide. Drie uitvoeringen per niveau zijn niet genoeg om ze van elkaar te onderscheiden. Bij deze taak betekenden 'high', 'xhigh' en 'max' allemaal: 'meer nadenken, soms veel meer'.
Als je het veld niet opgeeft, gedraagt het model zich als bij max. Dat komt overeen met de documentatie van MiniMax. Het gemiddelde voor 'niet opgegeven' lag in onze test hoger dan voor 'max', maar de bereiken overlappen en het verschil valt binnen de variatie tussen uitvoeringen.
Op elk niveau is de variatie groot. De standaardinstelling varieerde van 39 tot 82 seconden voor dezelfde prompt. Op het Anthropic Messages-endpoint gebruikten drie uitvoeringen met low 511, 1,861 en 6,060 denktokens. De laatste duurde 56 seconden, even lang als een gebruikelijke uitvoering met max. De inspanningsinstelling bepaalt de gemiddelde diepgang van het denken, niet een harde bovengrens.
De doorvoer bleef stabiel, op ongeveer 112 outputtokens per seconde voor alle 24 Flash-uitvoeringen, waardoor de tijd vrijwel lineair schaalt met het aantal denktokens. Met deze snelheid betekent 6,000 denktokens bijna een minuut wachten.
MiniMax heeft geen eigen gegevens gepubliceerd over tokens of latentie per niveau. We kunnen op basis van deze ene test niet zeggen wat er gebeurt wanneer een moeilijkere taak de hogere niveaus vereist. De cijfers hierboven laten alleen zien wat elk niveau kost wanneer de taak dat extra denken niet nodig heeft.
Korte prompts vergen nauwelijks denkwerk
'Denkt altijd' betekent niet 'denkt altijd lang na'. Denken is adaptief, dus de diepgang hangt af van hoe moeilijk de prompt lijkt:
- Vijf supporttickets indelen bij een van vier labels: 0 denktokens bij
lowen gemiddeld 6 bij de standaardinstelling. Elk label was correct. - 'Wat is 17 × 23?' bij
low: helemaal geen denktokens, 2 outputtokens.
De ontbrekende uitschakelaar kost dus bijna niets bij korte classificatie-, extractie- en routeringsverzoeken. De kosten worden zichtbaar bij open taken zoals programmeren, waarbij het model meer stof vindt om over na te denken naarmate je het dieper laat gaan.
Waar begin je?
Dit zijn uitgangspunten. Alleen de eerste twee rijen zijn rechtstreeks gemeten; de rest zijn onze aanbevelingen. Toets ze aan de hand van je eigen nieuwe pogingen:
| Werkbelasting | Begin op | Verhoog het niveau wanneer |
|---|---|---|
| Classificatie, extractie, routering | low | Labels in moeilijke gevallen onjuist zijn |
| Fixes voor één functie, kleine reviews | low | Een fix twee keer niet slaagt voor de tests |
| Wijzigingen in meerdere bestanden, refactors | medium | De agent een afhankelijk bestand over het hoofd ziet |
| Agentlussen met veel toolaanroepen | low of medium | Stappen zich herhalen of vastlopen |
| Moeilijke debugging, ontwerpvragen | high | Antwoorden oppervlakkig blijven |
| Interactieve chat waarbij iemand op een antwoord wacht | low | Gebruik hier nooit standaard max |
Gebruik max alleen als je hebt gezien dat high faalt bij dit soort taken.
Wat er misgaat of duurder wordt als je de inspanning wijzigt
- Afgekapt antwoord. Denkwerk telt mee voor
max_tokens. Bij één uitvoering met de standaardinstelling gebruikte het model 9,376 denktokens voor één functie. Daardoor kan een limiet van 4K of 8K die is ingesteld voor antwoorden van M2.x het antwoord afkappen metfinish_reason: "length". MiniMax raadt 131,072 aan en staat 524,288 toe. - Time-outs. Bij high en hoger kan één aanroep een minuut duren. Time-outs van clients en proxies die zijn afgestemd op een snel model moeten worden verhoogd naar 120 seconden of meer.
- Waarden die ongemerkt niets doen. Via AIHubMix werden
none,minimalen een onbekende waarde zoalsautoallemaal geaccepteerd, maar het model dacht alsnog na. Volgens tests van een gatewayproject weigeren de eigen endpoints van MiniMax onbekende waarden (sub2api-issue #8025). Gebruik een van de vijf gedocumenteerde waarden. - Tools die de niveaus niet aanbieden. OpenCode lost momenteel geen inspanningsvarianten op voor dit model, en sommige frameworks sturen 'thinking disabled', wat de 400-fout veroorzaakt. Controleer wat je tool daadwerkelijk verstuurt.
- Verschillende modellen in één pipeline. M3 en M2.x negeren het inspanningsveld. Als je tussen modellen schakelt, levert een inspanningsniveau dat geld bespaart met Flash niets op bij de andere modellen.
Instellen per protocol
Alle drie via AIHubMix met één sleutel. De beknopte startgids behandelt sleutels; op de pagina over uniforme redeneerparameters lees je hoe AIHubMix redeneervelden van verschillende aanbieders verwerkt.
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 (Python SDK; voeg output_config toe aan extra_body als je SDK-versie het veld niet kent):
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)
Controleer usage bij de eerste paar aanroepen. Chat Completions rapporteert denken als completion_tokens_details.reasoning_tokens, Messages als output_tokens_details.thinking_tokens en Responses als output_tokens_details.reasoning_tokens. Als die aantallen niet veranderen wanneer je het niveau wijzigt, bereikt de instelling het model niet.
Veelgestelde vragen
Wat is het standaardinspanningsniveau voor MiniMax M3.1 Flash?
Max. Als het verzoek geen inspanningsveld bevat, denkt het model op het diepste niveau na.
Kan ik het denken volledig uitschakelen?
Nee. Het uitschakelen van denken retourneert HTTP 400 bij de API van MiniMax. Het laagste niveau is low, en bij korte prompts gebruikt low vaak helemaal geen denktokens.
Welk inspanningsniveau kan ik het beste gebruiken voor programmeerwerk?
Begin met low voor fixes in één functie en kleine reviews, en met medium voor wijzigingen in meerdere bestanden. Schakel alleen over naar een hoger niveau als een taak mislukt. In onze test loste low een functie met twee bugs telkens correct op.
Is max-inspanning nauwkeuriger?
Niet voor onze testtaak: elk niveau slaagde voor alle 215 tests. Max gebruikte veel meer tokens en tijd. Hogere niveaus kunnen helpen bij moeilijkere taken, maar niemand heeft gegevens gepubliceerd die laten zien bij welke taken.
Waarom duurde hetzelfde verzoek de ene keer 10 seconden en de volgende keer 56 seconden?
De diepgang van het denken varieert tussen uitvoeringen, zelfs bij een vast niveau. Bij één uitvoering met lage inspanning via het Messages-endpoint werden ongeveer tien keer zoveel denktokens gebruikt als bij een andere.
Werkt reasoning_effort none via AIHubMix?
De waarde wordt zonder fout geaccepteerd, maar het model denkt alsnog na. Gebruik in plaats daarvan low.
Hoe kan ik zien hoeveel denktokens een aanroep heeft gebruikt?
Kijk in het usage-object: reasoning_tokens bij Chat Completions en Responses, en thinking_tokens bij de Messages API.
Lees verder: de MiniMax M3.1 Flash-serie
- Voor een breder beeld van deze instelling, van de lancering van Space Bunny tot de prijs ten opzichte van M2.7 en M: MiniMax M3.1 Flash is Space Bunny: wat er veranderde ten opzichte van M2.7 en M, en wat het kost
- Inspanningsniveau is een van de zaken die veranderen wanneer je code van M2.5/M2.7 overzet. Dit artikel behandelt de 400-fouten en de rest: Overstappen van MiniMax M2.5/M2.7 vóór 18 nov.: de 400-fout 'requires adaptive thinking' van M3.1 Flash oplossen
- Bij lage inspanning was Flash de goedkoopste van de drie modellen voor dezelfde fix. Zo verhoudt de standaardinstelling zich tot die van DeepSeek en Haiku: MiniMax M3.1 Flash vs DeepSeek V4.1 Flash vs Claude Haiku 5.5: één bugfix, drie rekeningen



