跳转到主要内容
为了满足开发者对 OpenAI API 生态的使用需求,我们的 API 新增了对 OpenAI API 格式的支持。通过简单的配置,即可将 MiniMax 的能力接入到 OpenAI API 生态中。

快速开始

1. 安装 OpenAI SDK

pip install openai

2. 配置环境变量

export OPENAI_BASE_URL=https://api.minimaxi.com/v1
export OPENAI_API_KEY=${YOUR_API_KEY}

3. 调用 API

Python
from openai import OpenAI

client = OpenAI()

response = client.chat.completions.create(
    model="MiniMax-M3",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hi, how are you?"},
    ],
    # 设置 reasoning_split=True 将思考内容分离到 reasoning_details 字段
    extra_body={"reasoning_split": True},
)

print(f"Thinking:\n{response.choices[0].message.reasoning_details[0]['text']}\n")
print(f"Text:\n{response.choices[0].message.content}\n")

4. 特别注意

在多轮 Function Call 对话中,必须将完整的模型返回(即 assistant 消息)添加到对话历史,以保持思维链的连续性:
  • 将完整的 response_message 对象(包含 tool_calls 字段)添加到消息历史
    • 原生的OpenAI API 的 MiniMax-M3 MiniMax-M2.7 MiniMax-M2.7-highspeed MiniMax-M2.5 MiniMax-M2.5-highspeed MiniMax-M2.1 MiniMax-M2.1-highspeed MiniMax-M2 模型 content 字段会包含 <think> 标签内容,需要完整保留
    • 在 Interleaved Thinking 友好格式中,通过启用额外的参数(reasoning_split=True),模型思考内容通过 reasoning_details 字段单独提供,同样需要完整保留

支持的模型

使用 OpenAI SDK 时,支持以下 MiniMax 模型:
模型名称上下文窗口模型介绍
MiniMax-M31,000,000最新 M 系列语言模型,适用于 Agent 推理、工具调用、代码和长上下文任务
MiniMax-M2.7204,800开启模型的自我迭代(输出速度约 60 TPS)
MiniMax-M2.7-highspeed204,800M2.7 极速版:效果不变,更快,更敏捷(输出速度约 100 TPS)
MiniMax-M2.5204,800顶尖性能与极致性价比,轻松驾驭复杂任务(输出速度约 60 TPS)
MiniMax-M2.5-highspeed204,800M2.5 极速版:效果不变,更快,更敏捷(输出速度约 100 TPS)
MiniMax-M2.1204,800强大多语言编程能力,全面升级编程体验(输出速度约 60 TPS)
MiniMax-M2.1-highspeed204,800M2.1 极速版:效果不变,更快,更敏捷(输出速度约 100 TPS)
MiniMax-M2204,800专为高效编码与 Agent 工作流而生
TPS(Tokens Per Second)的计算方式详见常见问题 > 接口相关
更多模型信息请参考标准的 MiniMax API 接口文档。

多模态输入

OpenAI API 兼容的 Chat Completions 支持在 MiniMax-M3 中输入文本、图片和视频。 图片使用 image_url 内容块,视频使用 video_url 内容块。detail 字段可取 lowdefaulthigh,默认值为 default;可通过 max_long_side_pixel 控制最长边。图片支持 JPEG、PNG、GIF、WEBP。视频支持 MP4、AVI、MOV、MKV;fps 默认值为 1,支持 0.2 到 5。URL 或 base64 视频最大 50 MB,图片最大 10 MB,请求体最大 64 MB。更大的视频请通过 Files API 上传后传入 mm_file://{file_id},Files API 视频最大 512 MB。 图片 token 用量会随图片尺寸和内容变化。以下是单张图片的粗略估算;准确用量以响应中的 usage 或可用的 token 计数接口为准:
detail单张图片粗略 token 用量
low通常为几百 token,最高约 600
default通常约 1k-3k token,最高约 5k
high通常为数千 token,最高约 15k+
Python
response = client.chat.completions.create(
    model="MiniMax-M3",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Summarize what is happening here."},
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://example.com/image.png",
                        "detail": "default",
                    },
                },
                {
                    "type": "video_url",
                    "video_url": {
                        "url": "mm_file://file_id",
                        "detail": "default",
                    },
                },
            ],
        }
    ],
)

MiniMax-M3 请求参数

MiniMax-M3 在 OpenAI API 兼容接口中支持以下额外的 Chat Completions 参数:
参数说明
thinking控制 MiniMax-M3 thinking。type 可取 disabledadaptive;省略时默认开启 thinking。对于 M2.x 模型,thinking 无法关闭。
stream_options.include_usage流式调用时,设为 true 可在流中返回 token 用量。
max_tokens旧版生成长度限制参数。
max_completion_tokens生成长度限制参数,新接入建议使用此字段。
temperature采样温度。范围 [0, 2],默认值 1
top_p核采样参数。范围 [0, 1]MiniMax-M3 默认值 0.95,M2.x 系列默认值 0.9
tools函数工具定义。
reasoning_split输出格式开关。启用后将 thinking 内容拆分到 reasoning_contentreasoning_details

Thinking 控制

对于 MiniMax-M3thinking 参数用于控制模型是否可以输出 thinking 内容。
  • 如果省略 thinking,默认开启 thinking,响应会包含 thinking 内容。
  • 设置 thinking: {"type": "adaptive"} 可显式保持 thinking 开启。对于 MiniMax-M3,adaptive 等同于开启 thinking。
  • 设置 thinking: {"type": "disabled"} 可跳过 thinking 并直接回答。
  • 对于 M2.x 模型,thinking 无法关闭;即使传入 thinking: {"type": "disabled"},thinking 仍会保持开启。
reasoning_split 不会开启或关闭 thinking。它只控制 thinking 内容的返回方式:为 true 时,thinking 会通过 reasoning_contentreasoning_details 返回;为 false 时,原生 Chat Completions 响应会将 thinking 保留在 content 字段中的 <think>...</think> 标签内。
Python
response = client.chat.completions.create(
    model="MiniMax-M3",
    messages=[{"role": "user", "content": "Hi, how are you?"}],
    extra_body={
        "thinking": {"type": "adaptive"},
    },
)

示例代码

流式响应

Python
from openai import OpenAI

client = OpenAI()

print("Starting stream response...\n")
print("=" * 60)
print("Thinking Process:")
print("=" * 60)

stream = client.chat.completions.create(
    model="MiniMax-M3",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hi, how are you?"},
    ],
    # 设置 reasoning_split=True 将思考内容分离到 reasoning_details 字段
    extra_body={"reasoning_split": True},
    stream=True,
)

reasoning_buffer = ""
text_buffer = ""

for chunk in stream:
    if (
        hasattr(chunk.choices[0].delta, "reasoning_details")
        and chunk.choices[0].delta.reasoning_details
    ):
        for detail in chunk.choices[0].delta.reasoning_details:
            if "text" in detail:
                reasoning_text = detail["text"]
                new_reasoning = reasoning_text[len(reasoning_buffer) :]
                if new_reasoning:
                    print(new_reasoning, end="", flush=True)
                    reasoning_buffer = reasoning_text

    if chunk.choices[0].delta.content:
        content_text = chunk.choices[0].delta.content
        new_text = content_text[len(text_buffer) :] if text_buffer else content_text
        if new_text:
            print(new_text, end="", flush=True)
            text_buffer = content_text

print("\n" + "=" * 60)
print("Response Content:")
print("=" * 60)
print(f"{text_buffer}\n")

Tool Use & Interleaved Thinking

了解如何通过 OpenAI SDK 使用 M3 Tool Use 和 Interleaved Thinking 能力,请参考以下文档。

Tool Use & Interleaved Thinking

了解如何利用 MiniMax-M3 工具调用和 Interleaved Thinking 能力,提升复杂任务中的表现。

注意事项

如果在使用MiniMax模型过程中遇到任何问题:
  • 通过邮箱 Model@minimaxi.com 等官方渠道联系我们的技术支持团队
  • 在我们的 Github 仓库提交Issue
  1. temperature 参数取值范围为 [0, 2],推荐使用 1.0,超出范围会返回错误
  2. 部分 OpenAI 参数(如presence_penaltyfrequency_penaltylogit_bias 等)会被忽略
  3. MiniMax-M3 可通过 OpenAI 兼容消息内容块输入图片和视频;当前不支持音频输入
  4. n 参数仅支持值为 1
  5. 旧版的function_call 已废弃,请使用 tools 参数