From 7e72ca47c8bff19bcec96a98745ca4a3a7624051 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Tue, 2 Jun 2026 16:00:29 +0200 Subject: [PATCH] Add MiniMax-M3 to direct minimax providers closes #5313 --- packages/ai/CHANGELOG.md | 1 + packages/ai/scripts/generate-models.ts | 12 +------- packages/ai/src/models.generated.ts | 40 ++++++++++++++++++++++++-- 3 files changed, 39 insertions(+), 14 deletions(-) diff --git a/packages/ai/CHANGELOG.md b/packages/ai/CHANGELOG.md index e927bdca..3814e2b2 100644 --- a/packages/ai/CHANGELOG.md +++ b/packages/ai/CHANGELOG.md @@ -4,6 +4,7 @@ ### Added +- Added MiniMax-M3 model to the `minimax` and `minimax-cn` direct providers, and removed the hardcoded context-window override that was masking models.dev values ([#5313](https://github.com/earendil-works/pi/issues/5313)). - Added NVIDIA NIM as a built-in OpenAI-compatible provider, exposing public NIM models that support tool use. ### Fixed diff --git a/packages/ai/scripts/generate-models.ts b/packages/ai/scripts/generate-models.ts index b0f49571..93a664e2 100644 --- a/packages/ai/scripts/generate-models.ts +++ b/packages/ai/scripts/generate-models.ts @@ -1657,17 +1657,7 @@ async function generateModels() { } } - const minimaxDirectSupportedIds = new Set(["MiniMax-M2.7", "MiniMax-M2.7-highspeed"]); - - for (const candidate of allModels) { - if ( - (candidate.provider === "minimax" || candidate.provider === "minimax-cn") && - minimaxDirectSupportedIds.has(candidate.id) - ) { - candidate.contextWindow = 204800; - candidate.maxTokens = 131072; - } - } + const minimaxDirectSupportedIds = new Set(["MiniMax-M2.7", "MiniMax-M2.7-highspeed", "MiniMax-M3"]); for (let i = allModels.length - 1; i >= 0; i--) { const candidate = allModels[i]; diff --git a/packages/ai/src/models.generated.ts b/packages/ai/src/models.generated.ts index b3ff24a9..97001d3a 100644 --- a/packages/ai/src/models.generated.ts +++ b/packages/ai/src/models.generated.ts @@ -5564,6 +5564,23 @@ export const MODELS = { contextWindow: 204800, maxTokens: 131072, } satisfies Model<"anthropic-messages">, + "MiniMax-M3": { + id: "MiniMax-M3", + name: "MiniMax-M3", + api: "anthropic-messages", + provider: "minimax", + baseUrl: "https://api.minimax.io/anthropic", + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.3, + output: 1.2, + cacheRead: 0.06, + cacheWrite: 0.375, + }, + contextWindow: 512000, + maxTokens: 131072, + } satisfies Model<"anthropic-messages">, }, "minimax-cn": { "MiniMax-M2.7": { @@ -5600,6 +5617,23 @@ export const MODELS = { contextWindow: 204800, maxTokens: 131072, } satisfies Model<"anthropic-messages">, + "MiniMax-M3": { + id: "MiniMax-M3", + name: "MiniMax-M3", + api: "anthropic-messages", + provider: "minimax-cn", + baseUrl: "https://api.minimaxi.com/anthropic", + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.3, + output: 1.2, + cacheRead: 0.06, + cacheWrite: 0.375, + }, + contextWindow: 512000, + maxTokens: 131072, + } satisfies Model<"anthropic-messages">, }, "mistral": { "codestral-latest": { @@ -9689,9 +9723,9 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.3, - output: 2.5, - cacheRead: 0.06, + input: 0.075, + output: 0.625, + cacheRead: 0.015, cacheWrite: 0, }, contextWindow: 262144,