|
| 1 | +import type { ModelInfo } from "../model.js" |
| 2 | + |
| 3 | +// https://developer.puter.com/ai/xiaomi/mimo-v2.5-pro/ |
| 4 | +// https://developer.puter.com/ai/xiaomi/mimo-v2.5/ |
| 5 | +// https://platform.xiaomimimo.com/docs/en-US/quick-start/model-hyperparameters |
| 6 | +// |
| 7 | +// NOTE: mimo-v2-flash is not included here. Its thinking mode defaults to |
| 8 | +// disabled and it doesn't reliably handle reasoning_content passthrough |
| 9 | +// during multi-turn tool calling, which causes 400 errors from the proxy. |
| 10 | +// If flash support is needed later, it should be validated against the API |
| 11 | +// first — the tool-calling + thinking flow is what makes MiMo useful as |
| 12 | +// an agentic provider, and flash just can't do that yet. |
| 13 | +export type MimoModelId = keyof typeof mimoModels |
| 14 | + |
| 15 | +export const mimoDefaultModelId: MimoModelId = "mimo-v2.5-pro" |
| 16 | + |
| 17 | +export const mimoModels = { |
| 18 | + "mimo-v2.5-pro": { |
| 19 | + maxTokens: 131_072, |
| 20 | + contextWindow: 1_048_576, |
| 21 | + supportsImages: false, // Pro series is text-only |
| 22 | + supportsPromptCache: false, |
| 23 | + preserveReasoning: true, |
| 24 | + inputPrice: 1.0, // $1.00/1M tokens (cache miss, ≤256K) |
| 25 | + outputPrice: 3.0, // $3.00/1M tokens (≤256K) |
| 26 | + cacheReadsPrice: 0.2, // $0.20/1M tokens (cache hit, ≤256K) |
| 27 | + cacheWritesPrice: 0, // Free for limited time |
| 28 | + // MiMo charges 2x above 256K context |
| 29 | + longContextPricing: { |
| 30 | + thresholdTokens: 256_000, |
| 31 | + inputPriceMultiplier: 2, |
| 32 | + outputPriceMultiplier: 2, |
| 33 | + cacheReadsPriceMultiplier: 2, |
| 34 | + }, |
| 35 | + description: |
| 36 | + "MiMo V2.5 Pro - Xiaomi's flagship reasoning model with 1M context, deep thinking, tool calling, and structured output.", |
| 37 | + }, |
| 38 | + "mimo-v2.5": { |
| 39 | + maxTokens: 131_072, |
| 40 | + contextWindow: 1_048_576, |
| 41 | + supportsImages: true, // Full-modal: text, image, audio, video input |
| 42 | + supportsPromptCache: false, |
| 43 | + preserveReasoning: true, |
| 44 | + inputPrice: 0.4, // $0.40/1M tokens (cache miss, ≤256K) |
| 45 | + outputPrice: 2.0, // $2.00/1M tokens (≤256K) |
| 46 | + cacheReadsPrice: 0.08, // $0.08/1M tokens (cache hit, ≤256K) |
| 47 | + cacheWritesPrice: 0, // Free for limited time |
| 48 | + // MiMo charges 2x above 256K context |
| 49 | + longContextPricing: { |
| 50 | + thresholdTokens: 256_000, |
| 51 | + inputPriceMultiplier: 2, |
| 52 | + outputPriceMultiplier: 2, |
| 53 | + cacheReadsPriceMultiplier: 2, |
| 54 | + }, |
| 55 | + description: |
| 56 | + "MiMo V2.5 - Full-modal understanding model (text, image, audio, video) with 1M context, deep thinking, tool calling, and structured output.", |
| 57 | + }, |
| 58 | +} as const satisfies Record<string, ModelInfo> |
| 59 | + |
| 60 | +export const mimoDefaultModelInfo: ModelInfo = mimoModels[mimoDefaultModelId] |
| 61 | + |
| 62 | +export const MIMO_DEFAULT_TEMPERATURE = 1.0 |
0 commit comments