Total Context | Max Output | Input Price | Output Price | Cache Read | Cache Write | Input Audio | Input Audio Cache |
|---|---|---|---|---|---|---|---|
204.8K | 131.1K | $0.30 | $1.20 | $0.03 | -- | -- | -- |
MiniMax: MiniMax M2.5
minimax/minimax-m2.5
MiniMax-M2.5 is a SOTA large language model designed for real-world productivity. Trained in a diverse range of complex real-world digital working environments, M2.5 builds upon the coding expertise of M2.1 to extend into general office work, reaching fluency in generating and operating Word, Excel, and Powerpoint files, context switching between diverse software environments, and working across different agent and human teams. Scoring 80.2% on SWE-Bench Verified, 51.3% on Multi-SWE-Bench, and 76.3% on BrowseComp, M2.5 is also more token efficient than previous generations, having been trained to optimize its actions and output through planning.
Providers for MiniMax M2.5
OpenRouter routes requests to the best providers that are able to handle your prompt size and parameters, with fallbacks to maximize uptime.
Total Context | Max Output | Input Price | Output Price | Cache Read | Cache Write | Input Audio | Input Audio Cache |
|---|---|---|---|---|---|---|---|
204.8K | 131.1K | $0.30 | $1.20 | $0.03 | -- | -- | -- |
Total Context | Max Output | Input Price | Output Price | Cache Read | Cache Write | Input Audio | Input Audio Cache |
|---|---|---|---|---|---|---|---|
204.8K | 131.1K | $0.60 | $2.40 | $0.06 | -- | -- | -- |
When an error occurs in an upstream provider, we can recover by routing to another healthy provider, if your request filters allow it. You can access uptime data programmatically through the Endpoints API
Learn more about our load balancing and customization options.
Sample code and API for MiniMax M2.5
OpenRouter normalizes requests and responses across providers for you.
OpenRouter supports reasoning-enabled models that can show their step-by-step thinking process. Use the reasoning parameter in your request to enable reasoning, and access the reasoning_details array in the response to see the model's internal reasoning before the final answer. When continuing a conversation, preserve the complete reasoning_details when passing messages back to the model so it can continue reasoning from where it left off. Learn more about reasoning tokens.
In the examples below, the OpenRouter-specific headers are optional. Setting them allows your app to appear on the OpenRouter leaderboards.
import { OpenRouter } from "@openrouter/sdk";
const openrouter = new OpenRouter({
apiKey: "<OPENROUTER_API_KEY>"
});
// Stream the response to get reasoning tokens in usage
const stream = await openrouter.chat.send({
model: "minimax/minimax-m2.5",
messages: [
{
role: "user",
content: "How many r's are in the word 'strawberry'?"
}
],
stream: true
});
let response = "";
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content;
if (content) {
response += content;
process.stdout.write(content);
}
// Usage information comes in the final chunk
if (chunk.usage) {
console.log("\nReasoning tokens:", chunk.usage.reasoningTokens);
}
}Using third-party SDKs
For information about using third-party SDKs and frameworks with OpenRouter, please see our frameworks documentation.
See the Request docs for all possible fields, and Parameters for explanations of specific sampling parameters.