uttapen

MiniMax M2 API: toman pricing and code

minimax/minimax-m2

toolsreasoningjson
Input · per 1M tokens
73,982 toman
Output · per 1M tokens
295,928 toman
One 1,000-word request ≈
481 toman

You are billed for the usage the request actually reported. Prices follow the market.Pricing and top-ups

MiniMax M2 example: tool calling

The example is picked from this model's own capabilities. Drop in your key and it runs as is.

from openai import OpenAI
import json

client = OpenAI(base_url="https://api.uttapen.ir/v1", api_key="sk-up-…")

tools = [{
    "type": "function",
    "function": {
        "name": "check_stock",
        "description": "Returns the stock level of a product",
        "parameters": {
            "type": "object",
            "properties": {"sku": {"type": "string"}},
            "required": ["sku"],
        },
    },
}]

messages = [{"role": "user", "content": "How many of the Nike NK-42 shoe are in stock?"}]
first = client.chat.completions.create(model="minimax/minimax-m2", messages=messages, tools=tools)
call = first.choices[0].message.tool_calls[0]

# you run the function yourself — the model never touches the database
args = json.loads(call.function.arguments)
result = {"sku": args["sku"], "qty": 7}

messages += [first.choices[0].message, {"role": "tool", "tool_call_id": call.id, "content": json.dumps(result)}]
final = client.chat.completions.create(model="minimax/minimax-m2", messages=messages, tools=tools)
print(final.choices[0].message.content)

What is MiniMax M2 good for?

MiniMax M2 comes from MiniMax; in uttapen you reach it with the model id "minimax/minimax-m2". It accepts up to 204,800 tokens of input per call, so a long document or several source files fit in a single request. A single response can run to 131,072 tokens. On price it sits in the "cheap" band — cheaper than 144 and dearer than 262 of the other paid models in the catalogue.

Capabilities available on this id: it supports tool calling, so it can invoke your own functions with valid arguments; it returns schema-valid JSON through response_format, ready to hand to your code; it has a reasoning mode that pays off on multi-step problems, maths and debugging. All of it works through the standard parameters of the official OpenAI SDK — no custom client, no wrapper. Keep in mind that reasoning tokens are output tokens and do appear on the bill.

For a back-of-envelope figure: about 481 toman per 1,000-word exchange (73,982 in, 295,928 out, per 1M tokens). You are always charged for the usage the request actually reported, never for the estimate, and a failed request costs nothing.

The closest alternative with the same capabilities from a different provider is DeepSeek V3 0324: MiniMax M2 works out roughly 1× more expensive, and its context window is larger. Both run on the same key and the same code, so trying the other one is a single string change.

To make the figure concrete: 100,000 toman of credit buys roughly 208 thousand-word requests on MiniMax M2, and every 1,000 toman is about 2,079 words of round trip. A job with one million input tokens and one million output tokens comes to 369,909 toman in total. Filling this model's 204,800-token window costs 15,151 toman on the input side alone, which is the real reason to keep conversation history short.

Its nearest relative in the catalogue is "minimax/minimax-m2.5", and choosing between those two is where most people hesitate. Both land at nearly the same price on a thousand-word request (481 and 509 toman). Maximum answer length differs as well: 131,072 against 128,000 tokens. On parameters the other takes logit_bias, min_p.

MiniMax has 11 models in our catalogue; the cheapest is MiniMax M2 at 481 toman per thousand words and the dearest MiniMax M1 at 1,037. Among the less common parameters it accepts logprobs, repetition_penalty, top_k, top_logprobs — all through the standard request body. By context size the nearest option from another provider is GLM 4.6 at 204,800 tokens.

What to use it for: high-volume work such as classification, tagging and bulk summarising, logic puzzles and code review, agents that reach out to APIs and databases, extracting data against a fixed schema, analysing a long document or codebase in one request.

Provider's own description

MiniMax-M2 is a compact, high-efficiency large language model optimized for end-to-end coding and agentic workflows. With 10 billion activated parameters (230 billion total), it delivers near-frontier intelligence across general reasoning,...

Three real jobs, priced on this model

Each figure is derived from the prices above and moves when they do.

JobTokensCost
One chat turn with a medium history1,500 in + 400 out229 toman
Summarising a ten-page document4,000 in + 600 out473 toman
Classifying a thousand short rows120,000 in + 20,000 out14,796 toman

Frequently asked

How do I call MiniMax M2 from Iran?
Sign up with your mobile number, top the wallet up in toman, create an API key, then in the official OpenAI SDK point base_url at https://api.uttapen.ir/v1 and set model to "minimax/minimax-m2". Nothing else in your code changes.
What does MiniMax M2 cost in toman?
73,982 toman per 1M input tokens and 295,928 toman per 1M output tokens; a 1,000-word request is around 481 toman. You pay for the usage that request actually reported, and a failed request costs nothing.
How much input does MiniMax M2 take?
Up to 204,800 tokens per request, roughly 154k words. A single answer can reach 131,072 tokens.
Does MiniMax M2 support streaming and tool calling?
Streaming (stream=true) works on every model here. This one supports tool calling in the standard OpenAI shape. Structured output through response_format works too.