QuickRouter API 大模型API聚合中转平台QuickRouter API

OpenAI Base URL invalid 怎么办?

在使用 OpenAI SDK 或兼容接口调用大模型 API 时,遇到 Base URL invalid 或类似错误是开发者最常见的问题之一。报错可能表现为 404 Not Found、401 Unauthorized、连接被拒绝或模型路径不存在等。本文逐一分析常见原因,并提供使用 QuickRouter 时的推荐配置方式。

直接回答

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_baseurl_test.sh
# 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,但参数名不同,注意不要混淆。