用 OpenAI SDK 调 Gemini API:base_url、模型名和 Gemini 3.5 Flash 价格怎么配
2026年6月14日 · 10 分钟阅读 · Claude / GPT / Gemini

Google 的 OpenAI 兼容文档在 2026-05-18 更新,直接写明:Gemini 模型可以通过 OpenAI Python / JavaScript SDK 调用,核心只改三处:api_key、base_url、model(Google)。今天是 2026-06-14,价格页给 gemini-3.5-flash 的标准付费层标价是:输入 $1.50 / 100 万 token,输出含思考 token $9.00 / 100 万 token(Google Pricing)。
我的判断很简单:如果你已有 OpenAI SDK 项目,先别重写。先把 Gemini 当成一个 OpenAI-compatible backend 接进去,跑通成本、流式、工具调用,再决定要不要迁到原生 Gemini SDK。

1. 最小改动:只换 endpoint 和模型名
Python 先装官方 OpenAI SDK:
pip install openai
export GEMINI_API_KEY="你的 Gemini API Key"
然后把客户端改成这样:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["GEMINI_API_KEY"],
base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
reasoning_effort="low",
messages=[
{"role": "system", "content": "你是一个直接、准确的代码助手。"},
{"role": "user", "content": "用三句话解释 SSE 流式输出。"},
],
)
print(resp.choices[0].message.content)
chat.completions.create、messages、tools 这些形状仍是 OpenAI Chat Completions 风格;OpenAI 自家 API 参考也仍把 Chat Completions 定义为基于消息列表生成回复的接口(OpenAI)。所以迁移重点不是业务代码,而是配置层。
2. base_url 别少最后的斜杠
Google 文档里的地址是:
https://generativelanguage.googleapis.com/v1beta/openai/
少写最后的 /,某些客户端拼路径时会出怪问题。生产代码里建议抽成环境变量:
OPENAI_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai/"
OPENAI_API_KEY="$GEMINI_API_KEY"
OPENAI_MODEL="gemini-3.5-flash"
如果你想省掉多厂商账号、额度和账单的切换,onehop 是更省事的路径:把 base_url 改成 https://api.onehop.ai/v1,同一套 OpenAI / Anthropic 兼容接口里调用 Claude、GPT、Gemini。新账号送 $10,无需绑卡;适合先做 PoC,再看是否直连官方。
from openai import OpenAI
client = OpenAI(
api_key="你的 onehop key",
base_url="https://api.onehop.ai/v1",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "给我一个 FastAPI 健康检查接口"}],
)
print(resp.choices[0].message.content)
入口放这里:在 onehop 上调用 Claude 等模型、注册即送 $10 体验额度。
3. 价格先按输出 token 算
gemini-3.5-flash 标准层不是“便宜到不用管”。输出价是输入价的 6 倍:
| 模型 | 层级 | 输入 / 100 万 token | 输出 / 100 万 token |
|---|---|---|---|
gemini-3.5-flash |
标准 | $1.50 |
$9.00 |
gemini-3.5-flash |
批量 | $0.75 |
$4.50 |
gemini-3.5-flash |
Flex | $0.75 |
$4.50 |
批量和 Flex 的数字也来自同一张 Google 价格页。写应用时要限制 max_completion_tokens,尤其是总结、代码生成、Agent 工具循环。输入长一点还能缓存,输出失控就是实打实烧钱。

4. reasoning_effort 怎么映射
Google 兼容层接受 OpenAI 风格的 reasoning_effort,并映射到 Gemini 的 thinking 配置(Google):
reasoning_effort |
Gemini 3 Flash thinking_level |
|---|---|
minimal |
minimal |
low |
low |
medium |
medium |
high |
high |
不传时用模型默认值。Google 文档还写了一个关键限制:Gemini 3 不能关闭 thinking;none 只适用于部分 2.5 模型。我的建议是线上默认 low,只有复杂规划、长链路工具调用才升到 medium 或 high。因为输出价格包含思考 token,推理强度不是免费旋钮。
5. 流式和函数调用:能用,但要防空块
流式调用保持 OpenAI SDK 写法:
stream = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "写一个 Redis 缓存封装"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
这里的 if delta 很实用。流式响应里可能有角色、工具调用或空增量,不要假设每个 chunk 都有文本。
函数调用也走 tools 和 tool_choice="auto"。Google 兼容文档给了天气函数示例,并确认 Gemini API 支持 function calling(Google)。真实项目里别只打印模型返回;要检查 message.tool_calls,执行本地函数,再把工具结果作为下一轮消息喂回模型。
结论:迁 Gemini 最小成本就是三行配置;真正要盯的是输出 token、thinking 强度、流式空 chunk 和工具调用闭环。如果你只是想快速把 Claude、GPT、Gemini 放进同一个 OpenAI SDK 项目,直接用 onehop 的统一入口会省不少配置时间:在 onehop 上调用 Claude 等模型,或者先领 注册即送 $10 体验额度。
相关阅读

使用 OpenAI SDK 调用 Groq GPT-OSS 120B:Base URL、定价与缓存
只需替换 OpenAI SDK 的 base URL,即可在 Groq 上运行 GPT-OSS 120B,估算缓存 token 成本,并避免工具计费意外。
2026年6月17日 · 18 分钟阅读

用 OpenAI SDK 调 Gemini API:只改 base_url、API Key 和模型名的迁移教程
面向已有 OpenAI SDK 项目的 Gemini 兼容接口迁移清单,含代码、参数映射和价格。
2026年6月14日 · 9 分钟阅读

用 OpenAI SDK 调 Gemini API:只改 base_url、key 和模型名的接入教程
已有 OpenAI SDK 代码接入 Gemini,最小改动只需三处配置。
2026年6月14日 · 9 分钟阅读