Gemini API

Gemini API

四个 Gemini 模型走与其余文本 API 相同的透传通道,四种请求格式都支持。

模型适合场景
gemini-3.8-flash最新一代 Flash —— 与 3.7 同价,同样 1M 上下文
gemini-3.7-flash下方示例使用的模型 —— 快、便宜,同价位里推理能力强
gemini-3.6-flash上一代 Flash,适合已按它调好的管线
gemini-3.1-pro-preview最难的推理与最长的上下文任务

Gemini 3.x 默认深度思考,且 thinking token 按输出计费max_tokens 同时约束思考与可见回答,预算给小了只会拿到半句话:实测 max_tokens: 150 时有 142 个 token 花在思考上,可见输出只剩 4 个。短回答也请至少给 1000 输出 token。

推荐:Gemini 兼容格式

POST https://api.beatapi.io/v1beta/models/{model}:generateContent

BeatAPI 密钥可通过 x-goog-api-key、Bearer 认证,或 Gemini SDK 兼容的 key 查询参数传入。直接发 HTTP 请求时建议用请求头。

$curl --request POST \
> --url 'https://api.beatapi.io/v1beta/models/gemini-3.7-flash:generateContent' \
> --header 'Authorization: Bearer <BEATAPI_API_KEY>' \
> --header 'Content-Type: application/json' \
> --data '{
> "contents": [
> {
> "role": "user",
> "parts": [
> {
> "text": "Design a resilient webhook retry strategy for a payments API."
> }
> ]
> }
> ]
>}'

流式请用 :streamGenerateContent。BeatAPI 原样转发事件流,不做格式转换。

其他 SDK 格式

同样这三个模型也在另外三种请求格式上响应。已有集成只需改 base URL、把供应商密钥换成 BeatAPI 密钥即可迁移。

OpenAI Chat Completions

POST https://api.beatapi.io/v1/chat/completions

$curl --request POST \
> --url https://api.beatapi.io/v1/chat/completions \
> --header 'Authorization: Bearer <BEATAPI_API_KEY>' \
> --header 'Content-Type: application/json' \
> --data '{
> "model": "gemini-3.7-flash",
> "messages": [
> {
> "role": "user",
> "content": "Design a resilient webhook retry strategy for a payments API."
> }
> ]
>}'

思考 token 记在 usage.completion_tokens_details.reasoning_tokens,并且已包含在 completion_tokens 里。

OpenAI Responses

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

$curl --request POST \
> --url https://api.beatapi.io/v1/responses \
> --header 'Authorization: Bearer <BEATAPI_API_KEY>' \
> --header 'Content-Type: application/json' \
> --data '{
> "model": "gemini-3.7-flash",
> "input": "Design a resilient webhook retry strategy for a payments API.",
> "reasoning": {
> "effort": "medium"
> }
>}'

Anthropic Messages

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

$curl --request POST \
> --url https://api.beatapi.io/v1/messages \
> --header 'Authorization: Bearer <BEATAPI_API_KEY>' \
> --header 'Content-Type: application/json' \
> --data '{
> "model": "gemini-3.7-flash",
> "max_tokens": 1024,
> "messages": [
> {
> "role": "user",
> "content": "Design a resilient webhook retry strategy for a payments API."
> }
> ]
>}'

缓存

命中缓存的输入按基础输入价的十分之一计费,数量记在 usage.prompt_tokens_details.cached_tokens。Google 的上下文缓存存储费不向下游透传 —— 你只为缓存读取付费。

认证与可用性

上线前先列出当前已启用的文本模型:

$curl https://api.beatapi.io/v1/models \
> -H "Authorization: Bearer $BEATAPI_API_KEY"
1{
2 "object": "list",
3 "data": [
4 { "id": "gemini-3.7-flash", "object": "model", "owned_by": "beatapi" }
5 ]
6}

同一把 API 密钥和同一份美元余额在文本、图片、视频、工作流、特效与实时 API 之间共用。按真实 token 用量计费;请求 ID、模型、token 总量、状态与结算金额都可在控制台用量日志中查看。

上线检查清单

  • 输出预算要把思考算进去,不能只按回答长度给。
  • API 密钥只放在可信服务端,并从日志中脱敏。
  • 设置明确的请求超时,并安全地重连流式响应。
  • 记录响应中的请求 ID,便于支持与账单核对。
  • 401402429502503 当作各自不同的运维场景分别处理。

继续接入媒体模型

同一个 BeatAPI 账户可以直接调用 GPT-5.6ClaudeNano Banana 2 以及其余图片和视频 API,不需要再引入一套计费或认证体系。