跳到导航

MiniMax Messages

用一个 BeatAPI 密钥,以 Anthropic Messages 格式调用 MiniMax M3。

  • 一个端点 POST /v1/messages 即可调用 MiniMax M3。
  • 支持流式输出和工具调用,上下文窗口为 100 万 token。提示词超过 512,000 token 后费率翻倍。
  • 兼容 Anthropic SDK:改 base URL,换成 BeatAPI 密钥即可。每个请求都要带 anthropic-version 请求头。
  • tool_choice 会传给模型,但不是每个模型都执行;thinking 不生效。详见下面的请求参数。

文本请求建议使用 https://direct.beatapi.io 作为 base URL:它不受 Cloudflare 100 秒限制,长时间的非流式请求不会被中途切断。https://api.beatapi.io 同样可用;如果你的网络访问不了 direct.beatapi.io,请改用它作为备用。两个域名的密钥、模型和价格完全一致。图片和视频 API 只使用 https://api.beatapi.io。

POST/v1/messages试一试

在调试窗口里打开本接口,填入你的 BeatAPI API 密钥即可发送。调用是真实的,费用从你自己的余额中扣除。

模型

把下面的 ID 作为 model 发送。

模型 ID上下文(tokens)最大输出(tokens)定位输入,美元 / 100 万 tokens输出,美元 / 100 万 tokens说明
MiniMax-M31,048,576128,000MiniMax 多模态模型,面向长上下文编程、感知与智能体规划$0.21$0.84MiniMax 多模态模型,适合长上下文编程、感知与智能体规划。提示词超过 512,000 token 后费率翻倍。
  • 价格为基础档,已计入折扣。长上下文档、缓存命中输入价和缓存写入价不在本表内,见价格表。
  • — 表示目录未公布该数字。

快速开始

在服务端安装 @anthropic-ai/sdk 或 anthropic 包,把密钥放在 BEATAPI_API_KEY,不要把它写进浏览器代码。SDK 会自动带上 anthropic-version 请求头。以下是请求示例,不是真实的模型输出记录。

从 content 里的 text 块读取答案,再检查 stop_reason 和 usage。HTTP 200 不能证明答案满足你的任务,请在应用里校验内容。文本请求直接返回,不要为它们轮询 /v1/tasks。

curl --request POST \
--url https://direct.beatapi.io/v1/messages \
--header "x-api-key: $BEATAPI_API_KEY" \
--header 'anthropic-version: 2023-06-01' \
--header 'Content-Type: application/json' \
--data '{
"model": "MiniMax-M3",
"max_tokens": 2000,
"messages": [
{
"role": "user",
"content": "Design a resilient webhook retry strategy for a payments API."
}
]
}'

端点与鉴权

POST https://direct.beatapi.io/v1/messages

x-api-key string 必需

你的 BeatAPI 密钥。也接受 Authorization: Bearer <BEATAPI_API_KEY>。

每个请求都要带 anthropic-version 请求头(例如 2023-06-01),Anthropic SDK 会自动添加。鉴权可以用 x-api-key,也可以用 Authorization: Bearer <BEATAPI_API_KEY>。

请求参数

请求使用 Anthropic Messages 的格式。下列字段会生效;最后两个字段 SDK 可以发送,但不会改变结果。本页没有列出的字段,不保证有任何效果。

model string 必需

准确的模型 ID。

可选值:MiniMax-M3

  • 每个 ID 都是独立的模型,不是其他模型的别名。
  • 用你的密钥调用 GET /v1/models,确认该密钥已开通哪些模型。
  • ID 区分大小写:请发送 MiniMax-M3,不要写成 minimax-m3。

max_tokens integer 必需

生成 token 数的上限,包含推理部分。

  • 网关不会拿你的值去和上面表格里的最大输出比较,请自己控制在该数字以内。
  • max_tokens 也用来估算一次请求需要多少余额。值特别大时,即使实际输出很短,也可能被 402 insufficient_credits 拒绝。按实际需要设置即可。

推理型号会先输出推理内容。max_tokens 太小时,推理可能把额度用完:text 块为空,stop_reason 是 max_tokens。请给推理和正文都留出空间,看到 max_tokens 就调大。

messages object[] 必需

对话内容,最早的消息在前。每条消息有 role(user 或 assistant)和 content:字符串,或内容块数组。

  • 文本块(text)、模型发出的工具请求(tool_use)和你返回的结果(tool_result)会生效。
  • tool_result 块必须带上它所回应的 tool_use 块的 tool_use_id。

system string | object[] 可选

系统提示词:字符串,或文本块数组。多个文本块会拼成一段系统提示词。

stream boolean 可选默认值: false

以服务端推送事件(SSE)返回答案。见下文「流式输出」。

默认值:false

temperature number 可选

采样温度。它和 top_p 调一个就行,不要两个一起改。

top_p number 可选

核采样阈值。

stop_sequences string[] 可选

停止序列,生成到这些序列时停止。

tools object[] 可选

模型可以调用的工具定义。每个工具通过 name、description 和 input_schema 生效。模型会用 tool_use 块作答;把结果放进下一条 user 消息的 tool_result 块里传回。

tool_choice object 可选

模型如何使用 tools。{"type": "auto"} 由模型决定(默认),{"type": "any"} 要求它调用其中一个工具,{"type": "tool", "name": "..."} 要求它调用指定工具,{"type": "none"} 禁止调用工具。disable_parallel_tool_use: true 限定每次回答只调用一个工具。没有 tools 时忽略。这个设置会传给模型,但不是每个模型都会执行:我们实测(2026-10-15)DeepSeek 不理会它,Qwen 会执行 any、不执行指定工具。请以回答里是否有 tool_use 块为准,不要预设一定会调用。

thinking object 可选

不生效。它既不会开启也不会关闭推理,也不会设置推理预算。默认就推理的模型会继续推理,推理内容以 thinking 块返回。

长上下文计费

MiniMax-M3 在提示词超过 512,000 token 后进入更高的费率档,更高的费率对整次请求生效:输入、缓存输入和输出的费率都翻倍。这是阶梯,不是逐步上涨:只超过一个 token 的请求,也整单按更高费率计费。

上面模型表和价格表里的价格是基础费率,适用于未超过阈值的提示词。发送很长的历史之前,先估算完整提示词的长度。

响应

非流式调用返回一个 JSON 对象。以下是精简后的示例。

{
"id": "msg_example",
"type": "message",
"role": "assistant",
"model": "MiniMax-M3",
"content": [
{
"type": "text",
"text": "Retry with exponential backoff and jitter, and make every handler idempotent."
}
],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 19,
"output_tokens": 16
}
}

响应字段

字段类型说明
idstring消息 ID。请连同请求 ID 一起记录,方便售后和对账。
modelstring实际作答的模型。
content[]object[]内容块:thinking(推理型号会在答案之前返回)、text 和 tool_use。
content[].textstringtext 块的答案文本。
stop_reasonstringend_turn 表示完整作答,tool_use 表示要调用工具,max_tokens 表示达到了 max_tokens,stop_sequence 表示命中了停止序列。
usageobjectinput_tokens 和 output_tokens。推理部分计入输出。调用按实际 token 用量计量。

流式输出

设置 "stream": true。流以 message_start 开始,以 message_stop 结束;中间的内容块通过 content_block_start、content_block_delta 和 content_block_stop 事件到达,message_delta 携带 stop_reason。

  • 响应类型是 text/event-stream;不流式时是 application/json。
  • 文本通过 text_delta 事件到达。推理型号会在文本块之前,先用 thinking_delta 事件发送一个 thinking 块。工具参数通过 input_json_delta 事件到达。
  • 调用模型之前就失败的请求,返回的是带 HTTP 状态码的普通 JSON 错误,而不是流事件。
  • 请设置明确的超时,并安全地重连流式响应。
event: message_start
data: {"type":"message_start","message":{"id":"msg_example","type":"message","role":"assistant","content":[],"usage":{"input_tokens":19,"output_tokens":1}}}
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Retry"}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" with backoff"}}
event: content_block_stop
data: {"type":"content_block_stop","index":0}
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":16}}
event: message_stop
data: {"type":"message_stop"}

错误

错误或现象原因处理
text 块为空,stop_reason 是 max_tokens推理型号把整个 max_tokens 额度都用在了推理上。调大 max_tokens,但不要超过模型的最大输出。
402 insufficient_credits余额低于这次请求的价格,常见原因是 max_tokens 特别大。充值,或调小 max_tokens。
403 forbidden账户只有免费额度而该模型不在免费列表里,或该模型不在密钥所属分组内。充值、改用免费模型,或换一把分组能访问该模型的密钥。
404 not_found模型 ID 不存在,或该密钥没有开通。用 GET /v1/models 列出已开通的模型。
429 rate_limit_exceeded达到账户或免费模型的频率限制。等待 Retry-After 指定的时间后重试。

HTTP 错误速查

认证、路由、限速和未知模型这几类失败发生在调用模型之前,返回 BeatAPI 信封:error.code、error.message、retryable、request_id。其余失败保持 Anthropic 格式 {"type": "error", "error": {"type", "message"}}:错误码在 error.type,request id 附在 message 末尾。详见错误码。

HTTP 状态码错误码怎么做
400bad_request、content_policy_violation修正请求或输入,不要原样重发。
401missing_api_key、invalid_api_key检查密钥,不要重试。
402insufficient_credits充值,或提高密钥额度。过大的 max_tokens 也可能触发。
403forbidden模型不在该密钥的分组或 IP 白名单内,或免费额度不能调用该模型。
404not_found模型不存在:用 GET /v1/models 查看已开通的模型。
429rate_limit_exceeded等待 Retry-After 或 retry_after_seconds 后退避重试。
500internal_error、temporary_error退避后重试一两次。
503model_unavailable、upstream_timeout、temporary_error退避重试,或换用其他模型。

完整的错误码表和重试策略见错误码。

注意事项

  • MiniMax 也可以用 Chat Completions 和 OpenAI Responses 调用。
  • 本页介绍 MiniMax 文本模型。MiniMax H3 视频模型使用 Video API。
  • 每个请求都要带 anthropic-version。不要依赖 thinking:它不生效。
  • 密钥只放在可信的服务端,记录响应里的请求 ID,只对 429、500 和 503 重试。

身份验证

AuthorizationBearer

Send your API key as Authorization: Bearer <BEATAPI_API_KEY>.

请求

This endpoint expects an object.
modelenum必需

准确的模型 ID。

每个 ID 都是独立的模型,不是其他模型的别名。

用你的密钥调用 GET /v1/models,确认该密钥已开通哪些模型。

ID 区分大小写:请发送 MiniMax-M3,不要写成 minimax-m3。

MiniMax-M3

允许的值:
max_tokensinteger必需

生成 token 数的上限,包含推理部分。

网关不会拿你的值去和上面表格里的最大输出比较,请自己控制在该数字以内。

max_tokens 也用来估算一次请求需要多少余额。值特别大时,即使实际输出很短,也可能被 402 insufficient_credits 拒绝。按实际需要设置即可。

推理型号会先输出推理内容。max_tokens 太小时,推理可能把额度用完:text 块为空,stop_reason 是 max_tokens。请给推理和正文都留出空间,看到 max_tokens 就调大。

messageslist of objects必需

对话内容,最早的消息在前。每条消息有 role(user 或 assistant)和 content:字符串,或内容块数组。

文本块(text)、模型发出的工具请求(tool_use)和你返回的结果(tool_result)会生效。

tool_result 块必须带上它所回应的 tool_use 块的 tool_use_id。

systemstring or list of objects可选

系统提示词:字符串,或文本块数组。多个文本块会拼成一段系统提示词。

streamboolean可选默认为 false

以服务端推送事件(SSE)返回答案。见下文「流式输出」。

temperaturedouble可选

采样温度。它和 top_p 调一个就行,不要两个一起改。

top_pdouble可选

核采样阈值。

stop_sequenceslist of strings可选

停止序列,生成到这些序列时停止。

toolslist of objects可选

模型可以调用的工具定义。每个工具通过 name、description 和 input_schema 生效。模型会用 tool_use 块作答;把结果放进下一条 user 消息的 tool_result 块里传回。

tool_choiceobject可选

模型如何使用 tools。{"type": "auto"} 由模型决定(默认),{"type": "any"} 要求它调用其中一个工具,{"type": "tool", "name": "..."} 要求它调用指定工具,{"type": "none"} 禁止调用工具。disable_parallel_tool_use: true 限定每次回答只调用一个工具。没有 tools 时忽略。这个设置会传给模型,但不是每个模型都会执行:我们实测(2026-10-15)DeepSeek 不理会它,Qwen 会执行 any、不执行指定工具。请以回答里是否有 tool_use 块为准,不要预设一定会调用。

thinkingobject可选

不生效。它既不会开启也不会关闭推理,也不会设置推理预算。默认就推理的模型会继续推理,推理内容以 thinking 块返回。

响应

非流式调用返回一个 JSON 对象。以下是精简后的示例。

idstring可选

消息 ID。请连同请求 ID 一起记录,方便售后和对账。

modelstring可选

实际作答的模型。

contentlist of objects可选

内容块:thinking(推理型号会在答案之前返回)、text 和 tool_use。

stop_reasonstring可选

end_turn 表示完整作答,tool_use 表示要调用工具,max_tokens 表示达到了 max_tokens,stop_sequence 表示命中了停止序列。

usageobject可选

input_tokens 和 output_tokens。推理部分计入输出。调用按实际 token 用量计量。

错误

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error