模型 API

Gemini API:
实时价格,Google 原生格式

通过原生 Gemini API 调用 Gemini,支持 generateContent、SSE 流式输出、countTokens 和 Gemini CLI。一个预付费密钥,按 token 计费。

预付费,无订阅REST 或 MCP一个密钥搞定模型、数据和智能体
Gemini CLIGoogle GenAI S…你的应用智能体lovely1 keyClaude/v1/messagesclaude-opus-5.5claude-sonnet-5.5claude-haiku-5.5GPT/v1/responsesgpt-6.1-solgpt-6-astragpt-5.6-terraGemini/v1betagemini-3.1-progemini-3.8-flashgemini-3-flash

Gemini 代码是按 Google 的格式编写的:contents 和 parts、systemInstruction、generationConfig、thinkingConfig。Lovely Router 在 /v1beta/models/{model} 下以这种格式提供 Gemini API,因此只需换一个 base URL,并把你的 Lovely Router 密钥当作 Gemini API 密钥,Google Gen AI SDK 和 Gemini CLI 就能直接使用。除模型 ID 外,你的请求会按你写的样子到达模型;同一个预付费密钥还能调用 Claude、GPT 和数据工具。

交给你的 AI 智能体

把这段提示词复制到 Claude Code、Cursor、Codex 或任何编程智能体中。它会告诉智能体文档在哪里,以及如何使用你的 API 密钥。

Integrate models from Lovely Router into this project through the native Gemini API.

- Docs (read first): https://lovelyrouter.com/docs/models/gemini.md
- Use the Google GenAI SDK with base URL https://lovelyrouter.com (http_options / httpOptions `baseUrl`, or GOOGLE_GEMINI_BASE_URL=https://lovelyrouter.com). Endpoints: https://lovelyrouter.com/v1beta/models/<model>:generateContent and :streamGenerateContent, unchanged from Google.
- GET https://lovelyrouter.com/v1/models lists every model id with its price; pick one there, do not guess ids.
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `x-goog-api-key: $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.

My task: <describe what you want to build or get>
01

工作原理

010203
  1. 创建密钥

    注册并充值(最低 $5),然后在 API 密钥页面创建密钥。无人值守运行的密钥请设置消费上限。

  2. 把 Gen AI SDK 指向 Lovely Router

    把 https://lovelyrouter.com 作为 SDK 的 base URL 传入。密钥放在 SDK 会发送的 x-goog-api-key 中;?key= 和 Authorization: Bearer 也可以使用。

  3. 调用 generateContent

    generateContent、streamGenerateContent 和 countTokens 的行为与 Google 文档所述一致。

    curl "https://lovelyrouter.com/v1beta/models/gemini-3.1-pro:generateContent" \
      -H "x-goog-api-key: $LOVELY_API_KEY" \
      -H "content-type: application/json" \
      -d '{
        "contents": [{"role": "user", "parts": [{"text": "Explain DNS in two sentences."}]}]
      }'
02

Gemini API 实时价格

模型上下文输入输出缓存读取
Gemini 3.1 Pro
gemini-3.1-pro
1.05M$2.00$12.00$0.20
Gemini 3 Flash
gemini-3-flash
1.05M$0.50$3.00$0.05
Gemini 4 Argon
gemini-4-argon
1.05M$2.00$10.00$0.20
Gemini 3.5 Flash
gemini-3.5-flash
1.05M$1.50$9.00$0.15
Gemini 3.8 Flash
gemini-3.8-flash
1.05M$0.75$3.75$0.075
Gemini 3.6 Flash
gemini-3.6-flash
1.05M$0.75$3.75$0.075

每 100 万 token 的美元价格,实时来自目录。

以上价格单位为美元/百万 token,取自实时目录。模型 ID 以 GET /v1/models 为准,例如 gemini-3.1-pro 和 gemini-3-flash;Google 的写法,如 gemini-3.1-pro-preview 或 models/gemini-3-flash,会解析到同一个模型。GET /v1beta/models 以 Gemini 自己的响应格式列出这种格式下可用的所有模型。Gemini 模型由 gemini-value 渠道组提供服务;模型广场显示实时可用性,状态页按小时显示每个渠道组的可用性。

03

原生 API 能带来什么

SSE 流式输出。

调用 :streamGenerateContent?alt=sse;SDK 会自动加上 alt=sse。每个事件都是一个部分 GenerateContentResponse,最后一个事件带有最终的 usageMetadata。

思考。

Gemini 3 模型默认会思考,可以按 Google 的文档用 thinkingConfig 进行调整。思考 token 显示在 usageMetadata.thoughtsTokenCount 中。

请求中的其他一切。

systemInstruction、generationConfig、safetySettings 以及 tools 中的函数声明都原样透传。

免费的 token 计数。

:countTokens 接受相同的 contents 并返回 totalTokens。它不收费,余额为零时也能使用。

以下 Gemini 端点不提供:cachedContents(显式上下文缓存)、文件上传、embedContent 和 batchEmbedContents、批处理模式以及 Live API。

Gemini 模型也支持 OpenAI Chat Completions 和 Anthropic Messages,当你的应用只支持其中一种格式时很有用。thinkingConfig 等 Gemini 专属选项只能保证在原生格式中生效。

04

使用 Gemini CLI

search_toolsrun_toolget_run

Gemini CLI 从环境变量读取端点和密钥:

Shell
export GOOGLE_GEMINI_BASE_URL=https://lovelyrouter.com
export GEMINI_API_KEY=$LOVELY_API_KEY
gemini -m gemini-3.1-pro

在你的工具中使用介绍了其他客户端,AI 编程智能体则展示了如何用同一个密钥同时运行 Gemini CLI、Claude Code 和 Codex CLI。

05

隐式缓存,始终有效

Gemini 会自行缓存重复的提示词前缀,无需任何标记。缓存的 token 显示在 usageMetadata.cachedContentTokenCount 中,按缓存读取价格计费,没有缓存写入费用。

只有下一轮请求到达持有缓存的渠道,缓存才能发挥作用。Lovely Router 根据系统提示词和第一条用户消息为每个对话生成指纹,并把后续各轮请求送回同一个渠道。如果你的应用会改写或总结旧的历史记录,请改为每个对话发送一个固定的 x-session-id 请求头。系统指令中的时间戳会同时破坏指纹和 Gemini 自身的缓存,所以请把它放到最新的用户消息里。详见提示缓存。

06

渠道失败时

原本需要你自己处理的失败,网关会先替你重试。在某个渠道上失败的请求,会在同一渠道组内的另一个渠道上重试,最多尝试三次;流在首个 token 到达前会被暂缓,因此在此之前发生的失败会被重试,而不会传到你这里。剩下的错误以 Gemini 的错误格式返回:429 对应 RESOURCE_EXHAUSTED,502 对应 UNAVAILABLE。请以退避方式重试这些错误,并在响应带有 retry-after 时遵循它。无效请求(400、404、413、422)不会重试,因为换到别处也会以同样的方式失败。

建议使用 alt=sse。不加它时,streamGenerateContent 返回一个 JSON 数组;加上它,停滞三分钟的流会以一个明确的 DEADLINE_EXCEEDED 错误事件结束,便于你检测。完整的对照表见限流与故障转移。

07

常见用法

用系统指令做规划。

在 GenerateContentConfig 中设置 system_instruction 和 max_output_tokens 来调用 gemini-3.1-pro,然后读取 usage_metadata 了解费用。

流式输出到聊天界面。

在 gemini-3-flash 上使用 generate_content_stream,每个数据块一到就渲染它的文本。

先检查大型提示词。

在为一次调用付费之前,对相同的内容运行 count_tokens,把 total_tokens 与模型的上下文长度进行比较。

在预算内运行 Gemini CLI。

专门为 CLI 创建一个设有消费上限的密钥,这样长时间的会话也不会超出预算。

把密钥固定到一个渠道组。

把生产环境的密钥绑定到 gemini-value,或发送 x-lovely-group,每次重试都会留在该渠道组内,价格不变。

08

费用说明

Gemini 按 token 计费。未缓存输入为 promptTokenCount 减去 cachedContentTokenCount;缓存 token 按缓存读取价格计费;输出为 candidatesTokenCount 加上 thoughtsTokenCount,按输出价格计费。目前所有渠道组都按官方标价计费,因此每个 Gemini 模型的价格与 Google 公布的一致。费用会在响应返回后几秒内从你的预付费余额中扣除。

没有订阅,也没有月费。在到达模型之前就被拒绝的请求不收费,重试的尝试不计费,你取消的流只为已生成的内容付费。价格页在一页中列出了所有产品。

09

常见问题

?
Google Gen AI SDK 能配合 Lovely Router 使用吗?+

可以。在 http_options(Python)或 httpOptions(Node.js)中把 https://lovelyrouter.com 作为 base URL 传入,并把你的 Lovely Router 密钥作为 API 密钥。请求体原样透传。

可以使用 Gemini CLI 吗?+

可以。把 GOOGLE_GEMINI_BASE_URL 设为 https://lovelyrouter.com,把 GEMINI_API_KEY 设为你的密钥,然后用 gemini -m gemini-3.1-pro 启动。

思考 token 如何计费?+

思考 token 报告在 usageMetadata.thoughtsTokenCount 中,与 candidatesTokenCount 一起按输出价格计费。

支持上下文缓存吗?+

支持隐式缓存:重复的前缀由 Gemini 缓存并按缓存读取价格计费,网关会让每个对话留在同一个渠道上。不支持通过 cachedContents API 进行显式缓存。

可以通过 OpenAI SDK 调用 Gemini 吗?+

可以。Gemini 模型用同一个密钥即可接受 OpenAI Chat Completions 请求。需要 thinkingConfig 或其他 Gemini 专属选项时,请使用原生 Gemini API。

阅读 Gemini 指南了解所有方法和请求头,或者在模型广场中比较所有厂商的模型。

一个预付费密钥,搞定模型、数据和智能体

无需订阅。充值后按需使用,每笔费用都能在日志中查看。