用 OpenAI SDK 调 Gemini API:只改 base_url、API Key 和模型名的迁移教程
2026年6月14日 · 9 分钟阅读 · Claude / GPT / Gemini

截至 2026-06-14,Google 的 Gemini OpenAI compatibility 文档写得很直接:已有 Python 或 TypeScript 的 OpenAI 库代码,可以通过改 API Key、base_url 和模型名接入 Gemini;文档示例模型是 gemini-3.5-flash,兼容页最后更新于 2026-05-18(Google AI for Developers)。这不是“适配层魔法”,只是把 OpenAI SDK 的请求发到 Google 提供的兼容入口。

先装 SDK,别换调用范式
如果你的项目已经在用官方 OpenAI Python SDK,保留 chat.completions.create() 就行。OpenAI 的 Python SDK 仓库仍是官方客户端来源(openai-python),Google 兼容接口吃的也是这套调用形状。
from openai import OpenAI
client = OpenAI(
api_key="GEMINI_API_KEY",
base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{"role": "system", "content": "You are a concise code reviewer."},
{"role": "user", "content": "Review this Python function for edge cases."},
],
)
print(resp.choices[0].message.content)
API Key 从 Google AI Studio 创建(AI Studio API key)。注意结尾斜杠:/v1beta/openai/,不是普通 Gemini 原生接口的 /v1beta/models/...。
REST 也能按 OpenAI 形状打
服务端、curl 调试、网关健康检查,不一定要 SDK。Google 兼容文档给出的 REST 路径是 /openai/chat/completions:
curl "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $GEMINI_API_KEY" \
-d '{
"model": "gemini-3.5-flash",
"messages": [
{"role": "user", "content": "Give me a 5-point migration checklist."}
]
}'
迁移时先跑这条。它能把 Key、模型名、网络出口、账单权限四类问题拆开,比直接在业务服务里 debug 省时间。
reasoning_effort 怎么映射
Gemini 的 thinking 控制和 OpenAI 的 reasoning_effort 有重叠,Google 明确说两者不要同时传。兼容层会把 OpenAI 风格参数映射到 Gemini thinking 参数(Google OpenAI compatibility)。
OpenAI reasoning_effort |
Gemini 3 thinking_level | Gemini 2.5 thinking_budget |
|---|---|---|
minimal |
minimal 或 low |
1024 |
low |
low |
1024 |
medium |
medium |
8192 |
high |
high |
24576 |
要保守迁移,就先不传 reasoning_effort,让模型走默认值。要控成本,给长上下文任务加 low,再观察输出质量和 token 账单。

价格别只看模型名
Google 官方价格页把 Gemini 2.5 Pro 和 Flash 的标准价列得很清楚,单位是每 100 万 token,输出价包含 thinking tokens(Gemini API pricing)。
| 模型 | 输入价 | 输出价 |
|---|---|---|
gemini-2.5-pro,prompt ≤ 200k |
$1.25 | $10.00 |
gemini-2.5-pro,prompt > 200k |
$2.50 | $15.00 |
gemini-2.5-flash,文本/图片/视频输入 |
$0.30 | $2.50 |
gemini-2.5-flash,音频输入 |
$1.00 | $2.50 |
我的建议:聊天、分类、轻量代码任务先上 Flash;复杂推理、长文档综合、代码重构再切 Pro。Pro 的 200k prompt 阈值会直接影响输入和输出单价,别把日志、检索片段、重复 system prompt 一股脑塞进去。
迁移清单
- 把
OPENAI_API_KEY换成GEMINI_API_KEY,从 AI Studio 生成。 - 把
base_url改成https://generativelanguage.googleapis.com/v1beta/openai/。 - 把模型名改成兼容 Gemini 模型,比如
gemini-3.5-flash。 - 先用 REST curl 测通,再接回 SDK。
- 暂停自定义
reasoning_effort,确认质量后再加。 - 记录输入、输出、thinking token 成本,尤其是 Pro 的 200k 阈值。
如果你还要接 Claude/GPT
只接 Gemini,走 Google 官方兼容入口最干净。可一旦项目里同时要 Claude、GPT、Gemini,多 Key、多账单、多 SDK 会很烦。省事路径是 onehop:OpenAI/Anthropic 兼容,base_url 改成 https://api.onehop.ai/v1,就能用同一套 OpenAI SDK 调 Claude/GPT/Gemini;它主打价格低于官方、新账号送 $10、无需绑卡。
from openai import OpenAI
client = OpenAI(
api_key="ONEHOP_API_KEY",
base_url="https://api.onehop.ai/v1",
)
resp = client.chat.completions.create(
model="anthropic/claude-sonnet-4.5",
messages=[{"role": "user", "content": "Refactor this API handler."}],
)
print(resp.choices[0].message.content)
如果你现在只是想把多模型接入跑起来,可以直接试:在 onehop 上调用 Claude 等模型,或先领额度:注册即送 $10 体验额度。迁移的关键不是换一堆抽象层,而是把变量收敛到三件事:endpoint、key、model。
相关阅读

使用 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、key 和模型名的接入教程
已有 OpenAI SDK 代码接入 Gemini,最小改动只需三处配置。
2026年6月14日 · 9 分钟阅读

用 OpenAI SDK 调用 Gemini:只改 base_url、API Key 和模型名的接入教程
Google 已支持 OpenAI 兼容接口,改 base_url、Key 和模型名即可接入 Gemini。
2026年6月14日 · 11 分钟阅读