一句话回答

OpenAI Compatible API 通常可以通过 GET /v1/models 获取模型列表。也就是说,如果你的 Base URL 是 https://api.tokencheap.space/v1,模型列表地址通常就是 https://api.tokencheap.space/v1/models,请求时带上 Authorization: Bearer YOUR_API_KEY

获取模型列表是验证 Key、Base URL 和网络是否正常的最小方法。它比直接发聊天请求更轻,也更适合排查 Cursor、Dify、n8n 的配置问题。

为什么先查模型列表

当你接入 OpenAI-compatible API 时,常见错误包括 Key 无效、Base URL 填错、模型名不存在和网络不通。/models 可以先回答三个问题:

  • 这个 API 地址能访问吗?
  • 这个 Key 能通过认证吗?
  • 当前服务商支持哪些模型名?

如果 /models 都失败,就不要急着调 /chat/completions。先把基础连通性修好。

curl 获取模型列表

把下面的地址和 Key 换成你自己的:

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

如果使用 OpenAI 官方接口:

curl "https://api.openai.com/v1/models" \
  -H "Authorization: Bearer YOUR_API_KEY"

返回里通常会有模型 id。后续在 Cursor、Dify、n8n 或代码里填写模型名时,应使用这些 id,不要凭感觉写模型名称。

Python 获取模型列表

使用兼容 OpenAI SDK 的服务时,可以这样写:

from openai import OpenAI

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

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

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

在 Cursor / Dify / n8n 中有什么用

Cursor

如果 Cursor 提示模型不可用或 invalid key,先用 /models 看 Key 和 Base URL 是否正常。若模型列表里没有你填写的模型名,就改成列表中存在的模型。

Dify

Dify 添加 OpenAI-API-compatible 供应商失败时,用 /models 可以判断是供应商地址问题,还是 Dify 自身网络环境问题。自部署 Dify 要在服务器上运行 curl。

n8n

n8n 工作流失败时,先用 HTTP Request 节点请求 /models。如果 HTTP Request 成功,说明 Credential 和网络大体可用,再排 OpenAI 节点配置。

常见返回结果怎么判断

返回模型列表

说明 Base URL、API Key 和网络基本正常。下一步检查你填的模型名是否在列表里。

401 Unauthorized

认证失败。检查 Key 是否完整、是否来自同一个服务商,以及请求头是否写成 Authorization: Bearer ...。参考 OpenAI API 401 Unauthorized 怎么解决

invalid_api_key

Key 无效、过期、复制错误或与 Base URL 不匹配。参考 invalid_api_key 是什么原因

404 Not Found

Base URL 路径可能不对。检查是否漏掉 /v1,或是否把 endpoint 拼错。参考 OpenAI API Base URL 怎么填

timeout

网络无法连接。自部署服务要检查服务器出口网络、DNS、防火墙和代理。参考 API timeout 超时解决方法

获取列表后如何选择模型名

选择模型时看三点:

  1. 你的工具是否支持该模型类型。
  2. 模型是否适合任务,比如聊天、代码、长文本、embedding。
  3. 成本和速度是否符合工作流需求。

不要把展示名称当成模型 ID。比如后台可能显示“GPT-4o Mini”,实际模型 ID 可能是 gpt-4o-mini。API 调用里要填模型 ID。

和 model_not_found 的关系

model_not_found 通常说明你请求的模型名不存在、没有权限,或者请求发到了错误的 Base URL。最直接的验证方式就是查 /models

如果列表里没有该模型:换模型名。

如果列表里有该模型但仍报错:检查工具是否真的使用了同一个 Base URL 和 Key。

更多排查见 OpenAI API model_not_found 怎么解决

相关阅读

FAQ

OpenAI Compatible API 一定支持 /models 吗?

大多数兼容服务会支持,但不同服务商兼容程度不同。如果 /models 不支持,要以服务商文档或后台模型列表为准。

/v1/models 和 /models 有什么区别?

如果 Base URL 已经是 https://api.example.com/v1,endpoint 就是 /models。完整地址是 https://api.example.com/v1/models

curl 返回 401 怎么办?

检查 Key、Bearer 认证头和 Base URL 是否属于同一服务商。不要把不同平台的 Key 和地址混用。

获取模型列表需要消耗额度吗?

通常消耗极低或不按生成请求计费,但具体以服务商规则为准。它适合作为连通性测试。

模型列表里没有我想用的模型怎么办?

说明当前服务商或账号暂不支持该模型。换成列表中的模型,或联系服务商确认是否可开通。

下一步

如果你的目标是把模型列表接入 Cursor、Dify、n8n 或自动发布流程,可以先用 /models 固定可用模型名,再到 联系页面 发来你的工具和目标场景,我可以帮你整理一套模型选择表。