model not found:模型名填错还是当前 Key 没权限?

完整报错通常类似:

{
  "error": {
    "message": "The model `xxx` does not exist or you do not have access to it.",
    "type": "invalid_request_error",
    "code": "model_not_found"
  }
}

后半句 or you do not have access to it 才是重点:对这把 Key 来说,这个 ID 不可见。不一定是你拼错了。

对照图:不要填 GPT-4o 这种显示名,要填 gpt-4o 这种接口 ID

五种常见原因

  1. 填了展示名。 界面上的「GPT-4o」「Claude 3.5 Sonnet」不是接口字段。接口要的是 gpt-4oclaude-sonnet-4-20250514deepseek-v4-pro 这种 ID。以你用的那家控制台或 GET /v1/models 为准。
  2. 当前账号没开通。 同一串模型名,A 的 Key 能用、B 的 Key 404,就是权限 / 层级 / 地区,不是软件坏了。
  3. 接口和模型不匹配。 聊天模型打到旧的 /v1/completions,或反过来。Cursor 里部分新模型走 /v1/responses,自定义兼容端若只实现了 Chat Completions,也会 404,报错还可能写成「这不是 chat 模型」。
  4. 模型已下线或改名。 旧教程里的 ID 会失效。以当前模型列表为准,不要抄一年前的博客。
  5. Azure / 其他云和 OpenAI 官方混用。 Azure 要部署名(deployment name),不是 gpt-4o 这种公开 ID。客户端仍指向 api.openai.com 时,表现也是找不到模型。

DeepSeek 要填文档里的 id

DeepSeek 文档当前的调用名是 deepseek-v4-flashdeepseek-v4-pro 等,不是宣传页大标题。旧文里的 deepseek-chat / deepseek-reasoner 若已经对不上控制台,以 官方「首次调用 API」 表格为准。

两分钟核对

  1. 用同一把 Key 调 GET {Base URL}/models(注意 Base URL 不要已经含完整 chat 路径)。
  2. 返回列表里有没有你填的那个字符串。没有 → 换列表里的 id,或换有权限的 Key。
  3. 列表里有、聊天仍 404 → 查是不是打错了 /chat/completions vs /responses vs /completions
  4. Cursor Verify 失败但 curl 通 → 软件可能改写了路径,或 Override Base URL 把内置模型也转发出去了。

和 401、404 路径错误分开

  • 401:门禁,Key / 头不对。见 401 排查
  • 404 且路径里有 /v1/v1:Base URL 拼重了。见 Base URL 要不要加 /v1
  • model_not_found:门禁过了,但模型 id 对这把 Key 无效。

参考

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏