四种入口怎么填:OpenAI / Anthropic / Gemini 的 Base URL 对照
同一个站点有四个入口:OpenAI 兼容用站点根、OpenAI 协议用 /openai、Anthropic 用 /anthropic、Gemini 用 /gemini/v1beta;Base URL 只填到协议前缀为止,版本段由客户端自己拼。
更新于 2026-11-14 · SageLib 团队 · 标签:base-url、sdk、protocol
结论要点
- Base URL 填到协议前缀为止,不要再带 /v1(客户端会自己拼)
- OpenAI 兼容模式用站点根,路径里既没有 /openai 也没有 /v1
- 四种入口共用一个令牌,鉴权头按协议区分:Bearer / x-api-key / x-goog-api-key
协议入口的对照表比文档目录更容易记:Base URL 只填到协议前缀,剩下的交给客户端。
四个入口
| 用途 | Base URL | 鉴权头 |
|---|---|---|
| OpenAI 协议兼容(第三方客户端 base 填站点根) | https://api.sagelib.com |
Authorization: Bearer <令牌> |
| OpenAI 协议(OpenAI SDK / Codex) | https://api.sagelib.com/openai |
Authorization: Bearer <令牌> |
| Anthropic 协议(Claude Code / Anthropic SDK) | https://api.sagelib.com/anthropic |
x-api-key: <令牌> |
| Gemini 协议(Google GenAI SDK) | https://api.sagelib.com/gemini/v1beta |
x-goog-api-key: <令牌> |
为什么各家带的版本段不一样
不是网关的规矩不同,而是各家 SDK 自己拼的后缀不同:
| SDK | 自己拼的后缀 | 所以 Base 要填 |
|---|---|---|
| Anthropic SDK / Claude Code | /v1/messages(自带 /v1) |
不带 /v1 |
| OpenAI SDK | /chat/completions(不带版本段) |
/openai(带不带 /v1 都行) |
| OpenAI 兼容客户端 | /chat/completions |
站点根 https://api.sagelib.com |
| Google GenAI SDK | /models/<模型>:generateContent |
带 /v1beta |
兼容入口的路径是精确匹配的
站点根只接受这几条路径:/chat/completions、/responses、/images/generations、/images/edits、
/audio/transcriptions、/audio/speech、/videos。写别的路径不会进转发,而是直接 404——
这正是「Base 填对了、路径却拼错」的典型症状。
404 的三个来源
- 漏写协议前缀:把 Anthropic 请求发到了站点根;
- 重复版本段:Base 写了
/openai/v1,客户端又补一个/v1; - 端点不被该模型支持:模型详情页的「模型能力」里没有这个端点。
对照 API 接入与鉴权 与模型详情页的「API 示例」逐项核对即可。
参考来源
常见问题
Base URL 要不要带 /v1?
不要。Anthropic SDK 与 Claude Code 会自己拼 /v1/messages,OpenAI SDK 自己拼 /chat/completions,Base 里再写一次 /v1 就会拼成 /openai/v1/v1/…,直接 404。
一个令牌能用所有协议吗?
可以。令牌与协议无关,四个入口共用同一个 sk- 开头的网关令牌,只是请求头不同。