Gemini Responses
用一个 BeatAPI 密钥,通过 OpenAI Responses API 调用 Gemini 4 Argon、Gemini 3.8 Flash 和 Gemini 3.1 Pro。
- 一个端点
POST /v1/responses覆盖当前所有 Gemini 模型,改model即可切换。 - 支持流式输出和函数调用;
gemini-4-argon还能理解图片和长视频。 - 兼容 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。
在调试窗口里打开本接口,填入你的 BeatAPI API 密钥即可发送。调用是真实的,费用从你自己的余额中扣除。
模型
把下列 ID 之一作为 model 发送。它们是各自独立的模型,不是互相的别名。
- 价格为基础档,已计入折扣。长上下文档、缓存命中输入价和缓存写入价不在本表内,见价格表。
—表示目录未公布该数字。
本系列仍可调用的旧 ID 见旧型号。
快速开始
在服务端安装 openai 包,把密钥放在 BEATAPI_API_KEY,不要把它写进浏览器代码。output_text 是 SDK 提供的取答案文本的快捷属性。以下是请求示例,不是真实的模型输出记录。
从 output_text(或 output 里 output_text 类型的片段)读取答案,再检查 status 和 usage。HTTP 200 不能证明答案满足你的任务,请在应用里校验内容。文本请求直接返回,不要为它们轮询 /v1/tasks。
免费版本
这些模型有免费版本。免费版本不按 token 计费,用免费模型 ID 在同一个端点调用,并有单独的每分钟限额:首次充值前每个账号每分钟 1 次成功请求,充值后每分钟 10 次。它不保证稳定,随时可能被限流或下架。详见免费模型。
gemini-3.8-flash-free
端点与鉴权
POST https://direct.beatapi.io/v1/responses
Authorization
string
必需
Bearer <BEATAPI_API_KEY>。密钥带不带 sk- 前缀都可以。
请求参数
接受标准的 OpenAI Responses 字段。请求格式兼容,不代表每个模型都支持所有选项或托管工具,请对你依赖的选项自行测试。
model
string
必需
准确的模型 ID。
可选值:gemini-4-argon, gemini-3.8-flash, gemini-3.1-pro-preview
- 每个 ID 都是独立的模型,不是其他模型的别名。
- 用你的密钥调用
GET /v1/models,确认该密钥已开通哪些模型。 - 仍可调用的旧 ID
gemini-3.6-flash和gemini-3.7-flash见旧型号。
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 对象。以下是精简后的示例。
响应字段
流式输出
设置 "stream": true。流以 response.created 开始,答案通过 response.output_text.delta 事件逐段到达,最后以 response.completed 结束。
- 响应类型是
text/event-stream;不流式时是application/json。 - 函数调用是单独的输出项,它的参数通过
response.function_call_arguments.delta事件逐段到达。 - 调用模型之前就失败的请求,返回的是带 HTTP 状态码的普通 JSON 错误,而不是流事件。
- 请设置明确的超时,并安全地重连流式响应。
错误
HTTP 错误速查
认证、路由、限速和未知模型这几类失败发生在调用模型之前,返回 BeatAPI 信封:error.code、error.message、retryable、request_id。其余失败保持 OpenAI SDK 格式 {"error": {"message", "type", "code"}}:错误码在 error.code,request id 附在 message 末尾。详见错误码。
完整的错误码表和重试策略见错误码。
注意事项
- Gemini 模型也可以用 Chat Completions、Anthropic Messages 和 Gemini native 调用。
- Gemini 模型默认会先思考,思考 token 按输出计费,所以
max_output_tokens要同时为思考和答案留足空间。 - 缓存输入单价更低:
gemini-4-argon是输入价的二十分之一,gemini-3.8-flash和gemini-3.1-pro-preview是十分之一,没有单独的缓存存储费。是否命中缓存,请看usage里的缓存输入数量,不要想当然。gemini-3.1-pro-preview的提示词超过 200,000 tokens 时,整个请求按更高一档计费,见价格表。 - 密钥只放在可信的服务端,记录响应里的请求 ID,只对
429、500和503重试。
身份验证
Send your API key as Authorization: Bearer <BEATAPI_API_KEY>.
请求
准确的模型 ID。
每个 ID 都是独立的模型,不是其他模型的别名。
用你的密钥调用 GET /v1/models,确认该密钥已开通哪些模型。
仍可调用的旧 ID gemini-3.6-flash 和 gemini-3.7-flash 见旧型号。
gemini-4-argon, gemini-3.8-flash, gemini-3.1-pro-preview
提示词:可以是字符串,也可以是输入项数组,例如消息、函数调用及其输出。
服务端不保存会话状态。不支持 previous_response_id、conversation、prompt 和 context_management:每一轮都要把完整历史放进 input。
放在 input 之前的系统级指令。
生成 token 数的上限,包含推理部分。
网关不会拿你的值去和上面表格里的最大输出比较,请自己控制在该数字以内。
这个值也用来估算一次请求需要多少余额。值特别大时,即使实际输出很短,也可能被 402 insufficient_credits 拒绝。按实际需要设置即可。
推理型号会先输出推理内容。max_output_tokens 太小时,推理可能把额度用完,答案文本会为空或被截断。请给推理和正文都留出空间,遇到这种情况就调大。
以服务端推送事件(SSE)返回答案。见下文「流式输出」。
采样温度。它和 top_p 调一个就行,不要两个一起改。
核采样阈值。
模型可以调用的函数工具。模型会返回 function_call 输出项;把结果作为带相同 call_id 的 function_call_output 输入项传回。托管工具(联网搜索、文件检索等)不在此列。
控制模型可以、必须或不得调用工具。请用你的模型测试你依赖的取值。
响应
非流式调用返回一个 JSON 对象。以下是精简后的示例。
响应 ID。请连同请求 ID 一起记录,方便售后和对账。
实际作答的模型。
completed 表示作答完成。
输出项:message、reasoning 和 function_call。SDK 的 output_text 会帮你拼接其中的文本片段。
token 数量。调用按实际 token 用量计量。

