
MiniMax M3 is a multimodal reasoning model for coding, agents, and long-context analysis with text, image, and video input.
MiniMax M3 is a multimodal reasoning model for coding, agents, and long-context analysis with text, image, and video input.
Supports text, image, and video inputs, adaptive thinking through enable_thinking, function calling, and implicit prompt cache reads. Pricing is tiered by prompt tokens including cache hits: <=512K uses the discounted standard tier, while >512K uses the high-context tier. Thinking tokens are billed as output tokens. Built-in web search is billed per executed search.
minimax-m3/v1/chat/completionsPOST/v1/responsesPOST/v1/messagesPOST/v1beta/models/minimax-m3:generateContentminimax-m3-standardminimax/m3minimax/m3-standardLive pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
MiniMax M3 serves the OpenAI-compatible Chat Completions API. Point any OpenAI SDK at https://api.empiriolabs.ai/v1 with your EmpirioLabs API key and use the model id minimax-m3. Get an API key from the EmpirioLabs dashboard.
curl https://api.empiriolabs.ai/v1/chat/completions \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-m3",
"messages": [
{"role": "user", "content": "Write a haiku about the ocean."}
]
}'from openai import OpenAI
client = OpenAI(
base_url="https://api.empiriolabs.ai/v1",
api_key="YOUR_EMPIRIOLABS_API_KEY",
)
response = client.chat.completions.create(
model="minimax-m3",
messages=[{"role": "user", "content": "Write a haiku about the ocean."}],
)
print(response.choices[0].message.content)Request parameters supported by the MiniMax M3 API on EmpirioLabs. Defaults apply when a field is omitted.
| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
| temperature | number | 1 | 0 to 2 | Controls randomness. Lower values are more deterministic; higher values are more exploratory. |
| top_p | number | 0.95 | 0 to 1 | Controls nucleus sampling by limiting generation to the most likely token mass. |
| max_completion_tokens | integer | 4096 | 1 to 524288 | Maximum generated tokens, including reasoning tokens when thinking is enabled. |
| stop | array | - | - | Optional stop sequence or list of stop sequences. |
| tool_web_search | boolean | false | - | Search the web for real-time information. Adds $0.01 to the request cost for each invoked call. |
| enable_thinking | boolean | true | - | Enable adaptive model thinking before answering. Set false to request a direct answer without a reasoning phase. |
| tools | array | - | - | OpenAI-compatible tool definitions for function calling. |
| tool_choice | object | - | - | Optional OpenAI-compatible tool_choice value. |
| disable_formatting | boolean | false | - | Return the answer without the Sources list that web search adds. |
Text, image, and video input with text output. Thinking defaults to adaptive and can be disabled. Pricing is based on input tokens including cache hits: <=512K uses the discounted standard tier, while >512K uses the high-context tier. Supports up to 1M input tokens. Set tool_web_search to true to let the model search the web; each executed search is billed, and one request can run several searches. Answers that used web search end with a Sources list unless disable_formatting is true. Structured output through response_format is not supported; ask for JSON in the prompt instead.
When this model invokes tools (web search, code interpreter, etc.) inside a single request, the response carries a normalized usage.tool_usage map alongside the token counts. The example below shows the shape, exact field names, units, and which tools appear can vary slightly per provider:
"usage": {
"prompt_tokens": 123,
"completion_tokens": 456,
"cost_usd": 0.0042,
"tool_usage": {"web_search": 3, "code_interpreter": 1}
}The tool counts are already factored into cost_usd, they are surfaced for transparency so you can audit per-tool billing. The field is omitted when no tools were invoked.
:priority
This is the priority service tier: requests receive priority admission for faster response times and improved reliability, priced above the standard MiniMax M3 route. Text, image, and video input with text output. Thinking defaults to adaptive and can be disabled. Pricing is tiered by input tokens including cache hits, with <=512K cheaper than >512K. Supports up to 1M input tokens. Set tool_web_search to true to let the model search the web; each executed search is billed, and one request can run several searches. Answers that used web search end with a Sources list unless disable_formatting is true. Structured output through response_format is not supported; ask for JSON in the prompt instead.
Variants are alternate versions of MiniMax M3 with their own model id. Depending on the variant, they can differ in serving region, pricing, or supported parameters; everything else works the same way.
minimax-m3:priorityOn EmpirioLabs, MiniMax M3 is billed pay as you go. The live rate card on this page always matches what the API charges.
MiniMax M3 supports a 1M-token context window with up to 524,288 output tokens per response.
Yes. MiniMax M3 serves the OpenAI-compatible Chat Completions API, so existing OpenAI SDKs work by pointing base_url at https://api.empiriolabs.ai/v1 and setting the model id to minimax-m3.
MiniMax M3 is available as 2 model ids: the default minimax-m3 plus minimax-m3:priority (Singapore). Variants can differ in serving region, pricing, or supported parameters; the rate cards for each are on this page.
Yes. The EmpirioLabs playground runs MiniMax M3 in the browser with the same parameters the API exposes, so you can test prompts before writing code.
Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.
Check out our pricing or reach out if you want your own model deployed on our stack.