1. 先区分“列表失败”的三种症状
| 现象 | 含义 | 优先动作 |
|---|---|---|
| 401/403 | 认证、权限或上游凭据不匹配 | 确认 Key 类型、Bearer 格式和项目权限 |
| 404 | 路径或版本不匹配 | 检查 `/v1`、`/v1beta` 与原生 Gemini 端点 |
| 超时且无网关记录 | DNS、代理、防火墙或请求未到达 | 先查反代和 Cloudflare 规则 |

/v1beta/models 与兼容 /v1/models 分别进入各自认证分支并返回不同错误结构。该结果证明路径和认证格式不能混用,不证明任何模型当前可用。2. 不要把 Gemini 原生路径当成 OpenAI 路径
Gemini 原生接口与 OpenAI 兼容接口的路径和响应结构不同。若你在 New-API 中选择 Gemini 原生上游,应按该上游要求填写版本路径;若使用本站 OpenAI 兼容入口,则 Base URL 为 https://www.codex789.com/v1,调用路径为 /chat/completions,模型代号从模型广场或密钥分组复制。
curl https://www.codex789.com/v1/chat/completions \
-H "Authorization: Bearer API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"MODEL_ID","messages":[{"role":"user","content":"只回复 OK"}],"stream":false}'3. 请求没有到达网关时,优先查 Cloudflare
某社区的 New-API 讨论中,最终解决方案不是修改模型列表,而是关闭误拦截全部 New-API 请求的 Cloudflare 防火墙规则。这类问题的特征是客户端超时或报错,但应用访问日志里没有对应请求。
- 在反代或应用日志中搜索请求时间和路径。
- 确认 DNS 指向当前入口,代理没有把 API 路由发到错误服务。
- 临时用最小请求做对照,记录状态码和响应头。
- 检查 Cloudflare WAF、Rate Limiting 和 Bot 规则命中记录。
- 修正规则后再恢复正式模型和长上下文。
4. 用 AI API 中转站做分层对照
如果官方路径在当前网络环境下难以判断,可以用本站 OpenAI 兼容中转入口做对照:同一客户端只替换 Base URL、API Key 和模型代号。若中转请求成功而原生请求失败,重点检查原生端点、凭据或防火墙;若两条路径都失败,再查客户端与网络。
对照测试只使用脱敏的短提示,不要在日志、截图或社区帖子中暴露 API Key。
5. 用证据闭环验证修复
不要只看 New-API 界面的“模型列表”。一次有效验证至少要同时记录请求 URL、状态码、响应头、网关是否收到请求和最终模型 ID。
- 用
GET /v1/models或控制台等价探针确认认证和路由。 - 再发送关闭流式的最小聊天请求,确认模型真的能生成响应。
- 若列表成功但聊天失败,检查模型分组权限、端点映射和请求体字段。
- 若网关没有记录,回到 DNS、代理、Cloudflare WAF 和路径配置。
修复后连续做两次相同探针,并把时间、请求 ID 和响应摘要保存到脱敏日志,避免把一次偶然成功当成配置已经稳定。
6. 常见问题
模型列表必须自动获取吗?
不一定。某些 Gemini 原生或中转配置需要手动填写模型代号,实际可用列表以当前密钥分组和控制台为准。
Cloudflare 放行后仍然 401 怎么办?
这说明请求已经到达上游,继续检查 Key 类型、Bearer 格式、项目权限和目标端点。
为什么 OpenAI 兼容请求没有 Gemini 原生字段?
兼容层只保证映射的通用字段。需要原生 Gemini 字段时,确认当前网关是否提供原生端点。
本文依据某社区公开主题和本站接口定位整理;社区案例只用于归纳排查方向,不代表所有 New-API、Cloudflare 或 Gemini 版本的固定行为。更新时间:2026-09-01。