# MiniMax API:模型 ID、思考内容处理、图片输入与 Claude Code Source: https://ofox.io/zh/docs/develop/models/minimax MiniMax 的文本模型,包括 MiniMax M3、M2.7 与 M2.7 HighSpeed。通过 OpenAI 兼容接口调用,同时支持 Anthropic 原生接口,可在 Claude Code 中使用。MiniMax 的视频模型见 [Hailuo(MiniMax)](https://ofox.io/zh/docs/develop/models/hailuo)。 ## 常见任务 - [处理思考内容](#thinking) — 回答开头的 think 标签从哪来、如何去掉。 - [在 Claude Code 中使用](#anthropic) — 通过 Anthropic 接口调用 MiniMax。 - [图片输入](#vision) — 仅 MiniMax M3 支持。 - [报错排查](#errors) — 思考参数不支持、max_tokens 超限、模型不存在。 ## 模型 完整的模型列表与实时价格请参阅[模型页](https://ofox.io/zh/models?provider=minimax)。模型 ID 的前缀为 `minimax/`,可省略;写成官方名称 `MiniMax-M3` 会返回 404。 **常用模型 ID(调用时原样复制)** - MiniMax M3: `minimax/minimax-m3` — 约 1.1M 上下文,支持图片输入 - MiniMax M2.7: `minimax/minimax-m2.7` — 200K 上下文,仅文本 - MiniMax M2.7 HighSpeed: `minimax/minimax-m2.7-highspeed` — 200K 上下文,仅文本 以上模型由 MiniMax 官方(`minimax`)提供,支持 Chat Completions、Responses 与 Anthropic 原生接口。 ## 调用示例 **Python** ```python filename="minimax_basic.py" import os import re from openai import OpenAI client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"]) resp = client.chat.completions.create( model="minimax/minimax-m3", messages=[{"role": "user", "content": "用一句话解释什么是幂等性。"}], ) content = resp.choices[0].message.content answer = re.sub(r".*?\s*", "", content, flags=re.S) print(answer) ``` **cURL** ```bash filename="Terminal" curl https://api.ofox.io/v1/chat/completions \ -H "Authorization: Bearer $OFOX_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "minimax/minimax-m3", "messages": [{"role": "user", "content": "用一句话解释什么是幂等性。"}] }' ``` ## 思考内容 **要点**:通过 OpenAI 兼容接口调用时,思考内容以 think 标签包裹,位于回答的开头。展示给用户前请去掉这一段,或改用 Anthropic 接口获取独立的思考块。 MiniMax 模型默认开启思考。通过 OpenAI 兼容接口调用时,`message.content` 的开头是 `…` 包裹的思考内容,其后才是回答,流式响应也同样在 `delta.content` 中返回。上方示例用正则去掉了这一段。 | 模型 | 关闭思考 | |---|---| | MiniMax M3 | 传 `"thinking": {"type": "disabled"}`,回答中不再出现思考内容 | | MiniMax M2.7、M2.7 HighSpeed | 不支持,传入后仍会思考 | ```python filename="minimax_no_thinking.py" import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"]) resp = client.chat.completions.create( model="minimax/minimax-m3", messages=[{"role": "user", "content": "一个数加上它的 3 倍再减去 12 等于 36,这个数是多少?只回答数字。"}], extra_body={"thinking": {"type": "disabled"}}, ) print(resp.choices[0].message.content) ``` - MiniMax M3 的 `thinking.type` 只接受 `adaptive` 与 `disabled`,传 `enabled` 会返回 400。 - 思考 token 计入 `max_tokens`。上限设得过小时,回答可能停在思考内容中,`finish_reason` 为 `length`。 - 思考 token 按输出单价计费,数量见 `usage.completion_tokens_details.reasoning_tokens`。 ## 在 Claude Code 中使用 MiniMax 模型支持 Anthropic 原生接口,地址为 `https://api.ofox.io/anthropic`。通过该接口调用时,思考内容以独立的 `thinking` 块返回,回答位于 `text` 块中,无需自行去掉 think 标签。 **Claude Code 配置值** - ANTHROPIC_BASE_URL: `https://api.ofox.io/anthropic` - ANTHROPIC_AUTH_TOKEN: 粘贴你的 OfoxAI API Key - ANTHROPIC_MODEL: `minimax/minimax-m3` ```python filename="minimax_anthropic.py" import os import anthropic client = anthropic.Anthropic(base_url="https://api.ofox.io/anthropic", api_key=os.environ["OFOX_API_KEY"]) resp = client.messages.create( model="minimax/minimax-m2.7", max_tokens=4096, messages=[{"role": "user", "content": "一个数加上它的 3 倍再减去 12 等于 36,这个数是多少?"}], ) for block in resp.content: print(block.type, ":", getattr(block, "thinking", None) or block.text) ``` - MiniMax M2.7、M2.7 HighSpeed 始终返回 `thinking` 块。 - MiniMax M3 传 `"thinking": {"type": "adaptive"}` 或 `{"type": "enabled", "budget_tokens": 2000}` 时返回 `thinking` 块,传 `{"type": "disabled"}` 时只返回 `text` 块。 Claude Code 的完整配置步骤见 [Claude Code 配置](https://ofox.io/zh/docs/integrations/claude-code)。 ## 图片输入 仅 MiniMax M3 支持图片输入,使用标准的 `image_url` 内容块,写法见[视觉理解](https://ofox.io/zh/docs/develop/guides/vision)。MiniMax M2.7 与 M2.7 HighSpeed 仅支持文本,需要识别图片时请使用 M3。 ## 其他功能 - **工具调用**:使用标准的 `tools` 参数,返回 `tool_calls`。 - **缓存**:自动缓存重复的请求前缀,命中量见 `usage.prompt_tokens_details.cached_tokens`。实测约 5600 token 的相同前缀,第二次请求的缓存命中超过 5000 token。 - **结构化输出**:实测传入 `response_format` 的 `json_schema` 后,回答仍为普通文本。需要 JSON 时,请在提示词中说明字段并自行解析。 ## 常见报错 | HTTP · type | 报错原文 | 原因 | 处理方法 | |---|---|---|---| | 400 `bad_request_error` | `invalid params, invalid thinking.type: "enabled" (allowed: adaptive, disabled) (2013)` | 通过 OpenAI 兼容接口向 MiniMax M3 传了 `thinking.type: enabled` | 不传 `thinking`(默认思考),或传 `disabled` | | 400 `bad_request_error` | `invalid params, model[MiniMax-M3] does not support max tokens > 524288 (2013)` | `max_tokens` 超过上限 | 调小 `max_tokens` | | 404 `model_not_found` | `Model 'MiniMax-M3' not found` | 使用了 MiniMax 官方的模型名称 | 改为 `minimax/minimax-m3` | | 回答开头有 `` | — | OpenAI 兼容接口在 `content` 中返回思考内容 | 见[思考内容](#thinking) | 其他通用错误见[错误处理](https://ofox.io/zh/docs/develop/guides/error-handling)。 ## 官方文档 - [MiniMax 开放平台 · 文档](https://platform.minimaxi.com/docs) ## 常见问题 **MiniMax 的模型 ID 怎么写?** 标准写法为 minimax/minimax-m3,也可以省略前缀写成 minimax-m3。写成官方名称 MiniMax-M3 会返回 404。 **MiniMax 的回答开头为什么有 think 标签?** MiniMax 默认开启思考,通过 OpenAI 兼容接口调用时,思考内容以 think 标签包裹放在回答开头。可以用正则去掉,MiniMax M3 也可以传 thinking 的 type 为 disabled 关闭思考,或改用 Anthropic 接口获取独立的思考块。 **MiniMax M2.7 能关闭思考吗?** 不能。MiniMax M2.7 与 M2.7 HighSpeed 传入 disabled 后仍会思考。需要关闭思考时请使用 MiniMax M3。 **Claude Code 能用 MiniMax 吗?** 能。ANTHROPIC_BASE_URL 设为 https://api.ofox.io/anthropic,模型填 minimax/minimax-m3 或 minimax/minimax-m2.7。 **MiniMax 能识别图片吗?** 仅 MiniMax M3 支持图片输入。MiniMax M2.7 与 M2.7 HighSpeed 仅支持文本。