一句话回答

OpenAI API Base URL 填的是“请求要发到哪个 API 服务入口”,不是 API Key,也不是模型名称。使用 OpenAI 官方接口时,常见地址是 https://api.openai.com/v1;使用 OpenAI-compatible 中转接口时,要填写服务商提供的兼容地址,例如 TokenCheap 的接口地址通常是 https://api.tokencheap.space/v1

最容易出错的地方是漏掉 /v1、把网页后台地址当成 API 地址、或者 API Key 来自 A 服务但 Base URL 填了 B 服务。只要 Base URL、API Key、Model Name 三者来自同一个服务商,Cursor、Dify、n8n 和代码调用通常就能正常连接。

这个问题通常发生在哪里

你可能会在这些场景里搜索“OpenAI API Base URL 怎么填”:

  • Cursor 里有 API KeyBase URL 字段,不知道两个分别填什么。
  • Dify 添加 OpenAI-API-compatible 模型供应商时,不确定 openai_api_base 是否要带 /v1
  • n8n 创建 OpenAI Credential 时,想使用 OpenAI 兼容接口或中转接口。
  • 自己写 curl、Python、LangChain、OpenAI SDK 代码时,需要指定 base_url
  • 报错是 401model_not_found404Connection error,怀疑是地址填错。

如果你还没有 API Key,可以先看 TokenCheap AI API 接入入口;如果你是在某个工具里配置失败,可以同时参考 教程中心报错解决库

Base URL、Endpoint、API Key、Model Name 的区别

很多配置失败不是因为 Key 不能用,而是这几个概念混在一起了。

名称它是什么示例常见错误
Base URLAPI 服务的根入口https://api.openai.com/v1漏掉 /v1,或填成官网页面地址
Endpoint某个具体功能路径/chat/completions/models把 endpoint 重复拼进 Base URL
API Key身份认证密钥sk-...复制不完整、带空格、来自错误服务商
Model Name要调用的模型名gpt-4o-mini模型名不存在或当前服务不支持

一个完整请求通常是:

Base URL + Endpoint + Authorization Header + Model Name

例如模型列表请求可以理解为:

GET https://api.openai.com/v1/models
Authorization: Bearer YOUR_API_KEY

使用中转或 OpenAI-compatible 服务时,/models 这个 endpoint 可能保持兼容,但前面的 Base URL 要换成服务商提供的地址。

OpenAI 官方接口和 OpenAI-compatible 中转接口怎么填

使用 OpenAI 官方接口

如果你直接使用 OpenAI 官方 API,Base URL 通常填写:

https://api.openai.com/v1

API Key 使用 OpenAI 平台创建的 Key。模型名也要使用官方支持的模型名,例如 gpt-4o-minigpt-4.1 等。具体可用模型以你的账号和项目权限为准。

使用 TokenCheap 或其他 OpenAI-compatible 接口

如果你使用 OpenAI 兼容接口,Base URL 要填写服务商给你的兼容地址。以 TokenCheap 为例,常见配置是:

https://api.tokencheap.space/v1

这时 API Key 也应该使用 TokenCheap 后台生成的 Key,模型名使用该服务支持的模型名称。不要把 OpenAI 官方 Key 和 TokenCheap Base URL 混用,也不要把 TokenCheap Key 填到 OpenAI 官方地址里。

为什么很多 Base URL 都以 /v1 结尾

/v1 通常表示 API 的版本入口。很多 OpenAI-compatible 工具会在你填写的 Base URL 后面自动拼接 endpoint,例如 /chat/completions/models

因此推荐把 Base URL 填到版本层级:

https://api.tokencheap.space/v1

不要填成:

https://api.tokencheap.space/v1/chat/completions

如果工具自己已经把 /v1 写死在后面,而你又手动填了 /v1,可能会变成 /v1/v1/...。遇到这种情况,要看工具字段说明:它要求的是“Base URL”还是“完整 Endpoint”。大多数 Cursor、Dify、n8n 的 OpenAI-compatible 配置都更适合填写到 /v1

在 Cursor 里怎么填 Base URL

Cursor 里的配置目标是让编辑器把请求发到正确的模型服务。常见填写方式:

API Key: 你的服务商 API Key
Base URL: https://api.tokencheap.space/v1
Model: 服务商支持的模型名,例如 gpt-4o-mini

排查顺序:

  1. 确认 API Key 没有前后空格。
  2. 确认 Base URL 以 https:// 开头,并且不是后台登录页面。
  3. 确认模型名在该服务商的模型列表中存在。
  4. 如果提示 invalid key,先看 Cursor 编辑器接入 AI API 完整教程invalid_api_key 解决方法
  5. 如果提示无法连接,检查网络、代理和接口域名是否可访问。

Cursor 相关长尾问题还包括“cursor 自定义 API 地址怎么填”“cursor 添加不了 openai api key 和 url”。如果你遇到的是字段找不到或保存失败,优先确认 Cursor 版本和设置入口是否一致。

在 Dify 里怎么填 openai_api_base

Dify 常见入口是模型供应商里的 OpenAI-API-compatible。如果使用兼容接口,可以这样理解:

Provider: OpenAI-API-compatible
API Base URL / openai_api_base: https://api.tokencheap.space/v1
API Key: 兼容服务商提供的 Key
Model: 该服务商支持的模型名

Dify 排查重点:

  • openai_api_base 不要填成网页后台地址。
  • Base URL 和 API Key 要来自同一个服务。
  • 云端 Dify 和自部署 Dify 的网络环境不同,自部署服务器需要能访问该 API 域名。
  • 模型名填错时,常见现象是测试供应商失败或返回 model_not_found

你可以继续参考 Dify 配置 OpenAI 兼容 API 完整教程;如果报模型问题,看 OpenAI API model_not_found 怎么解决

在 n8n 里怎么填 Base URL

n8n 更偏工作流场景,除了能否连通,还要考虑并发、重试和成本控制。OpenAI Credential 或相关节点中,如果支持自定义 Base URL,可以按这个方向填写:

API Key: 你的 OpenAI-compatible API Key
Base URL: https://api.tokencheap.space/v1
Model: 工作流节点中选择或手动填写的模型名

n8n 排查重点:

  1. 先用最简单的 Chat Model 或 HTTP Request 节点测试。
  2. 自建 n8n 要确认服务器 DNS、HTTPS、出口网络都正常。
  3. 批量工作流要设置重试和限流,避免触发 OpenAI API 429 报错
  4. 如果调用超时,参考 API timeout 超时解决方法

已有基础配置可以看 n8n 接入 AI API 教程

curl 怎么验证 Base URL 是否正确

最小验证方法是请求模型列表。把下面的 BASE_URLAPI_KEY 换成你自己的:

curl "$BASE_URL/models" \
  -H "Authorization: Bearer $API_KEY"

如果使用 TokenCheap,可以写成:

curl "https://api.tokencheap.space/v1/models" \
  -H "Authorization: Bearer YOUR_API_KEY"

判断结果:

  • 返回模型列表:Base URL 和 Key 大概率正确。
  • 返回 401:优先检查 Key、Bearer 写法和服务商是否匹配。
  • 返回 404:可能 Base URL 层级不对,或 endpoint 不兼容。
  • 返回超时:检查网络、防火墙、代理或服务状态。
  • 返回 model_not_found:模型名问题,不一定是 Base URL 本身问题。

Python / OpenAI SDK 怎么写 base_url

如果你用的是兼容 OpenAI SDK 的接口,Python 写法通常类似:

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.tokencheap.space/v1",
)

models = client.models.list()
print([model.id for model in models.data[:5]])

如果你使用官方 OpenAI API,可以不显式设置 base_url,或者设置为官方地址。使用中转或 OpenAI-compatible 服务时,才需要把 base_url 改成兼容服务地址。

最常见的 7 个填写错误

1. 把官网或控制台地址当成 API 地址

错误示例:

https://www.tokencheap.space
https://platform.openai.com

这类地址通常是网页,不是 API 请求入口。

2. 漏掉 /v1

很多 OpenAI-compatible 接口要求 Base URL 到 /v1。如果漏掉,可能返回 404、连接失败或模型列表为空。

3. 把 endpoint 写进 Base URL

错误示例:

https://api.tokencheap.space/v1/chat/completions

如果工具会自动拼 /chat/completions,这会导致路径重复或请求错误。

4. Key 和 Base URL 来自不同服务商

比如 Key 是 OpenAI 官方的,Base URL 却是中转服务;或者 Key 是中转服务的,Base URL 却填官方地址。这种最容易触发 401invalid_api_key

5. 模型名和服务商不匹配

Base URL 正确但模型名不存在,会返回 model_not_found。这时应该查看服务商的模型列表,或用 /models endpoint 验证。

6. 工具字段名称不一样

有的工具叫 Base URL,有的叫 API BaseOpenAI API Baseopenai_api_baseCustom API URL。本质上都是“请求入口”,但是否自动补 /v1 要看工具说明。

7. 自部署服务无法访问外部 API

Dify、n8n、LangChain 服务如果部署在服务器上,请求是从服务器发出的,不是从你的浏览器发出的。浏览器能打开不代表服务器能访问。

快速排查清单

发布配置前,按这个顺序检查:

  • Base URL 是否是 API 域名,而不是网页地址。
  • 是否需要 /v1,且没有重复 /v1/v1
  • API Key 是否来自同一个服务商。
  • 请求头是否是 Authorization: Bearer YOUR_API_KEY
  • 模型名是否在该 Base URL 的模型列表里。
  • Cursor、Dify、n8n 所在环境能否访问这个域名。
  • 是否因为并发或额度触发了 429 / quota 错误。

相关阅读

FAQ

OpenAI API Base URL 到底填什么?

使用官方 OpenAI API 时,常见填写 https://api.openai.com/v1。使用 TokenCheap 或其他 OpenAI-compatible 服务时,填写该服务商提供的兼容 API 地址,例如 https://api.tokencheap.space/v1

API Base URL 和 API Key 有什么区别?

Base URL 决定请求发到哪里,API Key 证明你是谁、有没有权限。两者必须来自同一个服务商,否则很容易出现 401、invalid key 或连接失败。

Base URL 一定要带 /v1 吗?

大多数 OpenAI-compatible 配置建议带 /v1,但也要看工具字段说明。如果工具要求填完整 endpoint,或者工具会自动补 /v1,就要避免重复。

Cursor 自定义 API 地址怎么填?

通常在 Cursor 的自定义 API 或 OpenAI compatible 配置中,API Key 填服务商 Key,Base URL 填 https://api.tokencheap.space/v1 这类兼容地址,模型名填服务商支持的模型。

Dify 的 openai_api_base 应该怎么填?

在 Dify 的 OpenAI-API-compatible 供应商里,openai_api_base 通常填兼容接口的 /v1 地址,例如 https://api.tokencheap.space/v1,并配套填写同一服务商的 API Key。

n8n OpenAI API Base URL 怎么填?

如果 n8n 的 OpenAI Credential 或节点支持自定义 Base URL,就填兼容服务商提供的 /v1 地址。自建 n8n 还要确认服务器能访问这个 API 域名。

填完 Base URL 还是报 model_not_found 怎么办?

先请求 /models 看该服务是否支持你填写的模型名。如果模型不在列表里,改成服务商支持的模型;如果模型存在但仍报错,再检查工具是否把请求发到了正确的 Base URL。

下一步

如果你只是想确认 Base URL,先用 curl 请求 /models。如果你希望把 Cursor、Dify、n8n 和自己的网站发布流程一起接到稳定的 AI API,可以通过 联系页面 把工具、Base URL、报错截图和目标模型发给我,我可以帮你一起排查配置。