指南

用 OpenAI SDK 调用 Claude 和 Gemini

改一下 base_url 和 API 密钥,就能在 Python 或 Node.js 里用同一个 OpenAI 客户端调用 Claude、GPT 和 Gemini,并了解这个捷径的边界。

预付费,无订阅REST 或 MCP一个密钥搞定模型、数据和智能体

OpenAI SDK 是生态里支持最广的客户端,而它允许你改两样东西:base URL 和 API 密钥。把它们指向 Half Off Dev,同一个客户端就能调用 GPT、Claude 和 Gemini 模型,换模型只需改一个词。本页给出 Python 和 Node.js 的配置方法、怎样列出模型,以及更重要的一点:与各厂商自家的 API 相比,你会失去什么。

01

两行改动

from openai import OpenAI

client = OpenAI(base_url="https://halfoff.dev/v1", api_key="ho-...")

reply = client.chat.completions.create(
    model="claude-sonnet-5.5",
    messages=[{"role": "user", "content": "Say hello in French."}],
)
print(reply.choices[0].message.content)

这里的 base URL 要保留 /v1:OpenAI SDK 只会在它后面追加路径。环境变量也可以:官方 SDK 会读取 OPENAI_BASE_URL 和 OPENAI_API_KEY,所以不改代码就能把已有的代码和工具重定向过来。

02

列出模型

Python
for m in client.models.list():
    print(m.id)

GET https://halfoff.dev/v1/models 是公开的,会返回每个模型及其价格。请原样使用这些 id;模型列表里也能看到。

03

捷径的边界

Chat Completions 是 OpenAI 的格式。把它发给 Claude 或 Gemini 模型时,请求会被转换成该模型的格式,所以只存在于厂商自家 API 里的功能可能被丢弃或拒绝。实际使用中:

你想要使用
普通聊天、流式输出、函数调用、JSON 输出OpenAI 客户端对所有模型都可用
Claude 的 cache_control、扩展思考针对 https://halfoff.dev 使用 Anthropic SDK(指南)
Gemini 的 thinkingConfig、原生音频和视频输入Gemini SDK 或 REST(指南)
GPT Responses API、Codex CLIhttps://halfoff.dev/v1/responses(指南)

如果价格对你重要,原生格式也很重要:Claude 的缓存折扣需要 cache_control,而它只有在 Anthropic 格式下才有保证。提示缓存说明了各厂商的做法。

04

排错

{}
401:

密钥没有送到服务器,或者输错了。检查你的代码读取的环境变量名。

提到模型的 404:

这个 id 不在 GET /v1/models 里。请从那里复制。

路径里出现 /v1/v1/ 的 404:

base URL 已经以 /v1 结尾,而工具又加了一次。对会自己追加 /v1 的工具,请去掉它。

402:

余额用完,或者触发了消费上限。参见余额与计费。

完整列表见错误。

05

常见问题

?
可以用 OpenAI SDK 调用 Claude 吗?+

可以。把 base URL 设为 https://halfoff.dev/v1,使用你的密钥,并把 model 设为 Claude 的 id,例如 claude-sonnet-5.5。要用提示缓存控制这类 Claude 专有功能,请改用 Anthropic SDK。

OpenAI Python 库支持自定义 base URL 吗?+

支持:给客户端传 base_url,或设置 OPENAI_BASE_URL。Node.js 库同理,用 baseURL。

这是 OpenAI 兼容接口,还是真正的原生 API?+

两种格式都在同一个主机上原生提供:OpenAI 的 Chat Completions 和 Responses、Anthropic 的 Messages,以及 Gemini。选你的代码已经在用的那一种。

应该从哪个模型开始?+

任一厂商的中档模型;可以用计算器以及各厂商的价格指南对比,分别是 Claude、GPT 和 Gemini。

要花多少钱?+

每个模型都是官方价的一半,从预付余额里按 token 计费。注册账户并创建一个密钥即可开始。

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

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