MiniMax-M3 API
MiniMax-M3 当前通过 OpenFDE 的 OpenAI Chat Completions 兼容接口提供服务。客户端只需要使用统一的 /v1/chat/completions 地址,并把模型名设置为 MiniMax-M3。
平台通用文档推荐
max_completion_tokens,但 MiniMax-M3 当前上游稳定使用max_tokens;本页示例按已验证的 MiniMax 渠道写法提供。若改用max_completion_tokens后收到参数错误,请回退到max_tokens。
接口地址
POST https://api.openfde.work/v1/chat/completions
请求头:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
API Key 必须是控制台创建的、允许外部访问的 API 令牌。令牌还需要具备 MiniMax-M3 的模型权限;如果令牌设置了 IP 白名单,也必须从允许的地址发起请求。
最小请求
curl https://api.openfde.work/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-M3",
"messages": [
{"role": "user", "content": "请用一句话介绍你自己。"}
]
}'
请求体中的 model 和 messages 必填。messages 支持常见的 system、user、assistant、tool 角色;content 可以是文本字符串。多轮对话时,把历史消息按时间顺序一并传入。
常用参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定使用 MiniMax-M3。 |
messages | array | 是 | 对话消息数组。 |
stream | boolean | 否 | true 开启 SSE 流式输出,默认 false。 |
temperature | number | 否 | 采样温度;具体可用范围以 MiniMax-M3 上游限制为准。 |
top_p | number | 否 | 核采样参数。 |
top_k | integer | 否 | 候选 token 数。 |
max_tokens | integer | 否 | MiniMax-M3 上游当前稳定使用的最大输出 token 字段。 |
max_completion_tokens | integer | 否 | OpenAI 兼容字段;网关可解析,但当前 MiniMax 渠道是否透传由上游配置决定。 |
stop | string 或 array | 否 | 停止序列。 |
presence_penalty | number | 否 | 存在惩罚。 |
frequency_penalty | number | 否 | 频率惩罚。 |
tools | array | 否 | 按 OpenAI 格式声明工具;是否可用取决于 MiniMax-M3 上游能力。 |
tool_choice | string 或 object | 否 | 工具选择策略。 |
response_format | object | 否 | 结构化输出请求;是否可用取决于上游能力。 |
user | string | 否 | 调用方用户标识。 |
平台会解析并转发 OpenAI 请求对象。未列出的厂商私有字段不保证会被转发;需要使用私有参数时,应先让管理员确认渠道的透传设置。stream_options 目前不作为 MiniMax 渠道的稳定能力对外承诺。
Python(OpenAI 官方 SDK)
pip install openai
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.openfde.work/v1",
)
completion = client.chat.completions.create(
model="MiniMax-M3",
messages=[
{"role": "system", "content": "你是一个简洁、准确的助手。"},
{"role": "user", "content": "什么是混合专家模型?"},
],
temperature=0.7,
max_tokens=1024,
)
print(completion.choices[0].message.content)
Node.js(OpenAI 官方 SDK)
npm install openai
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.WEYTOKEN_API_KEY,
baseURL: "https://api.openfde.work/v1",
});
const completion = await client.chat.completions.create({
model: "MiniMax-M3",
messages: [{ role: "user", content: "请给我三个产品命名建议。" }],
max_tokens: 512,
});
console.log(completion.choices[0].message.content);
非流式响应
平台返回 OpenAI Chat Completions 结构:
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1760000000,
"model": "MiniMax-M3",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "混合专家模型会针对不同输入选择不同的专家网络来处理。",
"reasoning_content": "(可选)模型的推理过程"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 18,
"completion_tokens": 20,
"total_tokens": 38
}
}
usage 是否包含上游确认的 token 数取决于上游响应;当上游没有返回完整用量时,平台可能补充估算值。计费以平台控制台显示的实际账单为准。
MiniMax-M3 可能在 message.reasoning_content 中返回推理内容。流式响应会在 choices[].delta.reasoning_content 中增量返回该字段。客户端只需要展示或记录 message.content;如果要兼容推理模型,再按需读取 reasoning_content。当 max_tokens 设置得过小,模型可能在完成正文前达到上限,此时常见表现是 finish_reason 为 length、content 为空;生产调用应为推理和正文预留足够的输出 token。
流式响应
请求中设置 "stream": true 后,响应使用 Server-Sent Events:
curl https://api.openfde.work/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-M3",
"messages": [{"role": "user", "content": "写一段产品介绍。"}],
"stream": true
}'
响应示例:
data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant","content":"这是"},"finish_reason":null}]}
data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"一段介绍。"},"finish_reason":null}]}
data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]
客户端应逐行读取 data: 事件,并在收到 [DONE] 后结束本次请求。不要把 SSE 响应当作单个 JSON 解析。
查看模型是否可用
模型列表会按当前令牌的分组、模型白名单、等级和价格配置过滤。调用前可以查询:
curl https://api.openfde.work/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"
如果响应中没有 MiniMax-M3,通常表示该令牌未授权、当前分组没有启用该模型,或生产环境尚未配置可用的 MiniMax 渠道。
错误处理
错误响应保持 OpenAI 风格:
{
"error": {
"message": "The model 'MiniMax-M3' does not exist",
"type": "model_not_found",
"param": "model",
"code": "model_not_found"
}
}
常见状态码:
| 状态码 | 常见原因 |
|---|---|
400 | JSON 格式错误、缺少 model 或 messages、参数不合法。 |
401 | API Key 无效、已失效,或令牌禁止外部访问。 |
403 | 模型白名单、分组、等级、IP 白名单或企业权限不允许。 |
429 | 请求频率、用户额度或上游限流。 |
500 | 平台内部错误或响应解析失败。 |
503 | 当前分组没有可用的 MiniMax-M3 渠道。 |
平台会在错误信息中附带请求 ID(如果网关已生成),排查问题时请保留该 ID 和 HTTP 状态码。
生产验证记录
2026-10-24 在参考环境使用临时令牌完成了最小调用验证:
GET https://api.openfde.work/v1/models返回 HTTP200,模型列表包含MiniMax-M3。- 非流式
POST /v1/chat/completions返回 HTTP200,响应模型字段为MiniMax/MiniMax-M3,finish_reason为stop,正文能够正常返回。 - 流式
POST /v1/chat/completions返回Content-Type: text/event-stream,收到多个 SSE 事件并以data: [DONE]结束。
响应中的 model 可能是上游规范化后的名称(例如 MiniMax/MiniMax-M3),调用时仍使用平台模型 ID MiniMax-M3。
当前接口边界
- MiniMax-M3 的稳定入口是
POST /v1/chat/completions。 - 当前 MiniMax 适配器直接调用上游
https://api.minimax.chat/v1/text/chatcompletion_v2,并按 OpenAI Chat Completions 解析响应。 POST /v1/responses尚未实现 MiniMax 专用请求转换;不要用 Responses API 调用此模型。POST /v1/completions是旧式文本补全路径,MiniMax 适配器没有对应的上游路由;不要用该路径调用此模型。- 模型是否真正可调用由生产环境的渠道、分组、令牌权限和计费配置共同决定;文档中的模型名不代表每一把令牌都自动获得权限。