Skip to content

feat(app): add MiniMax M3 to the profit estimators with MiniMax list-price defaults / 利润估算器新增 MiniMax M3 并默认采用 MiniMax 官方定价 - #1002

Merged
functionstackx merged 3 commits into
masterfrom
feat/profit-estimator-minimax-m3
Sep 4, 2026
Merged

feat(app): add MiniMax M3 to the profit estimators with MiniMax list-price defaults / 利润估算器新增 MiniMax M3 并默认采用 MiniMax 官方定价#1002
functionstackx merged 3 commits into
masterfrom
feat/profit-estimator-minimax-m3

Conversation

@functionstackx

@functionstackx functionstackx commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds MiniMax M3 (MiniMax M3 428B) to /profit-estimator and /profit-estimator-per-gigawatt, plus the /zh mirrors. Stacked on #1001 (GLM 5.2/5.3), which introduced profitModelDefaults() and the <vendor> list price option this PR reuses; the base retargets to master once #1001 merges.

  • Routes: /profit-estimator/minimax-m3 and /profit-estimator-per-gigawatt/minimax-m3 (PROFIT_ESTIMATOR_MODELS in model-routes.ts). Kimi K3 stays the bare-path default; models outside the allow-list still 404 and stay out of the sitemap.
  • Per-model defaults (profitModelDefaults(Model.MiniMax_M3)):
    • 83 tok/s/user, the speed MiniMax's own API serves at.
    • MiniMax list price $0.30 input / $0.06 cached / $1.20 output per M tok, the standard tier for calls up to 512K input tokens on the MiniMax pay-as-you-go page (shown there as the permanent 50%-off rate; the >512K tier and the Priority tier are 2x and 1.5x and not modelled). Pinned as a list price rather than read from OpenRouter for the same reason as GLM: the OpenRouter aggregate for minimax/minimax-m3 sits below it ($0.23 / $0.05 / $0.96 on the model page), so the catalog would understate what the lab charges. OpenRouter and Custom remain one click away; the caption links the MiniMax pricing page when the list price is in force.
  • Coverage at 83 tok/s/user (checked against the live agentic rows): B200 TRT and vLLM, B300 TRT and vLLM, GB200 Dynamo-vLLM, and MI355X vLLM all have a measured point on both sides of 83, so they are priced. H100 (max 18), H200 (max 54), MI300X (max 30), and MI325X (max 32) top out below it and list under Not priced; the GB300 disagg curve starts at 99 and is skipped the same way. This is the existing clamp-skip behaviour, not new logic.
  • Model switch re-seeds the interactivity target and price source in every direction (45/OpenRouter for Kimi, 100/list for GLM, 83/list for MiniMax).
  • Docs: docs/tco-calculator.md profit-estimator section.

Tests

  • Unit (vitest): profitModelDefaults(Model.MiniMax_M3) and its list to revenue-pricing conversion; modelRoutesForTab now expects [Kimi K3, MiniMax M3, GLM 5.2] in MODEL_ROUTES (selector) order and the minimax-m3 slug. bun run typecheck, bun run lint, bun run fmt, the typography check, and the calculator/routing/sitemap unit files pass locally. One pre-existing benchmark-transform.test.ts case fails in my sandbox on Object.groupBy (old Node) on the base branch too; unrelated.
  • E2E (Cypress): fixtures now emit minimaxm3 agentic rows alongside kimik3 and glm5.2, keyed by the ?model= the benchmarks intercept is asked for. New specs cover the /minimax-m3 route defaults, caption, and pricing-source link; the 3-option price selector (OpenRouter reads the MiniMax row, not Kimi's); Custom seeding from the list price; GLM to MiniMax to Kimi model-switch re-seeding with the expected pathnames; and the /zh mirror label (MiniMax 官方定价). The Kimi selector assertion now expects three models. I could not run Cypress in my sandbox, so please rely on CI for the e2e run.

中文说明

/profit-estimator/profit-estimator-per-gigawatt(含 /zh 镜像)新增 MiniMax M3(MiniMax M3 428B),路径为 /minimax-m3。本 PR 叠加在 #1001(GLM 5.2/5.3)之上,复用其 profitModelDefaults() 与"厂商官方定价"选项;#1001 合并后基准分支会自动切换到 master。Kimi K3 仍为默认模型,其他模型继续返回 404。

  • 按模型的默认值:MiniMax M3 默认 83 tok/s/user(MiniMax 官方 API 的实际服务速度),并采用 MiniMax 官方定价:输入 $0.30 / 缓存输入 $0.06 / 输出 $1.20(每百万 token),即按量付费页面上 ≤512K 输入的标准档(长期 5 折价;>512K 与 Priority 档未建模)。与 GLM 相同,不直接读取 OpenRouter 的原因是其聚合价(约 $0.23 / $0.05 / $0.96)低于官方价,会低估实验室的实际收入;OpenRouter 与自定义仍可一键切换,使用官方定价时图表说明会链接 MiniMax 定价页。
  • 83 tok/s/user 处的覆盖(对照线上 agentic 数据):B200(TRT、vLLM)、B300(TRT、vLLM)、GB200 Dynamo-vLLM、MI355X vLLM 均有实测点覆盖,可计价;H100、H200、MI300X、MI325X 曲线上限低于该点,GB300 分离式曲线起点为 99,均按现有逻辑列为"未计价"。
  • 切换模型时会重置交互性目标与价格来源。
  • 同步更新 docs/tco-calculator.md

测试:新增 vitest 单元测试(默认值、官方定价换算、路由白名单与 slug);Cypress fixture 新增 minimaxm3 agentic 数据并按 ?model= 参数返回,新增 MiniMax 路由默认值、价格来源选择器、自定义价格初始化、GLM → MiniMax → Kimi 切换重置与中文镜像的 e2e 用例。本地已通过 typecheck / lint / fmt / typography 与相关单元测试;沙箱中无法运行 Cypress,请以 CI 结果为准。


Note

Low Risk
Extends an existing profit-estimator model allow-list and default seeding with tests and docs; no auth, payment, or core calculation logic changes beyond new default constants.

Overview
Adds MiniMax M3 to /profit-estimator and /profit-estimator-per-gigawatt (plus /minimax-m3 routes and sitemap coverage), alongside Kimi K3 and GLM 5.2/5.3.

Per-model defaults in profitModelDefaults() now include labCutPct as well as interactivity and price source. MiniMax M3 opens on 83 tok/s/user, MiniMax list price ($0.30 / $0.06 cached / $1.20 per M tok) with a caption link to MiniMax pay-as-you-go pricing, and a 20% model license fee (others stay at 30%). Switching models in ProfitEstimatorDisplay re-seeds target interactivity, token price source, and license fee via a new reset on the percent-field hook.

Routing allow-list (PROFIT_ESTIMATOR_MODELS), docs (docs/tco-calculator.md), Cypress fixtures (minimaxm3 agentic rows), and vitest/sitemap tests are updated to match; new e2e coverage asserts defaults, price-source options, GLM→MiniMax→Kimi resets, and Chinese mirror labels.

Reviewed by Cursor Bugbot for commit 0db295f. Bugbot is set up for automated code reviews on this repo. Configure here.

@vercel

vercel Bot commented Sep 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
inferencemax-app Ready Ready Preview Sep 4, 2026 10:58pm UTC

Request Review

Base automatically changed from feat/profit-estimator-glm-5-3 to master September 4, 2026 22:54
…price defaults

Adds MiniMax M3 to /profit-estimator and /profit-estimator-per-gigawatt
(and the /zh mirrors) at /minimax-m3. It opens on 83 tok/s/user and
MiniMax's standard <=512K list price ($0.30 input / $0.06 cached / $1.20
output per M tok); OpenRouter stays one click away. Kimi K3 remains the
bare-path default.
Adds labCutPct to profitModelDefaults so each model seeds its own license
fee. MiniMax M3 opens on 20%; Kimi K3, GLM 5.2/5.3, and the fallback stay
on the 30% DEFAULT_LAB_CUT_PCT. A model switch re-seeds the field alongside
the interactivity target and price source.
@functionstackx
functionstackx force-pushed the feat/profit-estimator-minimax-m3 branch from 73a2af8 to 0db295f Compare September 4, 2026 22:56
@functionstackx
functionstackx merged commit 25332e3 into master Sep 4, 2026
30 of 44 checks passed
@functionstackx
functionstackx deleted the feat/profit-estimator-minimax-m3 branch September 4, 2026 22:57
@blacksmith-sh

blacksmith-sh Bot commented Sep 4, 2026

Copy link
Copy Markdown

Found 1 test failure on Blacksmith runners:

Failure

Test View Logs
Profit Estimator — MiniMax M3/
re-seeds the operating point and price source when switching from GLM
View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant