认证与 Base URL
本页是全站 Base URL 与鉴权方式的唯一事实源,其他页面只做引用。
核心心智
一个 API Key 走遍所有厂商。接入任何 SDK 通常只需改两处:base_url 和 api_key。
真正需要注意的只有两件事——Base URL 要不要带 /v1,以及用哪个鉴权 Header。
Base URL
正式域名两个,都指向同一套服务:
| 域名 | 状态 |
|---|---|
https://api.smartwan.com | 当前可用,示例均以此为准 |
https://api.tokenroute.com | 正式域名,尚未启用;启用后两者并行服务,无需更换 API Key |
接口路径
完整请求地址由网关域名和接口路径组成。
| 协议 | 接口路径 |
|---|---|
| OpenAI 兼容 | /v1/chat/completions、/v1/models |
| Anthropic Messages | /v1/messages |
| Google Gemini | /v1beta/models/{model}:generateContent |
| Responses API | /v1/responses |
| 图片生成 / 编辑 | /v1/images/generations、/v1/images/edits |
按客户端填写 Base URL
客户端拼接路径的方式不同,不能统一要求所有 SDK 都带 /v1。curl 使用完整请求地址。
| 已验证客户端 | Base URL | 配置要点 |
|---|---|---|
| OpenAI Python SDK 3.17.0 | https://api.smartwan.com/v1 | api_key;本次验证 Chat Completions |
| Anthropic Python SDK 1.7.0 | https://api.smartwan.com | api_key;SDK 自动拼接 /v1/messages |
| Google GenAI Python SDK 2.24.0 | https://api.smartwan.com | 设置 api_version="v1beta" |
| Codex CLI 0.155.1 | https://api.smartwan.com/v1 | wire_api="responses",env_key 填环境变量名 |
| Claude Code 2.1.278 | https://api.smartwan.com | ANTHROPIC_AUTH_TOKEN |
以上配置在 2026-09-22 使用测试 Key 完成了最小真实调用。其他版本、客户端和模型请参考对应工具页并单独验证。
Anthropic SDK 的 Base URL 再带 /v1,会拼出 /v1/v1/messages;Google GenAI 显式指定 v1beta 时,不要在 Base URL 中再带 /v1beta。OpenAI Python SDK 则不会为根地址自动补 /v1。
鉴权
以下请求头使用同一个 TokenRoute API Key:
| 协议 | Header |
|---|---|
| OpenAI 兼容 / Responses | Authorization: Bearer sk-你的Token |
| Anthropic Messages | x-api-key: sk-你的Token,或 Authorization: Bearer sk-你的Token |
| Google Gemini | x-goog-api-key: sk-你的Token |
Messages 的两种方式已对同一个 claude-haiku-4-5 最小请求验证成功。Anthropic Python 的 api_key 发送 x-api-key;Claude Code 的 ANTHROPIC_AUTH_TOKEN 发送 Bearer。按所用客户端选择一种配置方式即可。
Anthropic 请求保留 anthropic-version: 2023-06-01,与示例和已验证 SDK 的行为一致。认证失败时结合响应详情、Key 状态和权限排查,不能仅凭 Header 名称推断原因。
选择协议
本次最小调用中,GPT、Claude、Gemini、DeepSeek、GLM、Kimi、MiniMax 等文本模型通过了 Chat Completions 验证;Claude、DeepSeek、GLM、Kimi、MiniMax 的代表模型通过了 Messages 验证。GPT 的代表模型通过了 Responses 验证,Gemini 的代表模型通过了原生接口验证。
同一模型在一个接口成功,不代表在其他接口或高级参数下也成功。 具体测试范围与差异见厂商调用差异。