一个 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 兼容接口,模型随便换

准备工作

  1. 注册并登录 GetModel 控制台;
  2. 在「API 令牌」页创建一个 Key(形如 sk-...);
  3. 记住接口地址: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.2gemini-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 与分组限流,具体额度见控制台;生产环境建议开启自动重试,网关侧已内置多渠道故障转移。