curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "MiniMax-M3.1-Flash",
"messages": [
{
"role": "user",
"content": "Please introduce yourself."
}
],
"max_completion_tokens": 131072
}
'{
"id": "072514edea627212c7e226a55bcf4e2e",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "0.05",
"role": "assistant",
"name": "MiniMax AI",
"audio_content": "",
"reasoning_content": "Let the ball cost x. Then 2x + 1 = 1.10, so x = 0.05."
}
}
],
"created": 1792401901,
"model": "MiniMax-M3.1-Flash",
"object": "chat.completion",
"usage": {
"total_tokens": 281,
"total_characters": 0,
"prompt_tokens": 229,
"completion_tokens": 52,
"completion_tokens_details": {
"reasoning_tokens": 49
},
"prompt_tokens_details": {
"cached_tokens": 187
}
},
"input_sensitive": false,
"output_sensitive": false,
"input_sensitive_type": 0,
"output_sensitive_type": 0,
"output_sensitive_int": 0,
"base_resp": {
"status_code": 0,
"status_msg": ""
}
}MiniMax-M3.1-Flash - OpenAI-Compatible API
- Call MiniMax-M3.1-Flash using the OpenAI Chat Completions protocol
- Conversations: single-turn and multi-turn conversations
- System prompts: set the assistant’s role and behavior with
role=system - Multimodal input: combine text, images, and video in
content - Reasoning: always enabled; adjust depth with
reasoning_effort. Reasoning is returned inreasoning_content;contentcontains only the final answer - Streaming: SSE responses
- Tool calling: Function Calling
Streaming responses: With stream=true, each SSE message uses the format data: {JSON}, followed by data: [DONE] at the end. choices[].delta returns incremental reasoning_content, then content / tool_calls. Set stream_options.include_usage=true to receive an additional chunk containing usage before the stream ends.
curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "MiniMax-M3.1-Flash",
"messages": [
{
"role": "user",
"content": "Please introduce yourself."
}
],
"max_completion_tokens": 131072
}
'{
"id": "072514edea627212c7e226a55bcf4e2e",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "0.05",
"role": "assistant",
"name": "MiniMax AI",
"audio_content": "",
"reasoning_content": "Let the ball cost x. Then 2x + 1 = 1.10, so x = 0.05."
}
}
],
"created": 1792401901,
"model": "MiniMax-M3.1-Flash",
"object": "chat.completion",
"usage": {
"total_tokens": 281,
"total_characters": 0,
"prompt_tokens": 229,
"completion_tokens": 52,
"completion_tokens_details": {
"reasoning_tokens": 49
},
"prompt_tokens_details": {
"cached_tokens": 187
}
},
"input_sensitive": false,
"output_sensitive": false,
"input_sensitive_type": 0,
"output_sensitive_type": 0,
"output_sensitive_int": 0,
"base_resp": {
"status_code": 0,
"status_msg": ""
}
}https://direct.evolink.ai, which has better support for text models and long-lived connections. https://api.evolink.ai is the primary endpoint for multimodal services and serves as a fallback address for text models.Authorizations
All APIs require Bearer Token authentication
Get API Key:
Visit API Key Management Page to get your API Key
Add to request header:
Authorization: Bearer YOUR_API_KEY
Body
Chat model name
MiniMax-M3.1-Flash "MiniMax-M3.1-Flash"
List of conversation messages, supports multi-turn dialogue
Messages with different roles have different field structures; select the corresponding role to view
1- System Message
- User Message
- Assistant Message
- Tool Message
Show child attributes
Show child attributes
Reasoning depth. Defaults to max. Higher levels typically increase reasoning token usage and response time.
low, medium, high, xhigh, max "high"
Reasoning mode. MiniMax-M3.1-Flash always uses reasoning. Only adaptive is supported; this field may be omitted.
Show child attributes
Show child attributes
Return reasoning separately. Only true is supported. Reasoning is returned in reasoning_content; this field may be omitted.
true Sampling temperature controls output randomness.
- Range:
[0, 2]; default: 1 - Lower values produce more deterministic output; higher values produce more varied output
Adjust either temperature or top_p, rather than both.
0 <= x <= 21
Nucleus sampling threshold.
- Samples from tokens whose cumulative probability reaches this threshold
- For example, 0.95 samples from tokens accounting for 95% of the probability mass
- Range:
[0, 1]; default: 0.95
Adjust either temperature or top_p, rather than both.
0 <= x <= 10.95
Maximum number of generated tokens, including reasoning and the final answer.
- Recommended: 131,072 (128K); maximum: 524,288 (512K)
- A small budget may be exhausted during reasoning, resulting in
finish_reason=lengthand an emptycontentfield
1 <= x <= 524288131072
Whether to return the response in streaming mode
true: Streaming response, returns content in real-time chunks via SSE (Server-Sent Events)false: Wait for complete response before returning (default)
false
Streaming response options
Only effective when stream=true
Show child attributes
Show child attributes
Tool definition list for Function Calling
Each tool requires a name, description, and parameter schema
Show child attributes
Show child attributes
Tool selection strategy. Only auto is supported; the model decides whether to call a tool.
auto Legacy generation length limit parameter
Note: Deprecated, please use max_completion_tokens instead
x >= 1Number of responses to generate. Only 1 is supported.
1 Response
Conversation generated successfully
Unique identifier for the chat completion
"0668a381bdc3c0ded310e27c9a46d16e7"
Model name actually used
"MiniMax-M3.1-Flash"
Response type
chat.completion "chat.completion"
Creation timestamp (Unix seconds)
1777026807
List of chat completion choices
Show child attributes
Show child attributes
Token usage statistics
Show child attributes
Show child attributes
Whether the input content triggered a sensitive word filter. If the input severely violates policies, the API will return a content violation error with empty response content
Type of sensitive word triggered by input (returned when input_sensitive is true): 1 severe violation; 2 pornography; 3 advertising; 4 prohibited content; 5 abusive language; 6 violence/terrorism; 7 other
Whether the output content triggered a sensitive word filter
Type of sensitive word triggered by output
Status code and error details
Show child attributes
Show child attributes
Numeric identifier for the output content sensitivity category.