直接回答
Base URL invalid 通常由以下原因导致:地址格式错误(多写或少写 /v1)、API Key 不正确、模型名称不存在、SDK 参数写法不兼容、或网络无法访问目标地址。按本文提供的排查步骤逐一检查,大部分问题可以在几分钟内解决。
国内访问的常见问题
Base URL 多写或少写 /v1
这是最常见的错误。OpenAI 的标准 API 路径是 /v1/chat/completions,不同的中转服务可能有不同的路径约定。QuickRouter 的 Base URL 应设置为 https://api.quickrouter.ai/v1(注意包含 /v1)。如果你使用 Claude Code,则 Base URL 为 https://api.quickrouter.ai(不带 /v1)。混淆这两种格式会导致请求发送到错误路径。
API Key 不正确
API Key 格式错误也是常见原因。QuickRouter 的 API Key 以 sk- 开头。常见错误包括:复制时遗漏了前几位、包含了多余的空格、使用了其他平台的 Key。建议重新从控制台的 API 令牌页面完整复制一次。在 curl 中确认 Authorization: Bearer sk-xxx 格式正确。
模型名称不存在
请求中的 model 参数必须是平台上实际可用的模型名称。如果模型名称拼写错误或不在你的令牌权限范围内,API 会返回错误。建议在 QuickRouter 控制台的价格页或模型列表中确认可用的模型名称。
SDK 版本或参数写法不兼容
不同版本的 OpenAI SDK 参数命名可能不同。例如,Python SDK 使用 base_url,而 Node.js SDK 使用 baseURL。确认你使用的 SDK 版本和对应的参数名称。另外,有些 SDK 的 base_url 需要包含 /v1,有些不需要,请参考 SDK 文档。
网络访问失败或超时
如果报错是连接超时或网络不可达,可能是网络问题。使用 QuickRouter 时,国内网络通常可以直接访问。如果仍然超时,可以尝试:1)检查网络连接;2)设置更长的超时时间(如 API_TIMEOUT_MS=300000);3)使用 curl 命令测试连通性。
推荐配置方式
使用 QuickRouter 时,推荐按以下方式配置:OpenAI SDK 的 Base URL 设置为 https://api.quickrouter.ai/v1;Claude Code 的 Base URL 设置为 https://api.quickrouter.ai(不带 /v1)。API Key 从控制台 API 令牌页面创建,以 sk- 开头。如果不确定 Base URL 是否正确,可以使用 Base URL 测试工具生成 curl 命令验证。
# OpenAI SDK (Node.js)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
baseURL: "https://api.quickrouter.ai/v1",
});
const completion = await client.chat.completions.create({
model: "请替换为控制台中的模型名称",
messages: [{ role: "user", content: "Hello" }],
});
# curl 测试
curl https://api.quickrouter.ai/v1/chat/completions \
-H "Authorization: Bearer sk-xxx" \
-H "Content-Type: application/json" \
-d '{"model":"请替换为控制台中的模型名称","messages":[{"role":"user","content":"Hello"}]}'常见问题
Base URL 带 /v1 和不带 /v1 有什么区别?▾
OpenAI SDK 通常需要 Base URL 包含 /v1,因为 SDK 会在此基础上拼接 /chat/completions 等路径。Claude Code 使用原生 Anthropic 接口,Base URL 不带 /v1。具体以你使用的工具文档为准。
curl 测试返回 401 怎么办?▾
401 表示认证失败。检查 API Key 是否正确、Authorization Header 格式是否为 Bearer sk-xxx。如果 Key 中包含多余空格或换行,也会导致 401。
SDK 报错 model not found 怎么办?▾
确认 model 参数值在 QuickRouter 控制台中是否可用。有些模型需要特定分组的令牌才能访问。建议在控制台价格页查看当前可用的模型列表。
如何用 curl 快速测试 Base URL?▾
使用以下命令测试:curl https://api.quickrouter.ai/v1/chat/completions -H 'Authorization: Bearer sk-xxx' -H 'Content-Type: application/json' -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"hi"}]}'。如果返回 JSON 响应说明配置正确。
Python SDK 和 Node.js SDK 的 base_url 参数一样吗?▾
不一样。Python SDK 使用 base_url(下划线),Node.js SDK 使用 baseURL(驼峰)。两者的值都是 https://api.quickrouter.ai/v1,但参数名不同,注意不要混淆。