OpenAI API 404 模型不存在怎么解决?

更新于 2026-10-24 · runapi.cfd

简答:如果 OpenAI API 返回 404,先不要盲目更换模型:错误 message 提到 model 或资源标识时,使用同一个 API Key 调用 /v1/models;如果 message 指向 URL 或路径,则检查 Base URL、/v1 和 endpoint 拼接。拿到可见模型的 id 后,再用 MODEL_ID 发起最小请求,通常能快速判断是模型、路径还是权限配置问题。

定义:OpenAI API 的 404 模型错误,是请求中的模型标识或其他资源无法被当前请求解析;它不等于所有 HTTP 404 都是模型名称错误。

30 秒速查:先对上你的 404 类型

本站为第三方指南,非 OpenAI 官方,以其官网为准。看到 404 时,先完整保存 HTTP 状态码和 JSON 响应,再看 message 是否明确提到 model、资源 ID、URL 或路径。下面的 JSON 仅用于展示判断方法,字段和原文可能随接口或客户端不同而变化。

响应中出现的线索先检查什么可执行动作
message 提到 model、模型 ID 或资源不可用model 字符串、当前 Key 可见模型、项目范围用同一个 Key 调用 /v1/models,复制返回对象的 id
message 指向 URL、路径或 endpointBase URL、是否重复或缺少 /v1、接口路径记录最终请求 URL,对照 API Reference 检查 endpoint
实际返回 401、403、400 或 429认证、权限、请求格式或限流按实际状态码处理,不继续把问题当作 404 模型错误

官方错误文档将 NotFoundError 解释为请求资源不存在,将 PermissionDeniedError 解释为没有访问请求资源的权限;因此,404 本身不能证明一定是模型拼写错误。查看 OpenAI 错误代码说明。

模型线索示例:

{"error":{"message":"The requested model or resource is not available to this request","type":"...","param":null,"code":"..."}}

路径线索示例:

{"error":{"message":"Invalid URL or endpoint path","type":"...","param":null,"code":"..."}}

上面两段是占位示意,不是官方承诺的固定响应文本。判断重点是错误 message 实际指向模型资源,还是指向 URL、路径或 endpoint。

先跑这一条:用同一个 Key 列出可访问模型

OpenAI 的 List models 接口是 GET /v1/models,返回模型对象中的 id 是可以用于 API endpoint 的模型标识。先列模型,再把返回的 id 复制到生成请求中,比凭记忆填写模型名称更可靠。查看官方 List models 参考。

curl -sS https://api.openai.com/v1/models -H "Authorization: Bearer $OPENAI_API_KEY"

  • 命令需要在已经设置 OPENAI_API_KEY 的同一终端中运行。
  • 列模型请求和后续生成请求必须使用同一个 API Key、Base URL、组织和项目范围。
  • 从返回 JSON 的 data 数组中复制完整的 id,不要复制模型标题、说明文字、前后空格或换行。
  • 如果这一步返回 401 或 403,先处理密钥、组织、项目或权限问题;此时继续修改 model 通常没有帮助。

模型对象的公开字段包括 id、created、object、owned_by,当前参考还列出了可选的 shutdown_date 字段。因此,旧代码中的模型名不能自动视为当前仍可用,应以当前接口返回和模型目录为准。核对模型列表字段。

用 MODEL_ID 发起最小请求,不要直接猜模型名

从 /v1/models 得到实际模型 ID 后,把它保存为 MODEL_ID,再测试一个最小 Responses 请求。下面的单行命令不含密钥,也不假设某个具体模型一定存在:

curl -sS -i https://api.openai.com/v1/responses -H "Content-Type: application/json" -H "Authorization: Bearer $OPENAI_API_KEY" -d '{"model":"MODEL_ID","input":"Reply with OK"}'

请将 MODEL_ID 替换为同一个 Key 从模型列表中看到的实际 id。Responses API 使用 /v1/responses,请求体包含 model 和 input;官方迁移说明也明确区分了 /v1/chat/completions 与 /v1/responses。查看 Responses 创建接口 查看接口迁移说明。

如果你使用 Python SDK,可以先用同一个环境变量运行这个最小示例。示例中的模型仍然是占位符,必须替换为你的模型列表中实际存在的 ID:

from openai import OpenAI client = OpenAI() response = client.responses.create(model="MODEL_ID", input="Reply with OK") print(response.output_text)

官方 Python 参考使用 client.responses.create 发送请求,并通过 response.output_text 读取文本结果。查看官方 Python API 参考。

按顺序排查模型、Base URL、Key 和项目

  1. 确认实际发送的 model。在调试日志中只记录请求体里的 model 字符串,不要记录 API Key。检查大小写、前后空格、换行、旧版本后缀,以及是否把网页展示名误填进了模型字段。模型列表接口的 id 才是后续 endpoint 使用的模型标识。核对模型 ID 定义。
  2. 确认两次请求使用同一个身份范围。列模型和生成请求不能一个使用新 Key、另一个使用旧 Key,也不能一个请求发往官方 API、另一个发往兼容网关。官方 API 支持通过 OpenAI-Organization 和 OpenAI-Project 请求头指定组织和项目。查看认证、组织和项目请求头。
  3. 检查 Base URL 是否只拼接一次版本路径。官方 REST API 当前使用 v1,例如 Responses 请求的完整路径是 https://api.openai.com/v1/responses。如果 SDK 的 base_url 已经包含 /v1,就不要再让客户端重复追加;如果 Base URL 已经是完整 endpoint,也不要再次拼接 /responses。查看官方 API Reference 总览。
  4. 确认接口类型一致。Chat Completions 使用 /v1/chat/completions 和 messages;Responses 使用 /v1/responses 和 input。不要只替换模型名,却保留另一种接口的 URL 或请求体。查看 Chat Completions 与 Responses 的区别。
  5. 最后处理模型停用或不可见。如果过去能调用、现在模型列表不再返回对应 ID,先以当前模型列表和目录信息为准,再检查项目设置或联系项目管理员。List models 参考列出了模型可用性相关的基础信息和可选的 shutdown_date 字段。查看模型可用性字段。

官方 OpenAI、Azure 和兼容接口不要混填

接入方式model 通常应填写404 时先核对
官方 OpenAI API同一个 Key 调用 /v1/models 返回的模型 id官方 Base URL、模型列表、组织和项目
Azure OpenAI部署名称,而不是直接假定使用官方模型名Azure endpoint、deployment name、API 版本和认证方式
第三方 OpenAI 兼容接口该服务文档或模型列表定义的模型名该服务的 Base URL、模型目录、认证头和路径
本地网关或路由器路由配置中映射的模型名路由规则、上游模型名和网关最终请求日志

Azure 官方说明明确指出,OpenAI API 使用模型名,而 Azure OpenAI API 调用需要部署名,即使请求字段仍然叫 model。因此,不要把官方 OpenAI 的模型 ID 直接复制到 Azure 部署配置中。查看 Microsoft 的 endpoint 切换说明。

“OpenAI 兼容”只表示接口形状可能相似,不代表模型目录、权限体系、Base URL 和错误结构完全一致。使用其他服务时,应以该服务自己的模型列表和接口文档为准。

排查结束前的最终清单

  • 模型:请求体中的 model 是否与当前 Key 的模型列表返回的 id 完全一致?
  • Base URL:是否发往预期服务,是否重复或缺少 /v1?
  • 路径:Responses 是否使用 /responses,Chat Completions 是否使用 /chat/completions?
  • Key:列模型和生成请求是否使用同一个密钥与环境变量?
  • 项目:是否指定了正确的组织和项目,是否存在项目级访问限制?
  • 请求体:接口路径与 model、input 或 messages 是否匹配?
  • 状态码:如果实际返回 401、403、400 或 429,应转到认证、权限、请求格式或限流排查,而不是继续按 404 处理。查看官方错误分类。
  • 支持信息:持续报错时保存模型、错误文本、请求数据、请求时间和时区,并删除 API Key 等敏感内容。查看官方持续错误排查建议。

常见问题

为什么 /v1/models 能看到模型,生成请求仍然返回 404?

先比较两次请求的 API Key、Base URL、组织、项目和实际 model 值。最常见的定位方向是:列模型请求发往一个服务,而生成请求发往另一个网关;或者代码里发送的模型字符串并不是列表返回的完整 id。模型列表接口返回的 id 才是后续请求应核对的值。查看 List models 参考。

网上看到的模型名可以直接填进 model 吗?

不建议。示例模型名不等于你的 API Key 当前可访问,也不等于所有接口都支持。使用占位符 MODEL_ID,先从当前请求范围的模型列表复制实际 id,再发起最小请求。

404 模型错误和 403 权限错误怎么区分?

404 侧重检查请求资源或标识是否存在,403 则应重点检查是否有权访问该资源。官方错误文档将 NotFoundError 与 PermissionDeniedError 分开说明,所以看到 403 时不要只更换模型名,应核对 API Key、组织、项目和资源权限。查看官方错误类型。

SDK 配置 base_url 后变成普通 404,怎么办?

记录最终请求 URL,检查 Base URL 是否已经包含 /v1,客户端是否会自动追加版本路径,以及是否把完整 endpoint 再次拼接了一遍。如果错误 message 指向 URL、路径或 endpoint,而不是 model,应先修正地址和接口路径。API Reference 总览提供了 endpoint、认证和调试请求说明。查看 API Reference 总览。

常见问题

OpenAI API 404 模型不存在的第一步是什么?

使用同一个 API Key 调用 /v1/models,确认目标模型的实际 id 是否出现在返回列表中;不要先凭记忆更换模型名。

模型 ID 在列表中,为什么请求仍然 404?

比较列模型与生成请求的 API Key、Base URL、组织、项目和实际 model 值,并检查是否重复或缺少 /v1,以及是否混用了 Responses 和 Chat Completions 路径。

Azure OpenAI 可以直接使用官方模型 ID 吗?

不能直接假定。Azure 官方说明 API 调用需要使用部署名称,即使请求字段仍然叫 model;应以 Azure endpoint 和 deployment 配置为准。

普通路径 404 怎么判断?

如果错误 message 指向 URL、路径或 endpoint,而不是 model 或模型资源,先记录最终请求 URL,再检查 Base URL、/v1 和具体 endpoint。

相关阅读

参考资料

  1. Error codes | OpenAI API
  2. List models | OpenAI API Reference
  3. API Overview | OpenAI API Reference
  4. Create a model response | OpenAI API Reference
  5. OpenAI Python API library | OpenAI API Reference
  6. Migrate to the Responses API | OpenAI API
  7. How to switch between OpenAI and Azure OpenAI endpoints | Microsoft Learn
温馨提示
置顶

【RunAPI 新域名启用通知】
https://runapi.host
原域名 runapi.cfd 需要使用代理才能访问,RunAPI 现已启用新域名: https://runapi.host

新域名可直接访问,账户、余额及服务数据均不受影响。(注意:新域名在非代理环境下只可见国内模型,api调用不受影响)

2 个月前 · 2026-08-07 11:30

claude-haiku-5.5已上线

14 小时前 · 2026-10-09 12:14

gemini-nano-banana-2.1已上线

1 天前 · 2026-10-08 21:58

🎉 国庆限时充值 9 折! 10 月 2 日 18:00:00 — 10 月 7 日 23:59:59,点击任意额度充值并选择支付宝支付,支付页面将自动享受 9 折优惠!

⚠️ 本次优惠仅限支付宝支付,Creem 支付暂未同步折扣,仍按原价结算。

1 周前 · 2026-10-02 19:02

gpt-6.1-sol已上线

1 周前 · 2026-10-01 23:20

claude-sonnet-5-5已上线
coding和claude_normal分组可使用

1 周前 · 2026-09-29 18:20

claude-opus-5-5, gpt-6-sol已上线

2 周前 · 2026-09-23 14:11

grok-4.7上线,grok、default分组可用
支持chat, responses,messages格式

2 周前 · 2026-09-22 13:35

【分组更新通知】
deepseek-sale分组上线,价格5折,支持v1/messages;v1/responses;v1/chat/completions格式请求

deepseek-v4.1-flash同步上线

提示:glm-sale和kimi-sale分组价格5折,接口均服务正常

3 周前 · 2026-09-13 23:10

gpt-image-2.5上线

0 个月前 · 2026-09-10 21:49

因官方下架gpt-5.4模型,平台codex分组已同步下架,需要调用该模型可切换至default/plus分组使用

1 个月前 · 2026-09-06 16:27

gpt-6-astra已上线

1 个月前 · 2026-09-05 14:58

gemini-3.8-flash已上线

1 个月前 · 2026-09-05 04:06

claude-fable-5-1已上线

1 个月前 · 2026-09-03 13:33

【分组更新通知】
1.kimi-sale分组5折
2.glm-sale分组5折
3.grok分组降价为0.7折,资源为grok heavy
以上均可通过v1/chat/completions;v1/responses;v1/messages格式调用

1 个月前 · 2026-09-03 10:50

glm-5.3, glm-5.3-flash
qwen3.8-flash, qwen3.7-flash
均已上线,default分组即可调用

1 个月前 · 2026-08-27 22:46

【公告】关于模型访问受限域名的处理说明
为遵守相关合规要求,平台已对模型访问政府类网站(gov域名)实施限制。
若您在对话过程中遇到提示“内容审计命中风险规则,请调整输入后重试”的报错,烦请移除对话中涉及的gov相关链接后再重新请求。
感谢您的理解与配合。

1 个月前 · 2026-08-22 22:11

最近codex更新后,如果遇到“401 token not provided”这个错误,是因为环境变量失效,重新配置后重启codex即可

1 个月前 · 2026-08-22 00:51

gemini-3.7-flash上线

1 个月前 · 2026-08-15 23:21

grok-4.6
qwen3.8-max
均已上线

1 个月前 · 2026-08-13 15:49