18 Kasım’dan Önce MiniMax M2.5/M2.7’den Geçiş: M3.1 Flash’taki “requires adaptive thinking” 400 Hatasını Düzeltme

AIHubMix9 dk okuma
18 Kasım’dan Önce MiniMax M2.5/M2.7’den Geçiş: M3.1 Flash’taki “requires adaptive thinking” 400 Hatasını Düzeltme

MiniMax, M2.5 ve M2.7’yi 18 Kasım 2026’da kullanımdan kaldırıyor ve geçiş şimdiden başladı. 19 Ekim’den bu yana eski iki model ailesi yeni kullanıcılara kapatıldı; bu modelleri belirten plan istekleri M3.1 Flash üzerinden sunuluyor. Kullandıkça öde modelindeyseniz model kimliğini kendiniz değiştirmek için dört haftanız var.

M2.7 için yazılmış kodların çoğu, hiçbir değişiklik yapılmadan M3.1 Flash’ta çalışır. Sorun, tek bir tasarım tercihinden kaynaklanıyor: M3.1 Flash her zaman düşünür ve siz aksini belirtmediğiniz sürece en derin düzeyde düşünür. Bu da göze çarpan bir hataya, sessizce artan bazı maliyetlere ve artık hiçbir işe yaramayan birkaç ayara yol açıyor.

AIHubMix, bu yazıdaki tüm istekleri 19 Ekim 2026’da ağ geçidi üzerinden minimax-m3.1-flash kullanarak çalıştırdı. Hata metinleri yanıtlardan aynen alınmıştır. MiniMax’in kuralları API belgelerinden alıntılanmıştır.

Kimler etkileniyor ve nasıl?

M2.5/M2.7’yi şu kanallar üzerinden kullanıyorsunuz: Ne oluyor? Son tarih
MiniMax M Planı / Token Planı İstekler, eski ad kullanılarak M3.1 Flash üzerinden sunulur Zaten gerçekleşti (19 Eki)
MiniMax kullandıkça öde Eski kimlikler çalışmaya devam eder, ardından kullanımdan kalkar 18 Kasım 2026
Yeni MiniMax hesabı M2.5/M2.7 kullanılamıyor 19 Eki 2026

MiniMax’in modeller sayfası, plan kullanıcıları için durumu şöyle açıklıyor: “bu planlar kapsamındaki M2.5 ve M2.7 modellerine gönderilen tüm istekler otomatik olarak M3.1 Flash Preview’a yönlendirilecek” ve “mevcut model adları çalışmaya devam edecek.” Kullandıkça öde kullanıcıları içinse şöyle diyor: “Kullanımdan kaldırıldıktan sonra bu modellere yönelik API istekleri artık çalışmayacak.” Bildirimde kullandıkça öde kullanıcıları için otomatik yönlendirmeden söz edilmiyor; dolayısıyla yedek modele geçiş yerine hatalarla karşılaşmayı bekleyin.

Plan kullanıcıları, “yönlendirildi” ifadesinin ne anlama geldiğine dikkat etmeli. Günlüklerinizde hâlâ M2.7 yazar, ancak ağırlıklar farklıdır, bağlam 5× daha büyüktür ve düşünme derinliği varsayılan olarak max değerindedir. Bunu model değişikliği olarak değerlendirin ve değerlendirmelerinizi yeniden çalıştırın.

Açıkça hata verenler

400: “requires adaptive thinking”

Karşınıza ne çıkar. Düşünmeyi devre dışı bırakan bir istek reddedilir:

{"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}}

Nedeni. MiniMax’in Messages API başvuru belgesi, modelin “her zaman düşündüğünü” söylüyor: thinking.type gönderilirse değeri adaptive olmalı; disabled ise HTTP 400 döndürür. M3 için yazılmış kodlar bu hatayla karşılaşabilir; çünkü M3’te düşünmeyi kapatabilirsiniz. Modeli akıl yürütmeyen olarak işaretleyip varsayılan olarak “thinking off” gönderen çerçeveler her çağrıda bu hatayı alır; kodus-ai ve 9router-go projelerinin ikisi de buna benzer durumlar bildirdi.

Bu hatayı tetikleyen en küçük istek (AIHubMix’te 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",
       "messages": [{"role": "user", "content": "hi"}],
       "thinking": {"type": "disabled"}}'

Düzeltme. thinking alanını silin veya {"type": "adaptive"} olarak ayarlayın. Zaman kazanmak için düşünmeyi devre dışı bırakıyorsanız bunun yerine "reasoning_effort": "low" kullanın.

Görsel URL’lerinde aynı 2013 koduyla 400

Karşınıza ne çıkar. invalid param: remote returned status 400 (2013). Bu hatayı upload.wikimedia.org’da barındırılan bir görsel URL’sinden aldık. Base64 görselle veya başka bir sunucudaki görsel URL’siyle yapılan aynı istek 200 döndürdü.

Nedeni. 2013 kodu, yalnızca düşünmeyle ilgili olmayan, MiniMax’in genel “geçersiz parametreler” kodudur. Bu durumda üst sistem uzak görseli alamamış görünüyor. Bu, mesajı yorumlama biçimimizdir; MiniMax bu durumu belgelemiyor.

Düzeltme. Görselleri base64 olarak gönderin (data:image/png;base64,…) veya düz HTTP isteklerini kabul eden bir yerde barındırın. Günlüklerde 2013’ü ararken, bunun düşünme hatası olduğunu varsaymadan önce mesajın tamamını okuyun.

18 Kasım’dan sonra: kullanımdan kaldırılan model kimlikleri

MiniMax’in API’sinde MiniMax-M2.5, MiniMax-M2.5-highspeed, MiniMax-M2.7 ve MiniMax-M2.7-highspeed kimliklerine kullandıkça öde kapsamında yapılan çağrılar o tarihte çalışmayı durduracak. Duyuruda M2.1 ve M2 yer almıyor. Model kimliğini o tarihten önce değiştirin. AIHubMix’te yeni kimlik minimax-m3.1-flash.

Sessizce sorun çıkaranlar

Bu isteklerin tümü 200 döndürür. Farkı faturanızda, gecikme sürenizde veya çıktınızda görürsünüz.

1. Artık hiçbir işe yaramayan “düşünmeyi kapat” anahtarları

AIHubMix üzerinden, düşünmeyi kapatmaya yönelik üç farklı istek hata vermeden kabul ediliyor; ancak model yine de düşünüyor:

İstek AIHubMix’teki sonuç
Messages API, thinking disabled 200; kısa bir bulmacada 469–622 düşünme token’ı
Chat, reasoning_effort none 200; aynı bulmacada 265–372 akıl yürütme token’ı
Chat, reasoning_effort minimal 200; model yine de düşünüyor

İlk iki satır, low ayarının 173–251 akıl yürütme token’ı kullandığı aynı üç kutulu mantık bulmacasında üçer çalıştırmanın sonuçlarıdır. Minimal ayarı ise tek satırlık bir aritmetik isteminde bir kez kontrol ettik.

Yukarıdaki 400 hatasını yalnızca thinking: {"type": "disabled"} içeren Chat Completions isteği verir. M2.x veya M3 kodunuz çağrıları hızlandırmak için bu anahtarlardan herhangi birine güveniyorsa çağrılar artık sessizce düşünür. İşe yarayan tek ayar çaba düzeyidir ve en düşük değer low’dur.

2. Varsayılan çaba düzeyi max

M2.7’de düşünme düzeyleri yoktu. M3.1 Flash’ta beş düzey var ve MiniMax belgelerine göre alanı belirtmezseniz max kullanılır. Tek bir Python işlevindeki iki küçük hatayı düzeltme görevinde AIHubMix’in ölçümleri şöyleydi:

Ayar Ort. akıl yürütme token’ı Ort. süre Düzeltme başına ort. maliyet
Çaba belirtilmedi 6,364 56 s $0.0045
Çaba low 591 9.5 s $0.0006

Her iki ayardaki tüm çalıştırmalar 215 gizli testin tamamını geçti. Maliyetler, AIHubMix’in milyon token başına $0.165 girdi ve $0.66 çıktı fiyatları üzerinden, her ayar için üç çalıştırma kullanılarak hesaplandı. Çaba ayarı eklemeden geçiş yaparsanız aynı görev yaklaşık 6× daha uzun sürer. Beş düzeyin tamamına ilişkin ölçüm, bu serideki çaba yazısında yer alıyor.

3. Düşünme, max_tokens sınırını tüketir

Düşünme token’ları max_tokens sınırına dahildir. M2.x kodları kısa yanıtlar için genellikle düşük sınırlar belirler. max_tokens: 64 ve iki cümlelik bir soruda model, bütçeyi düşünerek tüketti; ardından finish_reason: "length" döndürdü ve “Sunlight contains many colors,” yanıtı cümle ortasında kesildi. MiniMax, 131,072 değerini öneriyor ve 524,288’e kadar izin veriyor. Düşük sınırları yükseltin veya metne güvenmeden önce finish_reason değerini kontrol edin.

4. Önbellekleme ve hizmet katmanları değişti

  • MiniMax’in API başvuru belgesine göre M3.1 Flash’ta (veya M3’te) cache_control desteklenmiyor. M2.7’de açık önbellek yazımları milyon başına $0.375 olarak ücretlendiriliyordu. M3.1 Flash’ta önbellekleme otomatik. AIHubMix, önbellek okumalarını milyon başına $0.0165 olarak ücretlendiriyor ve gönderdiğimiz her istekte (ilk istek dahil) istem token’larının yaklaşık 175–195 kadarı önbellekten sunuldu. Bu, MiniMax tarafında sabit bir önek gibi görünüyor; bu fiyatla bin istek başına yaklaşık bir sentin üçte birine mal oluyor. cache_control bloklarını kaldırın; burada hiçbir işe yaramazlar.
  • service_tier desteklenmiyor. Gecikme için M3’ün Priority katmanını kullanıyorsanız Flash’ta bunun eşdeğeri yok.

5. Aynı ad, farklı örnekleme

MiniMax’in varsayılanları M2.x’te top_p 0.9 iken M3.1 Flash’ta 0.95’e çıktı; bağlam penceresi de 204,800’den 1,000,000 token’a büyüdü. M2.7 için ayarlanmış istemler daha uzun veya daha serbest çıktılar üretebilir. Adı değişmeden kullanılan bir model yine de yeni bir modeldir: değerlendirmelerinizi yeniden çalıştırın.

Gözden kaçması kolay faturalandırma kuralları

  • Düşünme, çıktı olarak ücretlendirilir. AIHubMix’te bunun maliyeti milyon başına $0.66. Varsayılan çaba düzeyinde, hata düzeltme görevimizde çıktının %95’ini düşünme oluşturdu (6,673 token’ın 6,364’ü).
  • MiniMax henüz token başına resmi bir fiyat açıklamadı. Fiyatlandırma sayfasında M3 ve M2.x listeleniyor, M3.1 Flash değil. AIHubMix’in fiyatları $0.165 / $0.66 / $0.0165 (girdi / çıktı / önbellek okuması).
  • M3’ün resmi fiyatı, 512K girdi token’ının üzerinde iki katına çıkar. AIHubMix, M3.1 Flash için tek bir fiyat listeliyor. Çok uzun istemler gönderiyorsanız ilk faturanızı kendi tahmininizle karşılaştırın.

Faturayı düşürmenin yolları:

  1. Varsayılan olarak reasoning_effort: "low" (Chat), output_config.effort: "low" (Messages) veya reasoning.effort: "low" (Responses) ayarlayın; görev başına yükseltin.
  2. Otomatik önbelleklemenin kullanabilmesi için sabit talimatları istemin başında tutun.
  3. Düşünmenin yanıtı kesmemesi için max_tokens değerini yeterince yüksek ayarlayın; çünkü yeniden denemeniz gereken kesik bir yanıt, fazladan pay bırakmaktan daha pahalıya gelir.

Gerçek yetkilere sahip ajanlar

Model komut çalıştırabildiğinde veya dosyaları düzenleyebildiğinde üç davranış önem kazanır:

  • Harekete geçmeden önce her zaman akıl yürütür, low düzeyinde bile. Bu, araç seçimine yardımcı olur. Ancak her araç adımında düşünme gecikmesi de olur; kısa araç çağrılarımızda low düzeyinde bir adım yaklaşık 2 ila 7 saniye sürdü.
  • Söylediğinizi dar kapsamda yerine getirir. İlk test kullanıcılarından biri, “inanılmaz hızlı ama açık ve net talimatlara ihtiyaç duyuyor; aksi takdirde fazla tembel davranıyor” dedi. Ajanlara açık durma koşulları ve doğrulama adımları verin (“testleri çalıştır ve çıktıyı buraya yapıştır” gibi); ucu açık hedefler vermeyin.
  • tool_choice için resmi olarak yalnızca auto destekleniyor. AIHubMix, "required" (Chat) ve {"type": "any"} (Messages) değerlerini kabul etti ve model aracı çağırdı; ancak MiniMax, zorlamanın işe yaradığını belgelemiyor. Buna güvenlik kontrolü olarak bel bağlamayın.

MiniMax, sonraki turlarda düşünme bloklarının aynen döndürülmesini (Messages) ve reasoning_content alanının değiştirilmemesini (Chat) söylüyor. Testimizde düşünme bloğu çıkarılmış kısa bir araç gidiş-dönüşü yine de çalıştı; ancak uzun ajan döngülerinde belgelerdeki kurala uyun.

Kodlama araçları

AIHubMix, yaygın kodlama araçlarının ihtiyaç duyduğu üç protokolün tamamında minimax-m3.1-flash sunuyor. Her biri 19 Ekim’de metin, araç çağrısı ve araç sonucu gidiş-dönüşüyle test edildi.

Araç Gereken protokol AIHubMix üzerinden çalışıyor Çaba alanı
Claude Code Anthropic Messages Evet output_config.effort
Codex CLI OpenAI Responses Evet reasoning.effort
OpenCode OpenAI uyumlu Evet reasoning_effort

MiniMax’in API’sinde bağlam penceresi 1,000,000’dur. magpie projesindeki bir bakımcının MiniMax belgelerinden aktardığına göre MiniMax Code istemcisinde varsayılan olarak “deneyim ve maliyet arasında denge kurmak” için 512K kullanır; API’de pencere parametresi yoktur.

Claude Code. AIHubMix Claude Code kılavuzunda anlatıldığı gibi AIHubMix’e yönlendirin ve modeli minimax-m3.1-flash olarak ayarlayın:

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

Anthropic tarzı istemcilerin gönderdiği iki düşünme biçimi olan, bütçeli enabled ve adaptive, testlerimizde her ikisi de 200 döndürdü; dolayısıyla 400 hatasıyla karşılaşmazsınız. Bilinen bir sorun var: Claude Code'un efor ayarının Claude dışı bir modele output_config.effort olarak iletilip iletilmediği belgelenmiş değil. İletilmiyorsa model varsayılan olarak max düzeyinde çalışır ve turlar M2.7'ye kıyasla daha yavaş olur. Aşağıdaki duman testi bunu nasıl anlayacağınızı gösteriyor.

Codex CLI. Codex, bu modelde çalışan Responses API ile iletişim kurar: işlev çağrıları function_call öğeleri olarak döner. AIHubMix Codex kılavuzunda anlatıldığı gibi özel bir sağlayıcı yapılandırıp wire_api = "responses" ayarını yapın; ardından model = "minimax-m3.1-flash" ve model_reasoning_effort değerlerini belirleyin. xhigh ve minimal değerlerinin ikisi de kabul edildi; minimal, MiniMax'ın düzeylerinden biri değil ve model yine de düşünüyor.

OpenCode. OpenCode issue #54801 (v2.0.27 sürümünde yeniden üretildi), OpenCode'un bu model için hiçbir efor çeşidini çözümleyemediğini ve bu nedenle ctrl+t tuşunun hiçbir işe yaramadığını bildiriyor. Sorun kaydındaki geçici çözüm, beş çeşidi opencode.json dosyasında kendiniz tanımlamak. AIHubMix'in OpenAI uyumlu sağlayıcısında her çeşidin ayarlaması gereken istek alanı, sorun kaydında belirtilen output_config.effort değil, reasoning_effort (low … max) olmalı. none çeşidini eklemeyin.

Üçünden herhangi biri için 15 dakikalık bir duman testi:

  1. Bilinen bir hatası olan bir işlev ve bu hata nedeniyle başarısız olan bir test dosyası içeren geçici bir klasör oluşturun.
  2. Ajana şunu sorun: "Testleri çalıştır, hatayı düzelt, testleri yeniden çalıştır ve çıktıyı göster."
  3. Başarı şöyle görünür: ajan testleri hem önce hem sonra çalıştırır, son çalıştırma başarılı olur, birkaç turda işi bitirir ve turların hiçbiri 400 hatası döndürmez.
  4. AIHubMix kullanım günlüğünü kontrol edin. Akıl yürütme belirteçleri içeren minimax-m3.1-flash isteklerini görmelisiniz. Her tur yaklaşık bir dakika sürüyorsa efor ayarınız modele ulaşmıyor ve model max düzeyinde çalışıyor demektir.

Geçiş kontrol listesi

  • 18 Kasım'dan önce MiniMax-M2.5 / M2.7 kimliklerini (AIHubMix'te) minimax-m3.1-flash ile değiştirin.
  • İsteklerden thinking disabled, effort none ve effort minimal ayarlarını kaldırın.
  • Her isteğe açıkça bir efor düzeyi ekleyin; low ile başlayın.
  • Düşünmenin yanıtları kesmesini önlemek için max_tokens değerini yükseltin; finish_reason değerini kontrol edin.
  • cache_control ve service_tier alanlarını kaldırın.
  • Görselleri base64 olarak veya üst akış sağlayıcısının erişebileceği bir sunucudan gönderin.
  • Araç turları boyunca thinking bloklarını ve reasoning_content değerlerini olduğu gibi koruyun.
  • Değerlendirmelerinizi yeniden çalıştırın: ad aynı, model yeni, örnekleme varsayılanları farklı.
  • Kodlama araçlarında efor ayarının modele ulaştığını doğrulayın (tur süresi bunu hızlıca belli eder).

Sık sorulan sorular

Neden "requires adaptive thinking" hatası alıyorum?
İsteğiniz düşünmeyi devre dışı bırakmış; bu genellikle Chat Completions uç noktasında thinking type değerinin disabled olmasıyla gerçekleşir. M3.1 Flash daima düşünür. Alanı kaldırın veya adaptive olarak ayarlayın; hız istiyorsanız effort değerini low yapın.

M2.7 isteklerim değişmedi ama yanıtlar değişti. Neden?
MiniMax M Plan veya Token Plan kullanıyorsanız M2.5 ya da M2.7 belirten istekleriniz, 19 Ekim 2026'dan beri eski ad altında M3.1 Flash tarafından karşılanıyor.

Kullandığın kadar öde kullanıcıları için son tarih nedir?
18 Kasım 2026. Bu tarihten sonra MiniMax API üzerinden M2.5 ve M2.7'ye gönderilen istekler çalışmayı durdurur.

AIHubMix'te reasoning_effort none çalışıyor mu?
200 döndürür ama model yine de düşünür. Etkili olan en düşük düzey low değeridir.

Hâlâ cache_control kullanmam gerekiyor mu?
Hayır. MiniMax, M3.1 Flash'te bunu desteklemiyor. Önbelleğe alma otomatik yapılır ve AIHubMix, önbelleğe alınmış girdi için milyon belirteç başına $0.0165 ücret alır.

M3.1 Flash'ı Claude Code ve Codex'te kullanabilir miyim?
Evet. AIHubMix, Claude Code için Anthropic Messages API, Codex içinse Responses API üzerinden hizmet verir. Her ikisi de 19 Ekim 2026'da metin, araç çağrısı ve araç sonucu testlerini geçti.

Yanıtlarım neden yarıda kesiliyor?
Düşünme belirteçleri max_tokens sınırına dahildir. finish_reason değeri length ise max_tokens değerini yükseltin. MiniMax 131,072 öneriyor.

Okumaya devam edin: MiniMax M3.1 Flash serisi

Kaynaklar