DeepSeek Messages
用一个 BeatAPI 密钥,以 Anthropic Messages 格式调用 DeepSeek V4.1 Flash、V4 Pro 及其高缓存版本。
- 一个端点
POST /v1/messages覆盖当前所有 DeepSeek 模型,改model即可切换。 - 文本输入、文本输出,支持流式输出和工具调用,下表中的模型有 100 万 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。
在调试窗口里打开本接口,填入你的 BeatAPI API 密钥即可发送。调用是真实的,费用从你自己的余额中扣除。
模型
把下列 ID 之一作为 model 发送。它们是各自独立的模型,不是互相的别名。
- 价格为基础档,已计入折扣。长上下文档、缓存命中输入价和缓存写入价不在本表内,见价格表。
—表示目录未公布该数字。- * 模型在高峰时段另有价格倍数;表中显示的是非高峰的基础价。
本系列仍可调用的旧 ID 见旧型号。
快速开始
在服务端安装 @anthropic-ai/sdk 或 anthropic 包,把密钥放在 BEATAPI_API_KEY,不要把它写进浏览器代码。SDK 会自动带上 anthropic-version 请求头。以下是请求示例,不是真实的模型输出记录。
从 content 里的 text 块读取答案,再检查 stop_reason 和 usage。HTTP 200 不能证明答案满足你的任务,请在应用里校验内容。文本请求直接返回,不要为它们轮询 /v1/tasks。
端点与鉴权
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。
可选值:deepseek-v4.1-flash, deepseek-v4-pro-0813, deepseek-v4.1-flash-hc, deepseek-v4-pro-0813-hc
- 每个 ID 都是独立的模型,不是其他模型的别名。
- 用你的密钥调用
GET /v1/models,确认该密钥已开通哪些模型。 - 仍可调用的旧 ID
deepseek-v4-flash-0731见旧型号。
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 块返回。
高缓存(HC)模型
deepseek-v4-pro-0813-hc 和 deepseek-v4.1-flash-hc 是同样两款模型,只是跑在高缓存线上。当请求共用同一段提示词前缀时,比如很长的系统提示词、工具列表或不断变长的对话,重复的前缀按缓存输入的费率计费。普通线每个 token 更便宜,但不保证命中缓存。
每次提示词里大部分内容都是反复发送的前缀时,选 HC 模型;重复很少的提示词,用普通模型更便宜。请求和普通模型完全一样,只需要换 model。是否命中缓存,请看 usage 里的缓存输入数量,不要想当然。
分时段费率
普通模型 deepseek-v4.1-flash 和 deepseek-v4-pro-0813 每天每个小时都按同一个费率计费。
两个 HC 模型有高峰时段。每个工作日北京时间(GMT+8)09:00–12:00 和 14:00–18:00,所有费率翻倍:输入、缓存输入和输出都一样。其余时间以及周六、周日全天,按非高峰费率计费,也就是上面模型表和价格表里显示的价格。
响应
非流式调用返回一个 JSON 对象。以下是精简后的示例。
响应字段
流式输出
设置 "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 错误,而不是流事件。
- 请设置明确的超时,并安全地重连流式响应。
错误
HTTP 错误速查
认证、路由、限速和未知模型这几类失败发生在调用模型之前,返回 BeatAPI 信封:error.code、error.message、retryable、request_id。其余失败保持 Anthropic 格式 {"type": "error", "error": {"type", "message"}}:错误码在 error.type,request id 附在 message 末尾。详见错误码。
完整的错误码表和重试策略见错误码。
注意事项
- DeepSeek 模型也可以用 Chat Completions 和 OpenAI Responses 调用。
- 这些模型会先推理再作答。推理 token 计入输出 token,并按输出计费,所以
max_tokens要同时为推理和答案留足空间。 - 只支持文本输入:这些模型不支持图片输入。
- 每个请求都要带
anthropic-version。不要依赖thinking:它不生效。 - 密钥只放在可信的服务端,记录响应里的请求 ID,只对
429、500和503重试。
身份验证
Send your API key as Authorization: Bearer <BEATAPI_API_KEY>.
请求
准确的模型 ID。
每个 ID 都是独立的模型,不是其他模型的别名。
用你的密钥调用 GET /v1/models,确认该密钥已开通哪些模型。
仍可调用的旧 ID deepseek-v4-flash-0731 见旧型号。
deepseek-v4.1-flash, deepseek-v4-pro-0813, deepseek-v4.1-flash-hc, deepseek-v4-pro-0813-hc
生成 token 数的上限,包含推理部分。
网关不会拿你的值去和上面表格里的最大输出比较,请自己控制在该数字以内。
max_tokens 也用来估算一次请求需要多少余额。值特别大时,即使实际输出很短,也可能被 402 insufficient_credits 拒绝。按实际需要设置即可。
推理型号会先输出推理内容。max_tokens 太小时,推理可能把额度用完:text 块为空,stop_reason 是 max_tokens。请给推理和正文都留出空间,看到 max_tokens 就调大。
对话内容,最早的消息在前。每条消息有 role(user 或 assistant)和 content:字符串,或内容块数组。
文本块(text)、模型发出的工具请求(tool_use)和你返回的结果(tool_result)会生效。
tool_result 块必须带上它所回应的 tool_use 块的 tool_use_id。
系统提示词:字符串,或文本块数组。多个文本块会拼成一段系统提示词。
以服务端推送事件(SSE)返回答案。见下文「流式输出」。
采样温度。它和 top_p 调一个就行,不要两个一起改。
核采样阈值。
停止序列,生成到这些序列时停止。
模型可以调用的工具定义。每个工具通过 name、description 和 input_schema 生效。模型会用 tool_use 块作答;把结果放进下一条 user 消息的 tool_result 块里传回。
模型如何使用 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 块返回。
响应
非流式调用返回一个 JSON 对象。以下是精简后的示例。
消息 ID。请连同请求 ID 一起记录,方便售后和对账。
实际作答的模型。
内容块:thinking(推理型号会在答案之前返回)、text 和 tool_use。
end_turn 表示完整作答,tool_use 表示要调用工具,max_tokens 表示达到了 max_tokens,stop_sequence 表示命中了停止序列。
input_tokens 和 output_tokens。推理部分计入输出。调用按实际 token 用量计量。

