deCloud
MA CHAIN · 20260131
← All models

MiniMax: MiniMax M2

minimax/minimax-m2

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,...

Context
205K
Input MA / 1M
0.153
Output MA / 1M
0.612

Billing follows the provider's own reported cost rather than the catalogue price — cached input is cheaper, and reasoning tokens bill as output. Your usage page is the record of what you actually paid.

Capabilities

ChatCodeReasoningToolsStructured

Try it

One free message per account, no deposit needed. The reply is length-capped — it's a taste, not a quota.

Connect a wallet and sign in to use your free try.

Connect a wallet

Call it

Every model goes through the same endpoint — just use this page's ID as model.

curl https://macdecloud.com/v1/chat/completions \
  -H "Authorization: Bearer dcld-sk-..." \
  -H "Content-Type: application/json" \
  -d '{"model":"minimax/minimax-m2","messages":[{"role":"user","content":"Hello"}]}'

Streaming

Add "stream": true for token-by-token output over standard SSE.

curl -N https://macdecloud.com/v1/chat/completions \
  -H "Authorization: Bearer dcld-sk-..." \
  -H "Content-Type: application/json" \
  -d '{"model":"minimax/minimax-m2","stream":true,"messages":[{"role":"user","content":"hi"}]}'

Reasoning tokens are billed

This is a reasoning model: it produces a thinking pass before answering, and those tokens are billed as output — often far more of them than the answer itself. Two consequences. Too small a max_tokens gets consumed during reasoning and returns finish_reason: "length" with a null content, which looks like a failure but is just an exhausted budget (2000+ is a safer floor). And cost runs well above a non-reasoning model at the same headline price.

Function calling

This model supports tools. Replies may carry tool_calls; run them and append the results as role: "tool" messages, then call again.

{
  "model": "minimax/minimax-m2",
  "messages": [{ "role": "user", "content": "What's the weather in Paris?" }],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "parameters": {
        "type": "object",
        "properties": { "city": { "type": "string" } },
        "required": ["city"]
      }
    }
  }]
}

Structured output

Supports response_format, so the model returns JSON matching a schema you give it instead of prose you have to parse.

{
  "model": "minimax/minimax-m2",
  "messages": [{ "role": "user", "content": "..." }],
  "response_format": {
    "type": "json_schema",
    "json_schema": {
      "name": "result",
      "schema": {
        "type": "object",
        "properties": { "answer": { "type": "string" } },
        "required": ["answer"]
      }
    }
  }
}
Use it from Claude Code / Cursor / opencode →