Model comparison · 2026-10-19
Which MiniMax model? M3.1 Flash, M3, M2.7 and M2.5
MiniMax M3.1 Flash, M3, M2.7, M2.5 and the Highspeed versions: choosing by price, context, input types, reasoning control and output speed.
Short answer: start a new integration on M3.1 Flash
LLMTR is a gateway that gives access to language models from different providers through one OpenAI-compatible API. MiniMax's six text models are called here on the /v1/chat/completions endpoint at https://llmtr.com/v1 with the same API key from your llmtr.com account: minimax/minimax-m3.1-flash, minimax/minimax-m3, minimax/minimax-m2.7, minimax/minimax-m2.7-highspeed, minimax/minimax-m2.5 and minimax/minimax-m2.5-highspeed. Moving from one to another is, for most requests, a change of the model string; the field that carries the reasoning setting is the exception.
In the LLMTR catalog M3.1 Flash is priced below the other five models in the family: $0.15 input and $0.60 output per 1M tokens. It carries the same 1,000,000-token context and the same 524,288-token output limit per response as M3, and it accepts images and video. What makes you pick M3 is the ability to turn reasoning off; what makes you pick M2.7 or M2.5 is an existing flow built on those models and tuned to their behavior. The Highspeed versions give the same model at a higher output speed, at twice the input and output price.
Which MiniMax model should you choose?
If you are starting a new integration, M3.1 Flash: a lower price, a 1,000,000-token context, image and video input, JSON object mode and a reasoning depth chosen per request. If you want answers without reasoning for work such as short classification or one-sentence summaries, M3: reasoning is turned off with reasoning: false or the :fast suffix, which cuts latency and output tokens. If your prompts stay under 204,800 tokens and you send only text, M2.7 and M2.5 work too; but in the catalog both have twice M3.1 Flash's input and output price, and neither accepts images or video.
The Highspeed versions are, in MiniMax's description, a faster form of the same model: MiniMax states an output speed of about 60 tokens per second for standard M2.7 and M2.5 and about 100 for the Highspeed versions. On LLMTR the Highspeed versions' input and output prices are twice the standard version's, and the cached input price is the same. The table shows the six rows with the values in the LLMTR catalog; prices are per 1M tokens, in the order input / cached input / output.
| Model id | Price | Context window | Maximum output per response | Input types | Reasoning control |
|---|---|---|---|---|---|
| minimax/minimax-m3.1-flash | $0.15 / $0.015 / $0.60 | 1,000,000 tokens | 524,288 tokens | text, image, video | cannot be turned off; reasoning_effort low, medium, high, xhigh, max |
| minimax/minimax-m3 | $0.30 / $0.06 / $1.20; prompts over 512,000 tokens $0.60 / $0.12 / $2.40 | 1,000,000 tokens | 524,288 tokens | text, image, video | turned off with reasoning: false or :fast; no level |
| minimax/minimax-m2.7 | $0.30 / $0.06 / $1.20 | 204,800 tokens | 196,608 tokens | text | no level or off switch listed |
| minimax/minimax-m2.7-highspeed | $0.60 / $0.06 / $2.40 | 204,800 tokens | 196,608 tokens | text | no level or off switch listed |
| minimax/minimax-m2.5 | $0.30 / $0.03 / $1.20 | 204,800 tokens | 196,608 tokens | text | no level or off switch listed |
| minimax/minimax-m2.5-highspeed | $0.60 / $0.03 / $2.40 | 204,800 tokens | 196,608 tokens | text | no level or off switch listed |
What does the same request cost on the six models?
Without a cache hit, a 20,000-token prompt with a 2,000-token answer costs $0.0042 on M3.1 Flash, $0.0084 on M3, M2.7 and M2.5, and $0.0168 on the two Highspeed versions. With a 150,000-token prompt and the same answer, M3.1 Flash costs $0.0237, M3, M2.7 and M2.5 $0.0474, and the Highspeed versions $0.0948. M3's price rises to $0.60 input and $2.40 output once the prompt passes 512,000 tokens; M3.1 Flash has no such tier. A prompt over 204,800 tokens does not fit the context window of the M2 models; for such prompts the options are M3.1 Flash and M3.
Token counts decide the real cost, and the models can answer the same question at different lengths. The Python example below sends the same question to the six models and prints, for each one, the token counts, the cost at these prices and how many seconds the answer took. From this output you can see how the Highspeed version changes the time on your own work. reasoning_effort is sent only to M3.1 Flash, the one model that accepts the field.
OpenAI Python SDK example that sends the same question to six MiniMax models through https://llmtr.com/v1/chat/completions and prints token usage, response time and cost.
import os
import time
from openai import OpenAI
client = OpenAI(base_url="https://llmtr.com/v1", api_key=os.environ["LLMTR_API_KEY"])
# Per 1M tokens: input, cached input, output (M3: prompts up to 512,000 tokens).
PRICES = {
"minimax/minimax-m3.1-flash": (0.15, 0.015, 0.60),
"minimax/minimax-m3": (0.30, 0.06, 1.20),
"minimax/minimax-m2.7": (0.30, 0.06, 1.20),
"minimax/minimax-m2.7-highspeed": (0.60, 0.06, 2.40),
"minimax/minimax-m2.5": (0.30, 0.03, 1.20),
"minimax/minimax-m2.5-highspeed": (0.60, 0.03, 2.40),
}
# reasoning_effort is sent only to the model that accepts it.
EXTRA = {"minimax/minimax-m3.1-flash": {"reasoning_effort": "low"}}
messages = [{"role": "user", "content": "Write a Python function that validates an IBAN."}]
for model, (inp, cached, out) in PRICES.items():
started = time.perf_counter()
response = client.chat.completions.create(
model=model, messages=messages, max_tokens=4096, **EXTRA.get(model, {})
)
seconds = time.perf_counter() - started
usage = response.usage
details = usage.prompt_tokens_details
hit = (details.cached_tokens or 0) if details else 0
cost = ((usage.prompt_tokens - hit) * inp + hit * cached + usage.completion_tokens * out) / 1_000_000
print(model, usage.prompt_tokens, usage.completion_tokens, f"{seconds:.1f}s", f"${cost:.6f}")
The reasoning setting changes from model to model
On M3.1 Flash reasoning cannot be turned off. Its depth is chosen with reasoning_effort from low, medium, high, xhigh and max; max applies when the field is omitted. If latency and output tokens matter, send low. reasoning: false and thinking: { type: disabled } return 400 on this model. Reasoning counts toward the output limit, so do not set max_tokens low.
On M3 reasoning is on by default; reasoning: false in the body or the :fast suffix on the model id turns it off. M3 and the four M2 models accept no reasoning_effort level, and a request that carries the field returns 400. So when you move from M3.1 Flash to M3 or to an M2 model, remove reasoning_effort from the body; in the other direction, write reasoning_effort: low instead of reasoning: false or :fast.
Input types, JSON and tool calling
In the family, image and video input are only on M3.1 Flash and M3; M2.7, M2.5 and the Highspeed versions accept text only. On M3.1 Flash, send an image in an image_url part and a video in a video_url part as a base64 data URL. Image and video tokens are counted in prompt_tokens and billed at the input price.
JSON object mode, that is type: json_object inside response_format, is listed only on the M3.1 Flash card among the six. A strict json_schema is listed on none of these six cards; validate the fields you receive on your side. Tool calling is listed on all six cards. On M3.1 Flash, in multi-step tool loops, send the assistant message that holds the tool call back with its reasoning_content field.
Trying all six with the same key
Open an account on llmtr.com, top up your balance under Dashboard > Billing and create a key under Dashboard > API Keys. Set the base URL in your OpenAI-compatible SDK to https://llmtr.com/v1; the same key works on all six models, and each request is charged to your balance at the catalog price in force when it is processed. Streaming works on all six with stream: true.
If you have a flow running on M2.7 or M2.5, make the move with an evaluation set from your own prompts: send the same prompts to M3.1 Flash, put the answers and the token counts in usage side by side, and change the id if the result suits your work. The M2 models stay listed in the catalog. Setting a spending limit on your API key caps the cost during the trial.
Choosing a MiniMax model with your own prompt
Send the same prompt to the six MiniMax models with one LLMTR key, compare token counts, response time and cost, then pick the id.
- Key. Top up your balance on llmtr.com and create a key under Dashboard > API Keys.
- Same prompt. Send your own evaluation set with the six model ids to the https://llmtr.com/v1/chat/completions endpoint.
- Choice. Compare the answers, token counts, response time and cost, then choose the model id.
Frequently asked questions
How much do the MiniMax models cost?
Per 1M tokens, input / cached input / output: M3.1 Flash $0.15 / $0.015 / $0.60; M3 $0.30 / $0.06 / $1.20, on prompts over 512,000 tokens $0.60 / $0.12 / $2.40; M2.7 $0.30 / $0.06 / $1.20; M2.7 Highspeed $0.60 / $0.06 / $2.40; M2.5 $0.30 / $0.03 / $1.20; M2.5 Highspeed $0.60 / $0.03 / $2.40.
What does MiniMax Highspeed mean?
A version of the same model with faster output. MiniMax states about 60 tokens per second of output for M2.7 and M2.5 and about 100 for the Highspeed versions. On LLMTR the Highspeed versions' input and output prices are twice the standard version's.
Which MiniMax models accept images and video?
M3.1 Flash and M3. M2.7, M2.5 and the Highspeed versions accept text only, and their context window is 204,800 tokens.