跳到导航

Kimi Responses

用一个 BeatAPI 密钥,通过 OpenAI Responses API 调用 Kimi K3。

  • 一个端点 POST /v1/responses 即可调用 Kimi K3。
  • 支持流式输出和函数调用,上下文窗口为 100 万 token。
  • 兼容 OpenAI SDK:改 base URL,换成 BeatAPI 密钥即可。已有的 Chat Completions 集成见 Chat Completions。
  • 服务端不保存会话状态:每一轮都要把完整历史放进 input。

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

POST/v1/responses试一试

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

模型

把下面的 ID 作为 model 发送。

模型 ID上下文(tokens)最大输出(tokens)定位输入,美元 / 100 万 tokens输出,美元 / 100 万 tokens说明
kimi-k31,048,576128,000多模态 Kimi 模型,具备 100 万 token 上下文与可切换的最高强度思考模式,面向长程智能体任务$2.10$10.50Kimi 旗舰模型,适合长时间的智能体任务。作答前会先推理。
  • 价格为基础档,已计入折扣。长上下文档、缓存命中输入价和缓存写入价不在本表内,见价格表。
  • — 表示目录未公布该数字。

快速开始

在服务端安装 openai 包,把密钥放在 BEATAPI_API_KEY,不要把它写进浏览器代码。output_text 是 SDK 提供的取答案文本的快捷属性。以下是请求示例,不是真实的模型输出记录。

从 output_text(或 output 里 output_text 类型的片段)读取答案,再检查 status 和 usage。HTTP 200 不能证明答案满足你的任务,请在应用里校验内容。文本请求直接返回,不要为它们轮询 /v1/tasks。

curl --request POST \
--url https://direct.beatapi.io/v1/responses \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "kimi-k3",
"max_output_tokens": 2000,
"input": "Design a resilient webhook retry strategy for a payments API."
}'

端点与鉴权

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

Authorization string 必需

Bearer <BEATAPI_API_KEY>。密钥带不带 sk- 前缀都可以。

请求参数

接受标准的 OpenAI Responses 字段。请求格式兼容,不代表每个模型都支持所有选项或托管工具,请对你依赖的选项自行测试。

model string 必需

准确的模型 ID。

可选值:kimi-k3

  • 每个 ID 都是独立的模型,不是其他模型的别名。
  • 用你的密钥调用 GET /v1/models,确认该密钥已开通哪些模型。

input string | object[] 必需

提示词:可以是字符串,也可以是输入项数组,例如消息、函数调用及其输出。

服务端不保存会话状态。不支持 previous_response_id、conversation、prompt 和 context_management:每一轮都要把完整历史放进 input。

instructions string 可选

放在 input 之前的系统级指令。

max_output_tokens integer 可选

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

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

推理型号会先输出推理内容。max_output_tokens 太小时,推理可能把额度用完,答案文本会为空或被截断。请给推理和正文都留出空间,遇到这种情况就调大。

stream boolean 可选默认值: false

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

默认值:false

temperature number 可选

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

top_p number 可选

核采样阈值。

tools object[] 可选

模型可以调用的函数工具。模型会返回 function_call 输出项;把结果作为带相同 call_id 的 function_call_output 输入项传回。托管工具(联网搜索、文件检索等)不在此列。

tool_choice string | object 可选

控制模型可以、必须或不得调用工具。请用你的模型测试你依赖的取值。

响应

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

{
"id": "resp_example",
"object": "response",
"model": "kimi-k3",
"status": "completed",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Retry with exponential backoff and jitter, and make every handler idempotent."
}
]
}
],
"usage": {
"input_tokens": 19,
"output_tokens": 16,
"total_tokens": 35
}
}

响应字段

字段类型说明
idstring响应 ID。请连同请求 ID 一起记录,方便售后和对账。
modelstring实际作答的模型。
statusstringcompleted 表示作答完成。
output[]object[]输出项:message、reasoning 和 function_call。SDK 的 output_text 会帮你拼接其中的文本片段。
output[].content[].textstringmessage 输出项的答案文本,位于类型为 output_text 的片段里。
usageobjecttoken 数量。调用按实际 token 用量计量。

流式输出

设置 "stream": true。流以 response.created 开始,答案通过 response.output_text.delta 事件逐段到达,最后以 response.completed 结束。

  • 响应类型是 text/event-stream;不流式时是 application/json。
  • 函数调用是单独的输出项,它的参数通过 response.function_call_arguments.delta 事件逐段到达。
  • 调用模型之前就失败的请求,返回的是带 HTTP 状态码的普通 JSON 错误,而不是流事件。
  • 请设置明确的超时,并安全地重连流式响应。
event: response.created
data: {"type":"response.created","response":{"id":"resp_example","status":"in_progress"}}
event: response.output_text.delta
data: {"type":"response.output_text.delta","delta":"Retry"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","delta":" with backoff"}
event: response.completed
data: {"type":"response.completed","response":{"id":"resp_example","status":"completed"}}

错误

错误或现象原因处理
答案文本为空或被截断推理型号把整个 max_output_tokens 额度都用在了推理上。调大 max_output_tokens,但不要超过模型的最大输出。
报错提到 previous_response_id、conversation、prompt 或 context_management这些有状态字段不受支持。删掉它们,把完整历史放进 input。
402 insufficient_credits余额低于这次请求的价格,常见原因是 max_output_tokens 特别大。充值,或调小 max_output_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。其余失败保持 OpenAI SDK 格式 {"error": {"message", "type", "code"}}:错误码在 error.code,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退避重试,或换用其他模型。

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

注意事项

  • Kimi 也可以用 Chat Completions 和 Anthropic Messages 调用。
  • Kimi K3 默认会先思考。推理 token 计入输出 token,并按输出计费。
  • 密钥只放在可信的服务端,记录响应里的请求 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,确认该密钥已开通哪些模型。

kimi-k3

允许的值:
inputstring or list of objects必需

提示词:可以是字符串,也可以是输入项数组,例如消息、函数调用及其输出。

服务端不保存会话状态。不支持 previous_response_id、conversation、prompt 和 context_management:每一轮都要把完整历史放进 input。

instructionsstring可选

放在 input 之前的系统级指令。

max_output_tokensinteger可选

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

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

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

推理型号会先输出推理内容。max_output_tokens 太小时,推理可能把额度用完,答案文本会为空或被截断。请给推理和正文都留出空间,遇到这种情况就调大。

streamboolean可选默认为 false

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

temperaturedouble可选

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

top_pdouble可选

核采样阈值。

toolslist of objects可选

模型可以调用的函数工具。模型会返回 function_call 输出项;把结果作为带相同 call_id 的 function_call_output 输入项传回。托管工具(联网搜索、文件检索等)不在此列。

tool_choicestring or map from strings to any可选

控制模型可以、必须或不得调用工具。请用你的模型测试你依赖的取值。

响应

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

idstring可选

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

modelstring可选

实际作答的模型。

statusstring可选

completed 表示作答完成。

outputlist of objects可选

输出项:message、reasoning 和 function_call。SDK 的 output_text 会帮你拼接其中的文本片段。

usageobject可选

token 数量。调用按实际 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