From d76eedff2b60d5d91a8f77ccfec19be736c57677 Mon Sep 17 00:00:00 2001 From: MrMushrooooom <19261047+MrMushrooooom@users.noreply.github.com> Date: Mon, 19 Oct 2026 07:37:36 +0000 Subject: [PATCH] Reveal Space Bunny as MiniMax M3.1 Flash Free --- .../console/app/src/component/go-models.ts | 12 ++++++++++-- packages/console/app/src/i18n/ar.ts | 2 +- packages/console/app/src/i18n/br.ts | 2 +- packages/console/app/src/i18n/da.ts | 2 +- packages/console/app/src/i18n/de.ts | 2 +- packages/console/app/src/i18n/en.ts | 2 +- packages/console/app/src/i18n/es.ts | 2 +- packages/console/app/src/i18n/fr.ts | 2 +- packages/console/app/src/i18n/it.ts | 2 +- packages/console/app/src/i18n/ja.ts | 2 +- packages/console/app/src/i18n/ko.ts | 2 +- packages/console/app/src/i18n/no.ts | 2 +- packages/console/app/src/i18n/pl.ts | 2 +- packages/console/app/src/i18n/ru.ts | 2 +- packages/console/app/src/i18n/th.ts | 2 +- packages/console/app/src/i18n/tr.ts | 2 +- packages/console/app/src/i18n/uk.ts | 2 +- packages/console/app/src/i18n/zh.ts | 2 +- packages/console/app/src/i18n/zht.ts | 2 +- packages/console/app/src/routes/go/index.tsx | 4 ++-- packages/stats/app/test/model-catalog.test.ts | 18 +++++++++--------- .../stats/core/src/domain/inference.test.ts | 16 ++++++++++------ .../core/src/domain/model-normalization.ts | 3 ++- services/www/src/docs/content/console/go.mdx | 17 +++++++++-------- .../www/src/docs/content/console/models.mdx | 6 +++--- 25 files changed, 63 insertions(+), 49 deletions(-) diff --git a/packages/console/app/src/component/go-models.ts b/packages/console/app/src/component/go-models.ts index 289934cc6c81..61efaf1b38da 100644 --- a/packages/console/app/src/component/go-models.ts +++ b/packages/console/app/src/component/go-models.ts @@ -19,7 +19,6 @@ export const goModels = [ { id: "kimi-k2.7-code", name: "Kimi K2.7 Code", requests: 1350, allowance: 60, featured: true }, { id: "hy4-preview", name: "Hy4 preview", requests: 1350, allowance: 30 }, { id: "gpt-5.6-luna", name: "GPT 5.6 Luna", requests: 2050, allowance: 15 }, - { id: "space-bunny", name: "Space Bunny", requests: 3130, allowance: 30, featured: true }, { id: "minimax-m3", name: "MiniMax M3", requests: 3200, allowance: 60, featured: true }, { id: "mimo-v2.6-pro", name: "MiMo-V2.6-Pro", requests: 3250, allowance: 15 }, { id: "mimo-v2.5-pro", name: "MiMo-V2.5-Pro", requests: 3250, allowance: 15 }, @@ -78,6 +77,15 @@ export const goModels = [ fresh: true, limitedTime: true, }, + { + id: "minimax-m3.1-flash-free", + name: "MiniMax M3.1 Flash Free", + requests: Infinity, + allowance: Infinity, + featured: true, + fresh: true, + limitedTime: true, + }, { id: "beam-free", name: "Beam Free", @@ -102,7 +110,7 @@ const plusLimits: Record = { "hy4-preview": [5400, 120], "step-5-preview": [6880, 240], "gpt-5.6-luna": [8200, 60], - "space-bunny": [12500, 120], + "minimax-m3.1-flash-free": [Infinity, Infinity], "minimax-m3": [9600, 180], "mimo-v2.6-pro": [13000, 60], "mimo-v2.5-pro": [13000, 60], diff --git a/packages/console/app/src/i18n/ar.ts b/packages/console/app/src/i18n/ar.ts index 53b6ad73c0da..f7f0d7ab8adf 100644 --- a/packages/console/app/src/i18n/ar.ts +++ b/packages/console/app/src/i18n/ar.ts @@ -201,7 +201,7 @@ export const dict = { "تتم استضافة جميع نماذج Zen في الولايات المتحدة. يتبع المزودون سياسة عدم الاحتفاظ بالبيانات ولا يستخدمون بياناتك لتدريب النماذج، مع", "zen.privacy.exceptionsLink": "الاستثناءات التالية", - "go.promo.step5": "يتوفر Step 5 Preview الآن في Go باستخدام مضاعف 4 مرات لفترة محدودة.", + "go.promo.minimaxM31FlashFree": "يتوفر MiniMax M3.1 Flash Free الآن في Go مجانًا لفترة محدودة.", "go.title": "OpenCode Go | نماذج برمجة منخفضة التكلفة للجميع", "go.meta.description": "يبلغ سعر Go ‏$10/شهر، مع حدود استخدام سخية ووصول موثوق إلى نماذج البرمجة الرائدة.", "go.hero.title": "نماذج برمجة منخفضة التكلفة للجميع", diff --git a/packages/console/app/src/i18n/br.ts b/packages/console/app/src/i18n/br.ts index 91db8043ee07..3974d8b83c69 100644 --- a/packages/console/app/src/i18n/br.ts +++ b/packages/console/app/src/i18n/br.ts @@ -205,7 +205,7 @@ export const dict = { "Todos os modelos Zen são hospedados nos EUA. Os provedores seguem uma política de retenção zero e não usam seus dados para treinamento de modelo, com as", "zen.privacy.exceptionsLink": "seguintes exceções", - "go.promo.step5": "Step 5 Preview já está disponível no Go com 4× mais uso por tempo limitado.", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free já está disponível no Go, grátis por tempo limitado.", "go.title": "OpenCode Go | Modelos de codificação de baixo custo para todos", "go.meta.description": "O Go custa $10/mês, com limites generosos de uso e acesso confiável aos principais modelos de codificação.", diff --git a/packages/console/app/src/i18n/da.ts b/packages/console/app/src/i18n/da.ts index 80bd8a97d2de..90b85a700391 100644 --- a/packages/console/app/src/i18n/da.ts +++ b/packages/console/app/src/i18n/da.ts @@ -204,7 +204,7 @@ export const dict = { "Alle Zen-modeller er hostet i USA. Udbydere følger en nulopbevaringspolitik og bruger ikke dine data til modeltræning med", "zen.privacy.exceptionsLink": "følgende undtagelser", - "go.promo.step5": "Step 5 Preview er nu tilgængelig i Go med 4× forbrug i en begrænset periode.", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free er nu tilgængelig i Go, gratis i en begrænset periode.", "go.title": "OpenCode Go | Kodningsmodeller til lav pris for alle", "go.meta.description": "Go koster $10/måned, med generøse brugsgrænser og pålidelig adgang til førende kodningsmodeller.", diff --git a/packages/console/app/src/i18n/de.ts b/packages/console/app/src/i18n/de.ts index 66f067e6e4be..26b0d0066074 100644 --- a/packages/console/app/src/i18n/de.ts +++ b/packages/console/app/src/i18n/de.ts @@ -205,7 +205,7 @@ export const dict = { "Alle Zen-Modelle werden in den USA gehostet. Anbieter folgen einer Zero-Retention-Policy und nutzen deine Daten nicht für Modelltraining, mit den", "zen.privacy.exceptionsLink": "folgenden Ausnahmen", - "go.promo.step5": "Step 5 Preview ist jetzt in Go für begrenzte Zeit mit 4× Nutzung verfügbar.", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free ist jetzt in Go für begrenzte Zeit kostenlos verfügbar.", "go.title": "OpenCode Go | Kostengünstige Coding-Modelle für alle", "go.meta.description": "Go kostet $10/Monat, mit großzügigen Nutzungslimits und zuverlässigem Zugang zu führenden Coding-Modellen.", diff --git a/packages/console/app/src/i18n/en.ts b/packages/console/app/src/i18n/en.ts index 283543cfe3f3..0f28b12fde2d 100644 --- a/packages/console/app/src/i18n/en.ts +++ b/packages/console/app/src/i18n/en.ts @@ -203,7 +203,7 @@ export const dict = { "All Zen models are hosted in the US. Providers follow a zero-retention policy and do not use your data for model training, with the", "zen.privacy.exceptionsLink": "following exceptions", - "go.promo.step5": "Step 5 Preview is now available in Go with 4× usage for a limited time.", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free is now available in Go, free for a limited time.", "go.title": "OpenCode Go | Low cost coding models for everyone", "go.meta.description": "Go costs $10/month, with generous usage limits and reliable access to leading coding models.", "go.hero.title": "Low cost coding models for everyone", diff --git a/packages/console/app/src/i18n/es.ts b/packages/console/app/src/i18n/es.ts index df16d53abf0b..3748a8e64bec 100644 --- a/packages/console/app/src/i18n/es.ts +++ b/packages/console/app/src/i18n/es.ts @@ -206,7 +206,7 @@ export const dict = { "Todos los modelos Zen están alojados en EE. UU. Los proveedores siguen una política de cero retención y no usan tus datos para entrenamiento de modelos, con las", "zen.privacy.exceptionsLink": "siguientes excepciones", - "go.promo.step5": "Step 5 Preview ya está disponible en Go con 4× de uso por tiempo limitado.", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free ya está disponible en Go, gratis por tiempo limitado.", "go.title": "OpenCode Go | Modelos de programación de bajo coste para todos", "go.meta.description": "Go cuesta 10 $/mes, con límites de uso generosos y acceso fiable a modelos de programación líderes.", diff --git a/packages/console/app/src/i18n/fr.ts b/packages/console/app/src/i18n/fr.ts index 8c9c625400f8..59ed7abaf376 100644 --- a/packages/console/app/src/i18n/fr.ts +++ b/packages/console/app/src/i18n/fr.ts @@ -208,7 +208,7 @@ export const dict = { "Tous les modèles Zen sont hébergés aux États-Unis. Les fournisseurs suivent une politique de rétention zéro et n'utilisent pas vos données pour l'entraînement des modèles, avec les", "zen.privacy.exceptionsLink": "exceptions suivantes", - "go.promo.step5": "Step 5 Preview est désormais disponible dans Go avec 4× d’utilisation pour une durée limitée.", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free est désormais disponible dans Go, gratuitement pour une durée limitée.", "go.title": "OpenCode Go | Modèles de code à faible coût pour tous", "go.meta.description": "Go coûte 10 $/mois, avec des limites d'utilisation généreuses et un accès fiable aux principaux modèles de codage.", diff --git a/packages/console/app/src/i18n/it.ts b/packages/console/app/src/i18n/it.ts index 5633acce4cdb..5977aec9f786 100644 --- a/packages/console/app/src/i18n/it.ts +++ b/packages/console/app/src/i18n/it.ts @@ -203,7 +203,7 @@ export const dict = { "Tutti i modelli Zen sono ospitati negli Stati Uniti. I provider seguono una policy di zero-retention e non usano i tuoi dati per l'addestramento dei modelli, con le", "zen.privacy.exceptionsLink": "seguenti eccezioni", - "go.promo.step5": "Step 5 Preview è ora disponibile in Go con utilizzo 4× per un periodo limitato.", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free è ora disponibile in Go, gratis per un periodo limitato.", "go.title": "OpenCode Go | Modelli di coding a basso costo per tutti", "go.meta.description": "Go costa $10/mese, con limiti di utilizzo generosi e un accesso affidabile ai principali modelli di coding.", diff --git a/packages/console/app/src/i18n/ja.ts b/packages/console/app/src/i18n/ja.ts index 9629bb2f7b42..39e211e54ead 100644 --- a/packages/console/app/src/i18n/ja.ts +++ b/packages/console/app/src/i18n/ja.ts @@ -203,7 +203,7 @@ export const dict = { "すべてのZenモデルは米国でホストされています。プロバイダーはゼロ保持ポリシーに従い、モデルのトレーニングにデータを使用しません(", "zen.privacy.exceptionsLink": "以下の例外", - "go.promo.step5": "Step 5 Preview を Go で期間限定・利用枠4倍で提供中です。", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free を Go で期間限定・無料で提供中です。", "go.title": "OpenCode Go | すべての人のための低価格なコーディングモデル", "go.meta.description": "Goは月額$10で、主要なコーディングモデルへのゆとりある利用上限と安定したアクセスを提供します。", diff --git a/packages/console/app/src/i18n/ko.ts b/packages/console/app/src/i18n/ko.ts index 586d1c8f12b8..6c67c2bea662 100644 --- a/packages/console/app/src/i18n/ko.ts +++ b/packages/console/app/src/i18n/ko.ts @@ -200,7 +200,7 @@ export const dict = { "모든 Zen 모델은 미국에서 호스팅됩니다. 제공자들은 데이터 보존 금지 정책을 따르며 모델 학습에 데이터를 사용하지 않습니다. 단,", "zen.privacy.exceptionsLink": "다음 예외", - "go.promo.step5": "Step 5 Preview를 Go에서 한정 기간 동안 사용량 4배로 이용할 수 있습니다.", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free를 Go에서 한정 기간 동안 무료로 이용할 수 있습니다.", "go.title": "OpenCode Go | 모두를 위한 저비용 코딩 모델", "go.meta.description": "Go는 월 $10이며, 넉넉한 사용 한도와 주요 코딩 모델에 대한 안정적인 액세스를 제공합니다.", "go.hero.title": "모두를 위한 저비용 코딩 모델", diff --git a/packages/console/app/src/i18n/no.ts b/packages/console/app/src/i18n/no.ts index 8893f19ecfba..87c96ac40f36 100644 --- a/packages/console/app/src/i18n/no.ts +++ b/packages/console/app/src/i18n/no.ts @@ -204,7 +204,7 @@ export const dict = { "Alle Zen-modeller hostes i USA. Leverandører følger en policy om null oppbevaring og bruker ikke dataene dine til modelltrening, med", "zen.privacy.exceptionsLink": "følgende unntak", - "go.promo.step5": "Step 5 Preview er nå tilgjengelig i Go med 4× bruk i en begrenset periode.", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free er nå tilgjengelig i Go, gratis i en begrenset periode.", "go.title": "OpenCode Go | Rimelige kodemodeller for alle", "go.meta.description": "Go koster $10/måned, med sjenerøse bruksgrenser og pålitelig tilgang til ledende kodemodeller.", diff --git a/packages/console/app/src/i18n/pl.ts b/packages/console/app/src/i18n/pl.ts index 1dc52057e7a8..a651a54d9fee 100644 --- a/packages/console/app/src/i18n/pl.ts +++ b/packages/console/app/src/i18n/pl.ts @@ -204,7 +204,7 @@ export const dict = { "Wszystkie modele Zen są hostowane w USA. Dostawcy stosują politykę zerowej retencji i nie wykorzystują Twoich danych do trenowania modeli, z", "zen.privacy.exceptionsLink": "następującymi wyjątkami", - "go.promo.step5": "Step 5 Preview jest już dostępny w Go z 4× większym limitem przez ograniczony czas.", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free jest już dostępny w Go, za darmo przez ograniczony czas.", "go.title": "OpenCode Go | Niskokosztowe modele do kodowania dla każdego", "go.meta.description": "Go kosztuje $10/miesiąc, oferując hojne limity użycia i niezawodny dostęp do wiodących modeli do kodowania.", diff --git a/packages/console/app/src/i18n/ru.ts b/packages/console/app/src/i18n/ru.ts index 5e848b02e8d8..3bb97fe3843e 100644 --- a/packages/console/app/src/i18n/ru.ts +++ b/packages/console/app/src/i18n/ru.ts @@ -207,7 +207,7 @@ export const dict = { "Все модели Zen размещены в США. Провайдеры следуют политике нулевого хранения и не используют ваши данные для обучения моделей, за", "zen.privacy.exceptionsLink": "следующими исключениями", - "go.promo.step5": "Step 5 Preview уже доступна в Go с лимитом ×4 в течение ограниченного времени.", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free уже доступна в Go бесплатно в течение ограниченного времени.", "go.title": "OpenCode Go | Недорогие модели для кодинга для всех", "go.meta.description": "Go стоит $10/месяц и предлагает щедрые лимиты использования и надежный доступ к ведущим моделям для кодинга.", diff --git a/packages/console/app/src/i18n/th.ts b/packages/console/app/src/i18n/th.ts index e436fd2babd1..2979735d2530 100644 --- a/packages/console/app/src/i18n/th.ts +++ b/packages/console/app/src/i18n/th.ts @@ -202,7 +202,7 @@ export const dict = { "โมเดล Zen ทั้งหมดโฮสต์ในสหรัฐอเมริกา ผู้ให้บริการปฏิบัติตามนโยบายไม่เก็บรักษาข้อมูล (zero-retention policy) และไม่ใช้ข้อมูลของคุณสำหรับการฝึกโมเดล โดยมี", "zen.privacy.exceptionsLink": "ข้อยกเว้นดังนี้", - "go.promo.step5": "Step 5 Preview พร้อมให้ใช้งานใน Go แล้ว พร้อมการใช้งาน 4 เท่าในช่วงเวลาจำกัด", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free พร้อมให้ใช้งานใน Go แล้ว ใช้ฟรีในช่วงเวลาจำกัด", "go.title": "OpenCode Go | โมเดลเขียนโค้ดราคาประหยัดสำหรับทุกคน", "go.meta.description": "Go มีราคา $10/เดือน พร้อมขีดจำกัดการใช้งานที่เอื้อเฟื้อและการเข้าถึงโมเดลเขียนโค้ดชั้นนำอย่างเชื่อถือได้", diff --git a/packages/console/app/src/i18n/tr.ts b/packages/console/app/src/i18n/tr.ts index 95b685f41013..3ad1406e298e 100644 --- a/packages/console/app/src/i18n/tr.ts +++ b/packages/console/app/src/i18n/tr.ts @@ -205,7 +205,7 @@ export const dict = { "Tüm Zen modelleri ABD'de barındırılmaktadır. Sağlayıcılar sıfır saklama politikası izler ve verilerinizi model eğitimi için kullanmaz; şu", "zen.privacy.exceptionsLink": "aşağıdaki istisnalar", - "go.promo.step5": "Step 5 Preview artık Go'da sınırlı bir süre için 4× kullanımla sunuluyor.", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free artık Go'da sınırlı bir süre için ücretsiz sunuluyor.", "go.title": "OpenCode Go | Herkes için düşük maliyetli kodlama modelleri", "go.meta.description": "Go ayda 10$'dır; cömert kullanım limitleri ve önde gelen kodlama modellerine güvenilir erişim sunar.", diff --git a/packages/console/app/src/i18n/uk.ts b/packages/console/app/src/i18n/uk.ts index 7ad5f0e5bfc6..18f0eb016eef 100644 --- a/packages/console/app/src/i18n/uk.ts +++ b/packages/console/app/src/i18n/uk.ts @@ -203,7 +203,7 @@ export const dict = { "Усі моделі Zen розміщені в США. Провайдери дотримуються політики нульового зберігання та не використовують ваші дані для навчання моделей, за", "zen.privacy.exceptionsLink": "такими винятками", - "go.promo.step5": "Step 5 Preview уже доступна в Go з лімітом ×4 протягом обмеженого часу.", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free уже доступна в Go безкоштовно протягом обмеженого часу.", "go.title": "OpenCode Go | Недорогі моделі кодування для всіх", "go.meta.description": "Go коштує $10/місяць, зі щедрими лімітами використання та надійним доступом до провідних моделей для кодування.", diff --git a/packages/console/app/src/i18n/zh.ts b/packages/console/app/src/i18n/zh.ts index 8fd491731031..35e27cc78ccc 100644 --- a/packages/console/app/src/i18n/zh.ts +++ b/packages/console/app/src/i18n/zh.ts @@ -193,7 +193,7 @@ export const dict = { "zen.privacy.beforeExceptions": "所有 Zen 模型均托管在美国。提供商遵循零留存政策,不使用您的数据进行模型训练,", "zen.privacy.exceptionsLink": "以下例外情况除外", - "go.promo.step5": "Step 5 Preview 现已上线 Go,限时 4 倍用量。", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free 现已上线 Go,限时免费。", "go.title": "OpenCode Go | 人人可用的低成本编程模型", "go.meta.description": "Go 每月 $10,提供充裕的使用限额,并可可靠访问领先的编程模型。", "go.hero.title": "人人可用的低成本编程模型", diff --git a/packages/console/app/src/i18n/zht.ts b/packages/console/app/src/i18n/zht.ts index cc0530ef169c..d15cbab40f8c 100644 --- a/packages/console/app/src/i18n/zht.ts +++ b/packages/console/app/src/i18n/zht.ts @@ -192,7 +192,7 @@ export const dict = { "zen.privacy.beforeExceptions": "所有 Zen 模型均在美國託管。供應商遵循零留存政策,不會將你的資料用於模型訓練,並且有", "zen.privacy.exceptionsLink": "以下例外情況", - "go.promo.step5": "Step 5 Preview 現已上線 Go,限時 4 倍用量。", + "go.promo.minimaxM31FlashFree": "MiniMax M3.1 Flash Free 現已上線 Go,限時免費。", "go.title": "OpenCode Go | 低成本全民編碼模型", "go.meta.description": "Go 每月 $10,提供充裕的使用限額,並可穩定存取領先的編碼模型。", "go.hero.title": "低成本全民編碼模型", diff --git a/packages/console/app/src/routes/go/index.tsx b/packages/console/app/src/routes/go/index.tsx index 1392ca9c32f9..12c410bc7dc1 100644 --- a/packages/console/app/src/routes/go/index.tsx +++ b/packages/console/app/src/routes/go/index.tsx @@ -30,7 +30,7 @@ import { LocaleLinks } from "~/component/locale-links" import { SocialMeta } from "~/component/social-meta" const models = [ - { name: "Space Bunny", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, + { name: "MiniMax M3.1 Flash Free", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "LongCat 2.5 Preview Free", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "Step 5 Preview", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "Beam Free", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention30" }, @@ -86,7 +86,7 @@ export default function Home() {
{i18n.t("home.banner.badge")}
- {i18n.t("go.promo.step5")} + {i18n.t("go.promo.minimaxM31FlashFree")}
diff --git a/packages/stats/app/test/model-catalog.test.ts b/packages/stats/app/test/model-catalog.test.ts index c84dba832695..c7f0afeafd82 100644 --- a/packages/stats/app/test/model-catalog.test.ts +++ b/packages/stats/app/test/model-catalog.test.ts @@ -5,8 +5,8 @@ mock.module("@solidjs/router", () => ({ query: (fn: unknown) => fn })) const { buildModelCatalog } = await import("../src/routes/model-catalog") const listing = (overrides: Record = {}) => ({ - id: "space-bunny-free", - name: "Space Bunny Free", + id: "exo-free", + name: "Exo Free", release_date: "2026-09-23", modalities: { input: ["text", "image", "video"], output: ["text"] }, limit: { context: 1048576, input: 524288, output: 524288 }, @@ -19,13 +19,13 @@ describe("stealth model specs", () => { const catalog = buildModelCatalog([], { opencode: { id: "opencode", - models: { "space-bunny-free": listing(), "gpt-5-nano": listing({ id: "gpt-5-nano" }) }, + models: { "exo-free": listing(), "gpt-5-nano": listing({ id: "gpt-5-nano" }) }, }, - "nano-gpt": { id: "nano-gpt", models: { "stealth/space-bunny-alpha": listing({ limit: { context: 1 } }) } }, + "nano-gpt": { id: "nano-gpt", models: { "stealth/exo-alpha": listing({ limit: { context: 1 } }) } }, }) expect(catalog.stealthSpecs).toEqual({ - "space-bunny": { + "exo": { knowledge: undefined, releaseDate: "2026-09-23", limit: { context: 1048576, output: 524288 }, @@ -36,15 +36,15 @@ describe("stealth model specs", () => { test("prefers the opencode listing over opencode-go", () => { const catalog = buildModelCatalog([], { - opencode: { models: { "space-bunny-free": listing() } }, - "opencode-go": { models: { "space-bunny-free": listing({ release_date: "2026-01-01" }) } }, + opencode: { models: { "exo-free": listing() } }, + "opencode-go": { models: { "exo-free": listing({ release_date: "2026-01-01" }) } }, }) - expect(catalog.stealthSpecs["space-bunny"]?.releaseDate).toBe("2026-09-23") + expect(catalog.stealthSpecs["exo"]?.releaseDate).toBe("2026-09-23") }) test("leaves stealth models out of the lab catalog", () => { - const catalog = buildModelCatalog([], { opencode: { models: { "space-bunny-free": listing() } } }) + const catalog = buildModelCatalog([], { opencode: { models: { "exo-free": listing() } } }) expect(catalog.models).toEqual([]) expect(catalog.labs).toEqual([]) diff --git a/packages/stats/core/src/domain/inference.test.ts b/packages/stats/core/src/domain/inference.test.ts index e313242ed7bf..bbe93caf6ca9 100644 --- a/packages/stats/core/src/domain/inference.test.ts +++ b/packages/stats/core/src/domain/inference.test.ts @@ -88,12 +88,11 @@ describe("inference stat normalization", () => { expect(statProvider("omen-alpha", "gpt-test-model", "test-provider")).toBe("unknown") expect(statProvider("OMEN-ALPHA-free:global", "gpt-test-model", "test-provider")).toBe("unknown") expect(statProvider("omen-alpha", "", "test-provider")).toBe("unknown") - expect(statProvider("space-bunny-free", "hidden-route-model", "hidden-provider")).toBe("unknown") expect(statProvider("exo-free", "gpt-test-model", "hidden-provider")).toBe("unknown") - const spaceBunny = { ...aggregate("space-bunny-free", "hidden-provider"), provider_model: "hidden-route-model" } - expect(toModelAggregate(spaceBunny)).toMatchObject([{ model: "space-bunny", provider: "unknown", requests: 1 }]) - expect(toProviderAggregate(spaceBunny)).toMatchObject([{ provider: "unknown", requests: 1 }]) + const exo = { ...aggregate("exo-free", "hidden-provider"), provider_model: "hidden-route-model" } + expect(toModelAggregate(exo)).toMatchObject([{ model: "exo", provider: "unknown", requests: 1 }]) + expect(toProviderAggregate(exo)).toMatchObject([{ provider: "unknown", requests: 1 }]) const row = { ...aggregate("omen-alpha", "test-provider"), provider_model: "gpt-test-model" } expect(toModelAggregate(row)).toMatchObject([{ model: "omen-alpha", provider: "unknown", requests: 1 }]) @@ -133,6 +132,11 @@ describe("inference stat normalization", () => { expect(RETIRED_STAT_MODELS).toContain("cat-jam") expect(statProvider("cat-jam-free", "", "unknown")).toBe("reflection") expect(statProvider("beam-free", "", "unknown")).toBe("reflection") + expect(statModel("space-bunny-free", "")).toBe("minimax-m3.1-flash") + expect(statModel("space-bunny", "")).toBe("minimax-m3.1-flash") + expect(statModel("minimax-m3.1-flash-free", "")).toBe("minimax-m3.1-flash") + expect(RETIRED_STAT_MODELS).toContain("space-bunny") + expect(statProvider("space-bunny-free", "hidden-route-model", "hidden-provider")).toBe("minimax") expect(statModel("glm-5.3-flash-free", "")).toBe("glm-5.3-flash") expect(statModel("big-pickle", "zhipuai/ox-alpha-free")).toBe("glm-5.3-flash") expect(statModel("xiaomi/mimo-v2.5", "")).toBe("mimo-v2.5") @@ -284,7 +288,7 @@ describe("inference stat normalization", () => { queries.forEach((query) => { expect(query).toContain("WHERE lower(model) NOT IN ('alpha-gpt-next')") expect(query).toContain( - "CASE\n WHEN lower(model) IN ('exo', 'omen-alpha', 'space-bunny', 'union-alpha') THEN 'unknown'\n", + "CASE\n WHEN lower(model) IN ('exo', 'omen-alpha', 'union-alpha') THEN 'unknown'\n", ) expect(query).toContain("= 'opencode-go/union-alpha' THEN 'union-alpha'") expect(query).toContain("= 'opencode/union-alpha' THEN 'union-alpha'") @@ -357,7 +361,7 @@ describe("inference stat normalization", () => { expect(queries[0]?.query).toContain("AND product = 'go'") expect(queries[0]?.query).toContain("AND lower(model) NOT IN ('alpha-gpt-next')") expect(queries[0]?.query).toContain( - "CASE\n WHEN lower(model) IN ('exo', 'omen-alpha', 'space-bunny', 'union-alpha') THEN 'unknown'\n", + "CASE\n WHEN lower(model) IN ('exo', 'omen-alpha', 'union-alpha') THEN 'unknown'\n", ) expect(queries[0]?.query).toContain("= 'opencode-go/union-alpha' THEN 'union-alpha'") expect(queries[0]?.query).toContain("= 'opencode/union-alpha' THEN 'union-alpha'") diff --git a/packages/stats/core/src/domain/model-normalization.ts b/packages/stats/core/src/domain/model-normalization.ts index 92a4513006df..8aeec33e3d6c 100644 --- a/packages/stats/core/src/domain/model-normalization.ts +++ b/packages/stats/core/src/domain/model-normalization.ts @@ -17,7 +17,7 @@ export const MODEL_AUTHOR_RULES = [ { match: "qwen", author: "qwen" }, ] as const export const EXCLUDED_MODELS = new Set(["alpha-gpt-next"]) -export const STEALTH_MODELS = new Set(["exo", "omen-alpha", "space-bunny", "union-alpha"]) +export const STEALTH_MODELS = new Set(["exo", "omen-alpha", "union-alpha"]) export const FREE_MODELS = new Set(["gpt-5-nano", "grok-code", "big-pickle"]) export const MODEL_NAME_MAX_LENGTH = 256 export const MODEL_NAME_ALIASES: Record = { @@ -30,6 +30,7 @@ export const MODEL_NAME_ALIASES: Record = { "opencode/union-alpha": "union-alpha", "ox-alpha": "glm-5.3-flash", "x-preview-f": "glm-5.3-flash", + "space-bunny": "minimax-m3.1-flash", "xiaomi/mimo-v2.5": "mimo-v2.5", } export const RETIRED_STAT_MODELS = ["big-pickle", ...Object.keys(MODEL_NAME_ALIASES)] diff --git a/services/www/src/docs/content/console/go.mdx b/services/www/src/docs/content/console/go.mdx index fa4e9be58ce5..6079372ca738 100644 --- a/services/www/src/docs/content/console/go.mdx +++ b/services/www/src/docs/content/console/go.mdx @@ -54,6 +54,7 @@ The current list of models includes: - **MiMo-V2.6-Pro** - **MiMo-V2.5** - **MiMo-V2.5-Pro** +- **MiniMax M3.1 Flash Free** (limited time) - **MiniMax M3** - **Muse Spark 1.3 Contributor** ([limited regions](https://ai.developer.meta.com/legal/geographic-use-policy)) - **Muse Spark 1.2 Contributor** ([limited regions](https://ai.developer.meta.com/legal/geographic-use-policy)) @@ -64,7 +65,6 @@ The current list of models includes: - **DeepSeek V4 Pro** - **Hy4 preview** - **Hy3** -- **Space Bunny** The list of models may change as we test and add new ones. @@ -142,6 +142,7 @@ Token prices are per 1M tokens. | MiMo-V2.6-Pro | $0.435 | $0.87 | $0.003625 | - | **$15** | | MiMo-V2.5 | $0.14 | $0.28 | $0.0028 | - | **$60** | | MiMo-V2.5-Pro | $0.435 | $0.87 | $0.003625 | - | **$15** | + | MiniMax M3.1 Flash Free | Free | Free | Free | - | **Unlimited**
limited time | | MiniMax M3 | $0.30 | $1.20 | $0.06 | - | **$60** | | Muse Spark 1.3 Contributor | $0.10 | $0.20 | $0.002 | - | **$60** | | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | **$60** | @@ -155,7 +156,6 @@ Token prices are per 1M tokens. | DeepSeek V4 Pro (Peak) | $1.32 | $3.96 | $0.044 | - | **$15** | | Hy4 preview | $0.834 | $2.501 | $0.042 | - | **$30** | | Hy3 | $0.14 | $0.58 | $0.035 | - | **$60** | - | Space Bunny | $0.15 | $0.60 | $0.03 | - | **$30** | | Grok 4.7 (≤ 200K tokens) | $2.00 | $6.00 | $0.50 | - | **$15** | | Grok 4.7 (> 200K tokens) | $4.00 | $12.00 | $1.00 | - | **$15** | | GPT 6 Luna (≤ 272K tokens) | $0.10 | $0.50 | $0.01 | $0.125 | **$15** | @@ -184,6 +184,7 @@ Token prices are per 1M tokens. | MiMo-V2.6-Pro | $0.435 | $0.87 | $0.003625 | - | **$60** | | MiMo-V2.5 | $0.14 | $0.28 | $0.0028 | - | **$120** | | MiMo-V2.5-Pro | $0.435 | $0.87 | $0.003625 | - | **$60** | + | MiniMax M3.1 Flash Free | Free | Free | Free | - | **Unlimited**
limited time | | MiniMax M3 | $0.30 | $1.20 | $0.06 | - | **$180** | | Muse Spark 1.3 Contributor | $0.10 | $0.20 | $0.002 | - | **$120** | | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | **$120** | @@ -197,7 +198,6 @@ Token prices are per 1M tokens. | DeepSeek V4 Pro (Peak) | $1.32 | $3.96 | $0.044 | - | **$60** | | Hy4 preview | $0.834 | $2.501 | $0.042 | - | **$120** | | Hy3 | $0.14 | $0.58 | $0.035 | - | **$240** | - | Space Bunny | $0.15 | $0.60 | $0.03 | - | **$120** | | Grok 4.7 (≤ 200K tokens) | $2.00 | $6.00 | $0.50 | - | **$60** | | Grok 4.7 (> 200K tokens) | $4.00 | $12.00 | $1.00 | - | **$60** | | GPT 6 Luna (≤ 272K tokens) | $0.10 | $0.50 | $0.01 | $0.125 | **$60** | @@ -213,6 +213,8 @@ Token prices are per 1M tokens. **LongCat 2.5 Preview Free:** Free for a limited time. +**MiniMax M3.1 Flash Free:** Free for a limited time. + **Beam Free:** Free for a limited time. Not available in Angola, Belarus, Cambodia, China (including Hong Kong and Macau), Cuba, the Democratic Republic of the Congo, Equatorial Guinea, Iran, Iraq, Laos, Libya, Nigeria, North Korea, Russia, Syria, Turkmenistan, Uzbekistan, Venezuela, or the Crimea, Donetsk, and Luhansk regions of Ukraine. **DeepSeek V4.1 Flash / V4 Pro:** Peak hours are 01:00-04:00 and 06:00-10:00 UTC, Monday through Friday; all other hours, including weekends, are Off-Peak. [Learn more](https://api-docs.deepseek.com/quick_start/pricing/). @@ -240,6 +242,7 @@ Plus estimates scale with each model's higher usage limit. | MiMo-V2.6-Pro | 3,250 | 8,150 | 16,300 | | MiMo-V2.5 | 30,100 | 75,200 | 150,400 | | MiMo-V2.5-Pro | 3,250 | 8,150 | 16,300 | + | MiniMax M3.1 Flash Free | Unlimited | Unlimited | Unlimited | | MiniMax M3 | 3,200 | 8,000 | 16,000 | | Muse Spark 1.3 Contributor | 45,300 | 113,300 | 226,600 | | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | @@ -250,7 +253,6 @@ Plus estimates scale with each model's higher usage limit. | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | - | Space Bunny | 3,130 | 7,810 | 15,630 | | Grok 4.7 | 169 | 423 | 845 | | GPT 6 Luna | 4,230 | 10,560 | 21,130 | | GPT 5.6 Luna | 2,050 | 5,100 | 10,250 | @@ -275,6 +277,7 @@ Plus estimates scale with each model's higher usage limit. | MiMo-V2.6-Pro | 13,000 | 32,600 | 65,200 | | MiMo-V2.5 | 60,200 | 150,400 | 300,800 | | MiMo-V2.5-Pro | 13,000 | 32,600 | 65,200 | + | MiniMax M3.1 Flash Free | Unlimited | Unlimited | Unlimited | | MiniMax M3 | 9,600 | 24,000 | 48,000 | | Muse Spark 1.3 Contributor | 90,600 | 226,600 | 453,200 | | Muse Spark 1.2 Contributor | 90,600 | 226,600 | 453,200 | @@ -285,7 +288,6 @@ Plus estimates scale with each model's higher usage limit. | DeepSeek V4 Pro | 4,200 | 10,400 | 20,800 | | Hy4 preview | 5,400 | 13,520 | 27,080 | | Hy3 | 17,200 | 43,000 | 86,000 | - | Space Bunny | 12,500 | 31,250 | 62,500 | | Grok 4.7 | 676 | 1,692 | 3,380 | | GPT 6 Luna | 16,920 | 42,240 | 84,520 | | GPT 5.6 Luna | 8,200 | 20,400 | 41,000 | @@ -321,7 +323,6 @@ The estimates use the following token counts per request; actual usage varies. - Qwen3.7 Plus — 500 input, 57,000 cached, 190 output tokens per request - Hy4 preview — 830 input, 71,500 cached, 295 output tokens per request - Hy3 — 830 input, 71,500 cached, 295 output tokens per request -- Space Bunny — 1,000 input, 55,000 cached, 200 output tokens per request You can track your current usage in the [console](https://opencode.ai/console). @@ -380,7 +381,7 @@ You can also access Go models through the following API endpoints. | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/inference/go/anthropic/v1/messages` | `@ai-sdk/anthropic` | | Hy4 preview | hy4-preview | `https://opencode.ai/inference/go/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/inference/go/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Space Bunny | space-bunny | `https://opencode.ai/inference/go/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| MiniMax M3.1 Flash Free | minimax-m3.1-flash-free | `https://opencode.ai/inference/go/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | | LongCat 2.5 Preview Free | longcat-2.5-preview-free | `https://opencode.ai/inference/go/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Step 5 Preview | step-5-preview | `https://opencode.ai/inference/go/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Beam Free | beam-free | `https://opencode.ai/inference/go/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -434,7 +435,7 @@ curl https://opencode.ai/inference/go/v1/models | DeepSeek V4 Pro | Not used | 0 days\* | | Hy4 preview | Not used | 0 days | | Hy3 | Not used | 0 days | -| Space Bunny | Not used | 0 days | +| MiniMax M3.1 Flash Free | Not used | 0 days | | LongCat 2.5 Preview Free | Not used | 0 days | | Step 5 Preview | Not used | 0 days | | Beam Free | Not used | 30 days | diff --git a/services/www/src/docs/content/console/models.mdx b/services/www/src/docs/content/console/models.mdx index ba271c3adfee..b8ebcf31bbab 100644 --- a/services/www/src/docs/content/console/models.mdx +++ b/services/www/src/docs/content/console/models.mdx @@ -112,7 +112,7 @@ You can also access the models directly through the following API endpoints. | Big Pickle | big-pickle | `https://opencode.ai/inference/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | | GLM-5.3-Flash Free | glm-5.3-flash-free | `https://opencode.ai/inference/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | | DeepSeek V4.1 Flash Free | deepseek-v4.1-flash-free | `https://opencode.ai/inference/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Space Bunny Free | space-bunny-free | `https://opencode.ai/inference/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| MiniMax M3.1 Flash Free | minimax-m3.1-flash-free | `https://opencode.ai/inference/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Beam Free | beam-free | `https://opencode.ai/inference/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | | LL Alpha Free | ll-alpha-free | `https://opencode.ai/inference/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | | LongCat 2.5 Preview Free | longcat-2.5-preview-free | `https://opencode.ai/inference/openai/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -206,7 +206,7 @@ Console uses pay-as-you-go pricing. Below are the prices **per 1M tokens**. | Big Pickle | Free | Free | Free | - | | GLM-5.3-Flash Free | Free | Free | Free | - | | DeepSeek V4.1 Flash Free | Free | Free | Free | - | -| Space Bunny Free | Free | Free | Free | - | +| MiniMax M3.1 Flash Free | Free | Free | Free | - | | Beam Free | Free | Free | Free | - | | LL Alpha Free | Free | Free | Free | - | | LongCat 2.5 Preview Free | Free | Free | Free | - | @@ -329,7 +329,7 @@ models to generate session titles. - Nemotron 3.5 Lightning Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. - Nemotron 3.5 Super VL Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. - Big Pickle is a stealth model that's free on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. -- Space Bunny Free is a stealth model that's free on OpenCode for a limited time. Its provider follows a zero-retention policy and does not use your data for model training. +- MiniMax M3.1 Flash Free is free on OpenCode for a limited time. Its provider follows a zero-retention policy and does not use your data for model training. - Beam Free is free on OpenCode for a limited time. Its provider does not use your data for model training and retains it for 30 days for safety reasons. It's not available in Angola, Belarus, Cambodia, China (including Hong Kong and Macau), Cuba, the Democratic Republic of the Congo, Equatorial Guinea, Iran, Iraq, Laos, Libya, Nigeria, North Korea, Russia, Syria, Turkmenistan, Uzbekistan, Venezuela, or the Crimea, Donetsk, and Luhansk regions of Ukraine. - LL Alpha Free is a stealth model that's free on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. - LongCat 2.5 Preview Free is free on OpenCode for a limited time. Its provider follows a zero-retention policy and does not use your data for model training.