MiniMax wycofuje modele M2.5 i M2.7 18 listopada 2026 r., a zmiany już się rozpoczęły. Od 19 października obie starsze rodziny modeli są niedostępne dla nowych użytkowników, a żądania w ramach planów, które wskazują te modele, są obsługiwane przez M3.1 Flash. Jeśli korzystasz z płatności za użycie, masz cztery tygodnie na samodzielną zmianę identyfikatora modelu.
Większość kodu dla M2.7 działa bez zmian z M3.1 Flash. Problem wynika z jednej decyzji projektowej: M3.1 Flash zawsze prowadzi rozumowanie, i to na najgłębszym poziomie, chyba że określisz inaczej. Powoduje to jeden wyraźny błąd, kilka mniej widocznych wzrostów kosztów i parę ustawień, które teraz nic nie robią.
AIHubMix przepuścił każde żądanie opisane w tym artykule przez swoją bramę 19 października 2026 r., korzystając z minimax-m3.1-flash. Teksty błędów skopiowano z odpowiedzi. Zasady MiniMax przytoczono z dokumentacji API.
Kogo to dotyczy i w jaki sposób
| Korzystasz z M2.5/M2.7 przez | Co się stanie | Termin |
|---|---|---|
| MiniMax M Plan / Token Plan | Żądania są obsługiwane przez M3.1 Flash pod starą nazwą | Już się stało (19 października) |
| MiniMax — płatność za użycie | Stare identyfikatory nadal działają, ale przestaną | 18 listopada 2026 r. |
| Nowe konto MiniMax | M2.5/M2.7 niedostępne | 19 października 2026 r. |
Na stronie modeli MiniMax informuje użytkowników planów: „wszystkie żądania do modeli M2.5 i M2.7 w ramach tych planów będą automatycznie kierowane do M3.1 Flash Preview” oraz „istniejące nazwy modeli będą nadal działać”. Użytkownikom korzystającym z płatności za użycie przekazuje: „Po wycofaniu tych modeli żądania API do nich przestaną działać”. W komunikacie nie wspomniano o automatycznym przekierowaniu dla użytkowników płacących za użycie, więc należy spodziewać się błędów, a nie rozwiązania zastępczego.
Użytkownicy planów powinni zwrócić uwagę na znaczenie słowa „kierowane”. W logach nadal widnieje M2.7, ale wagi są inne, kontekst jest 5× większy, a domyślna głębokość rozumowania to max. Potraktuj to jako zmianę modelu i ponownie uruchom testy ewaluacyjne.
Co kończy się jawnym błędem
400: „requires adaptive thinking”
Co zobaczysz. Żądanie wyłączające rozumowanie zostanie odrzucone:
{"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}}
Dlaczego. Zgodnie z opisem API Messages MiniMax model „zawsze prowadzi rozumowanie”: jeśli wysłano thinking.type, musi mieć wartość adaptive, a disabled zwraca HTTP 400. Może to dotyczyć kodu napisanego dla M3, ponieważ w M3 można wyłączyć rozumowanie. Frameworki, które oznaczają model jako nierozumujący i domyślnie wysyłają „thinking off”, napotykają ten błąd przy każdym wywołaniu; projekty kodus-ai i 9router-go zgłosiły takie przypadki.
Minimalne żądanie wywołujące ten błąd (Chat Completions przez 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"}}'
Rozwiązanie. Usuń pole thinking albo ustaw jego wartość na {"type": "adaptive"}. Jeśli wyłączasz rozumowanie, by oszczędzić czas, użyj zamiast tego "reasoning_effort": "low".
Błąd 400 z tym samym kodem 2013 przy adresach URL obrazów
Co zobaczysz. invalid param: remote returned status 400 (2013). Otrzymaliśmy ten błąd dla obrazu pod adresem URL na upload.wikimedia.org. To samo żądanie z obrazem w formacie base64 albo adresem URL obrazu z innego hosta zwróciło 200.
Dlaczego. Kod 2013 to ogólny kod MiniMax oznaczający „nieprawidłowe parametry”, a nie błąd związany z rozumowaniem. W tym przypadku serwer nadrzędny najwyraźniej nie mógł pobrać obrazu zdalnego. Tak interpretujemy komunikat; MiniMax nie dokumentuje tego przypadku.
Rozwiązanie. Przesyłaj obrazy w formacie base64 (data:image/png;base64,…) albo hostuj je w miejscu obsługującym zwykłe żądania HTTP. Gdy przeszukujesz logi pod kątem kodu 2013, sprawdź cały komunikat, zanim uznasz, że chodzi o błąd związany z rozumowaniem.
Po 18 listopada: wycofane identyfikatory modeli
Wywołania API MiniMax z płatnością za użycie, korzystające z identyfikatorów MiniMax-M2.5, MiniMax-M2.5-highspeed, MiniMax-M2.7 i MiniMax-M2.7-highspeed, przestaną działać tego dnia. Komunikat nie wymienia M2.1 ani M2. Zmień identyfikator modelu przed tym terminem. W AIHubMix nowy identyfikator to minimax-m3.1-flash.
Co zawodzi po cichu
Wszystkie te żądania zwracają 200. Różnica ujawnia się na rachunku, w opóźnieniach albo w wynikach.
1. Przełączniki „wyłącz rozumowanie”, które teraz nic nie robią
W AIHubMix trzy sposoby proszenia o wyłączenie rozumowania są akceptowane bez błędu, ale model i tak prowadzi rozumowanie:
| Żądanie | Wynik w AIHubMix |
|---|---|
| Messages API, thinking wyłączone | 200; 469–622 tokeny rozumowania w krótkiej łamigłówce |
| Chat, reasoning_effort none | 200; 265–372 tokeny rozumowania w tej samej łamigłówce |
| Chat, reasoning_effort minimal | 200; model nadal prowadzi rozumowanie |
Dwa pierwsze wiersze dotyczą po trzy razy uruchomionej tej samej łamigłówki logicznej z trzema pudełkami; przy ustawieniu low użyto 173–251 tokenów rozumowania. Sprawdzenie ustawienia minimal obejmowało jedno uruchomienie z jednowierszowym zadaniem arytmetycznym.
Błąd 400 opisany powyżej występuje tylko w Chat Completions z ustawieniem thinking: {"type": "disabled"}. Jeśli kod M2.x lub M3 polegał na którymkolwiek z tych przełączników, by przyspieszać wywołania, teraz model po cichu prowadzi rozumowanie. Jedyną skuteczną regulacją jest poziom wysiłku, a najniższy poziom to low.
2. Domyślny poziom wysiłku to max
M2.7 nie miał poziomów rozumowania. M3.1 Flash ma ich pięć, a dokumentacja MiniMax wskazuje, że pominięcie pola oznacza max. W przypadku drobnej poprawki dwóch błędów w jednej funkcji Python AIHubMix zmierzył:
| Ustawienie | Śr. liczba tokenów rozumowania | Śr. czas | Śr. koszt poprawki |
|---|---|---|---|
| Pominięty poziom wysiłku | 6,364 | 56 s | $0.0045 |
| Poziom wysiłku low | 591 | 9.5 s | $0.0006 |
Wszystkie uruchomienia przy obu ustawieniach przeszły wszystkie 215 ukrytych testów. Koszty obliczono na podstawie cen AIHubMix: $0.165 za milion tokenów wejściowych i $0.66 za milion tokenów wyjściowych; po trzy uruchomienia na ustawienie. Jeśli przeprowadzisz migrację bez dodania ustawienia poziomu wysiłku, wykonanie tego samego zadania zajmie około 6× więcej czasu. Pełne pomiary dla wszystkich pięciu poziomów znajdziesz we wpisie z tej serii poświęconym poziomom wysiłku.
3. Tokeny rozumowania zużywają limit max_tokens
Tokeny rozumowania wliczają się do max_tokens. Kod M2.x często ustawia niewielkie limity dla krótkich odpowiedzi. Przy max_tokens: 64 i pytaniu wymagającym odpowiedzi w dwóch zdaniach model zużył budżet na rozumowanie, po czym zwrócił finish_reason: "length" oraz odpowiedź „Światło słoneczne zawiera wiele kolorów,” uciętą w połowie zdania. MiniMax zaleca 131,072 i dopuszcza maksymalnie 524,288. Zwiększ niskie limity albo sprawdzaj finish_reason, zanim zaufasz tekstowi.
4. Zmieniły się zasady buforowania i poziomy usługi
cache_controlnie jest obsługiwane w M3.1 Flash (ani w M3), zgodnie z dokumentacją API MiniMax. M2.7 naliczał opłatę w wysokości $0.375 za milion tokenów za jawne zapisy do pamięci podręcznej. W M3.1 Flash buforowanie jest automatyczne. AIHubMix pobiera $0.0165 za milion tokenów odczytanych z pamięci podręcznej, a w każdym wysłanym przez nas żądaniu około 175–195 tokenów promptu pochodziło z pamięci podręcznej, nawet przy pierwszym żądaniu. Wygląda to na stały preambuł po stronie MiniMax; przy tej cenie kosztuje około jedną trzecią centa na tysiąc żądań. Usuń blokicache_control— tutaj nic nie robią.service_tiernie jest obsługiwane. Jeśli korzystasz z poziomu Priority w M3, by zmniejszyć opóźnienia, w wersji Flash nie ma jego odpowiednika.
5. Ta sama nazwa, inne próbkowanie
Domyślna wartość top_p w MiniMax zmieniła się z 0.9 w M2.x na 0.95 w M3.1 Flash, a okno kontekstu urosło z 204,800 do 1,000,000 tokenów. Prompty dostrojone pod M2.7 mogą generować dłuższe lub mniej precyzyjne odpowiedzi. Model kryjący się pod niezmienioną nazwą nadal jest nowym modelem: ponownie uruchom testy ewaluacyjne.
Łatwe do przeoczenia zasady rozliczania
- Tokeny rozumowania są rozliczane jak tokeny wyjściowe. W AIHubMix koszt wynosi $0.66 za milion. Przy domyślnym poziomie wysiłku tokeny rozumowania stanowiły 95% tokenów wyjściowych w naszej poprawce błędu (6,364 z 6,673 tokenów).
- MiniMax nie podał jeszcze oficjalnej ceny za token. Na stronie z cennikiem wymieniono M3 i M2.x, ale nie M3.1 Flash. AIHubMix pobiera $0.165 / $0.66 / $0.0165 (odpowiednio za tokeny wejściowe / wyjściowe / odczyty z pamięci podręcznej).
- Oficjalna cena M3 podwaja się powyżej 512K tokenów wejściowych. AIHubMix podaje jedną cenę dla M3.1 Flash. Jeśli wysyłasz bardzo długie prompty, porównaj pierwszy rachunek z własnymi szacunkami.
Sposoby na obniżenie rachunku:
- Ustaw domyślnie
reasoning_effort: "low"(Chat),output_config.effort: "low"(Messages) lubreasoning.effort: "low"(Responses), a następnie podnoś poziom dla poszczególnych zadań. - Umieszczaj stabilne instrukcje na początku promptu, aby mogły być obsługiwane przez automatyczne buforowanie.
- Ustaw
max_tokensna tyle wysokie, by rozumowanie nie ucinało odpowiedzi. Ponowne wykonanie żądania z uciętą odpowiedzią kosztuje więcej niż pozostawienie dodatkowego zapasu.
Agenci z rzeczywistymi uprawnieniami
Trzy zachowania mają znaczenie, gdy model może wykonywać polecenia lub edytować pliki:
- Przed działaniem zawsze prowadzi rozumowanie, nawet przy ustawieniu
low. Pomaga to w wyborze narzędzi. Oznacza też, że każdy krok z użyciem narzędzia wiąże się z opóźnieniem wynikającym z rozumowania; w naszych krótkich wywołaniach narzędzi krok trwał około 2–7 sekund przy ustawieniulow. - Wykonuje polecenia dosłownie i w wąskim zakresie. Jeden z pierwszych testerów określił go jako „niesamowicie szybkiego, ale potrzebuje jasnych i konkretnych instrukcji, bo w przeciwnym razie jest zbyt leniwy”. Podawaj agentom wyraźne warunki zakończenia i kroki weryfikacji („uruchom testy i wklej wynik”) zamiast ogólnych celów.
tool_choiceoficjalnie obsługuje tylko wartośćauto. AIHubMix akceptował"required"(Chat) i{"type": "any"}(Messages), a model wywoływał narzędzie, ale MiniMax nie dokumentuje wymuszania jego użycia. Nie opieraj na tym kontroli bezpieczeństwa.
MiniMax zaleca zwracanie bloków rozumowania bez zmian w kolejnych turach (Messages) oraz zachowanie reasoning_content bez zmian (Chat). W naszym teście krótka wymiana z użyciem narzędzia nadal działała po usunięciu bloku rozumowania, ale w długich pętlach agentów stosuj się do udokumentowanej zasady.
Narzędzia do kodowania
AIHubMix udostępnia minimax-m3.1-flash przez wszystkie trzy protokoły wymagane przez popularne narzędzia do kodowania. Każde przetestowano 19 października: wysyłając tekst, wywołując narzędzie i wykonując rundę z wynikiem narzędzia.
| Narzędzie | Wymagany protokół | Działa przez AIHubMix | Pole poziomu wysiłku |
|---|---|---|---|
| Claude Code | Anthropic Messages | Tak | output_config.effort |
| Codex CLI | OpenAI Responses | Tak | reasoning.effort |
| OpenCode | Zgodny z OpenAI | Tak | reasoning_effort |
W API MiniMax okno kontekstu wynosi 1,000,000. Jak wynika z cytatu opiekuna projektu magpie, przytaczającego dokumentację MiniMax, MiniMax Code domyślnie ustawia limit klienta na 512K „aby zachować równowagę między komfortem użytkowania a kosztami”; API nie udostępnia parametru określającego rozmiar okna.
Claude Code. Skieruj je do AIHubMix zgodnie z przewodnikiem AIHubMix po Claude Code i ustaw model na 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
Oba warianty thinking wysyłane przez klientów w stylu Anthropic — enabled z budżetem oraz adaptive — zwróciły w naszych testach kod 200, więc nie trafisz na błąd 400. Znany problem: nie ma dokumentacji, czy ustawienie effort w Claude Code jest przekazywane do modelu innego niż Claude jako output_config.effort. Jeśli nie, model działa z domyślnym poziomem max, a tury będą wolniejsze niż w M2.7. Poniższy test dymny pokazuje, jak to sprawdzić.
Codex CLI. Codex korzysta z Responses API, które obsługuje ten model: wywołania funkcji są zwracane jako elementy function_call. Skonfiguruj własnego dostawcę zgodnie z przewodnikiem AIHubMix dla Codex, ustawiając wire_api = "responses", a następnie wybierz model = "minimax-m3.1-flash" i model_reasoning_effort. Akceptowane były zarówno xhigh, jak i minimal; minimal nie jest jednym z poziomów MiniMax, a model i tak przeprowadza rozumowanie.
OpenCode. Zgłoszenie OpenCode nr 54801 (odtworzone w wersji v2.0.27) informuje, że OpenCode nie rozpoznaje wariantów effort dla tego modelu, więc ctrl+t nic nie robi. Zgodnie z obejściem opisanym w zgłoszeniu należy samodzielnie zadeklarować pięć wariantów w pliku opencode.json. W przypadku dostawcy zgodnego z OpenAI w AIHubMix pole żądania ustawiane dla każdego wariantu to reasoning_effort (low … max), a nie output_config.effort z opisu zgłoszenia. Nie dodawaj wariantu none.
15-minutowy test dymny dla każdego z tych trzech narzędzi:
- Utwórz tymczasowy folder z funkcją zawierającą jeden znany błąd oraz plikiem testowym, który nie przechodzi z jego powodu.
- Poproś agenta: „Uruchom testy, napraw błąd, uruchom testy ponownie i pokaż mi wynik”.
- Pomyślny wynik wygląda tak: agent uruchamia testy przed naprawą i po niej, końcowe testy przechodzą, zadanie kończy się w kilku turach i żadna z nich nie zwraca błędu 400.
- Sprawdź dziennik użycia AIHubMix. Powinny być widoczne żądania
minimax-m3.1-flashzawierające tokeny rozumowania. Jeśli każda tura trwa blisko minutę, ustawienie effort nie dociera do modelu i działa on na poziomiemax.
Lista kontrolna migracji
- Zastąp identyfikatory MiniMax-M2.5 / M2.7 identyfikatorem minimax-m3.1-flash (w AIHubMix) przed 18 listopada.
- Usuń z żądań ustawienie thinking disabled oraz effort none i effort minimal.
- Dodaj jawny poziom effort do każdego żądania; zacznij od low.
- Zwiększ max_tokens, aby myślenie nie powodowało ucinania odpowiedzi; sprawdzaj finish_reason.
- Usuń pola cache_control i service_tier.
- Wysyłaj obrazy jako base64 albo z hosta, z którego może je pobrać serwer upstream.
- Zachowuj bloki thinking i reasoning_content bez zmian między turami narzędzi.
- Uruchom ponownie ewaluacje: ta sama nazwa, nowy model i nowe domyślne ustawienia próbkowania.
- W narzędziach do programowania sprawdź, czy ustawienie effort dociera do modelu (czas trwania tury to szybka wskazówka).
FAQ
Dlaczego pojawia się błąd „requires adaptive thinking”?
W żądaniu wyłączono thinking, zwykle przez ustawienie typu thinking na disabled w endpointzie Chat Completions. M3.1 Flash zawsze przeprowadza myślenie. Usuń to pole lub ustaw je na adaptive, a jeśli zależy Ci na szybkości, wybierz effort low.
Moje żądania M2.7 się nie zmieniły, ale odpowiedzi już tak. Dlaczego?
Jeśli korzystasz z MiniMax M Plan lub Token Plan, od 19 października 2026 żądania wskazujące M2.5 lub M2.7 są obsługiwane przez M3.1 Flash pod starą nazwą.
Jaki termin obowiązuje użytkowników płacących za użycie?
18 listopada 2026. Od tego dnia żądania do MiniMax API dotyczące M2.5 i M2.7 przestaną działać.
Czy reasoning_effort none działa w AIHubMix?
Żądanie zwraca kod 200, ale model nadal przeprowadza myślenie. Najniższy skuteczny poziom to low.
Czy nadal potrzebuję cache_control?
Nie. MiniMax nie obsługuje tego pola w M3.1 Flash. Buforowanie odbywa się automatycznie, a AIHubMix nalicza opłatę w wysokości $0.0165 za milion tokenów wejściowych z pamięci podręcznej.
Czy mogę używać M3.1 Flash w Claude Code i Codex?
Tak. AIHubMix udostępnia go przez Anthropic Messages API dla Claude Code oraz Responses API dla Codex. 19 października 2026 oba narzędzia przeszły testy tekstu, wywołań narzędzi i wyników narzędzi.
Dlaczego moje odpowiedzi są ucinane?
Tokeny używane do myślenia wliczają się do max_tokens. Jeśli finish_reason ma wartość length, zwiększ max_tokens. MiniMax zaleca 131,072.
Czytaj dalej: seria MiniMax M3.1 Flash
- Zanim zdecydujesz się na zmianę, sprawdź, na co przechodzisz — od premiery Space Bunny po porównanie ceny z M2.7 i M3: MiniMax M3.1 Flash to Space Bunny: co się zmieniło w porównaniu z M2.7 i M3 oraz ile to kosztuje
- Po migracji najważniejszym pojedynczym ustawieniem jest effort. W tym wpisie porównano wszystkie pięć poziomów na przykładzie jednej poprawki błędu: Poziomy effort w MiniMax M3.1 Flash: dlaczego domyślny poziom kosztował 7× więcej niż low przy tej samej poprawce błędu
- Jeśli migracja skłania Cię do ponownego przemyślenia wyboru MiniMax, sprawdź koszt i wyniki tego samego zadania u dwóch najbliższych konkurentów: MiniMax M3.1 Flash vs DeepSeek V4.1 Flash vs Claude Haiku 5.5: jedna poprawka błędu, trzy rachunki



