一个 API Key 同时调用 Claude、GPT、Gemini:OpenAI 兼容接口快速上手
用 GetModel 的统一 OpenAI 兼容接口,把 base_url 换成 https://getmodel.ai 即可在同一段代码里切换 Claude、GPT、Gemini 等模型。附 curl、Python、Node.js 示例与流式输出说明。
维护多家大模型厂商的 SDK、密钥和计费,是很多团队接入 AI 时的第一道坑。GetModel 把这些收敛成一件事:一个 Key + 一个 OpenAI 兼容接口,模型随便换。
准备工作
- 注册并登录 GetModel 控制台;
- 在「API 令牌」页创建一个 Key(形如
sk-...); - 记住接口地址:
https://getmodel.ai/v1。
curl 示例
curl https://getmodel.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的Key" \
-d '{
"model": "claude-sonnet-5",
"messages": [{"role": "user", "content": "用一句话解释什么是 API 网关"}]
}'
换模型只改 model 字段,比如 gpt-5.2、gemini-3.0-pro,请求结构完全不变。可用模型与实时价格见价格页。
Python(openai SDK)
from openai import OpenAI
client = OpenAI(
api_key="sk-你的Key",
base_url="https://getmodel.ai/v1",
)
resp = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)
Node.js
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-你的Key',
baseURL: 'https://getmodel.ai/v1',
});
const resp = await client.chat.completions.create({
model: 'gemini-3.0-pro',
messages: [{ role: 'user', content: 'Hello' }],
});
console.log(resp.choices[0].message.content);
流式输出
加上 stream: true 即可,SSE 格式与 OpenAI 官方一致;需要用量统计时带上 stream_options: {"include_usage": true},最后一个 chunk 会携带 token 用量。
stream = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "写一首关于 API 的短诗"}],
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
常见问题
- 原生接口还能用吗? 可以。除 OpenAI 兼容层外,Claude 原生
/v1/messages、Gemini 原生接口等也已支持,同一个 Key 通用。 - 计费怎么算? 按各模型实际 token 用量计费,余额全模型共享,用量明细在控制台「日志」页逐条可查。
- 限流? 按 Key 与分组限流,具体额度见控制台;生产环境建议开启自动重试,网关侧已内置多渠道故障转移。