TROUBLESHOOTING / CODEX / IMAGE OUTPUT
Codex 生图不显示或没保存,先找出图片停在哪一层
看到“生成完成”不等于磁盘上已经有文件。先分清工具是否可用、任务是否仍在运行、结果是否只在界面或会话中、是否缺少输出路径,以及请求是否其实在网关/API 层失败。
START HERE / PRESERVE THE RESULT
先不要重新生成
重复点击或重发提示词可能启动第二次图片调用,并让原始现场更难判断。先记录使用的 Codex 界面、版本、操作系统、提示词发送时间、最后一个可见状态,以及界面中是否出现过图片或路径。不要关闭、归档或清理原会话。
- 工具不可用没有图片生成调用,或 Codex 明确说当前没有可用的图片生成功能。
TOOL - 仍在生成或等待状态还是 generating,或会话正等待批准、网络响应或运行结束。
RUN - 结果只在界面或会话能看到预览或会话结果,但没有证据表明已经创建磁盘文件。
SESSION - 缺少 saved_path / 输出路径调用似乎有结果,但没有可用路径,工作区也没有新文件。
DISK - 网关或 API 失败出现 HTTP 错误、超时或结构化错误;图片可能根本没有生成完成。
API
DECISION TREE / ONE BRANCH AT A TIME
用四个问题确定下一步
- 本轮出现了真实的图片生成调用吗?没有,或明确提示功能不可用:走“工具不可用”。有:继续看状态。
- 状态已经结束,而不是 generating 或等待批准吗?没有结束:保留会话并等待或取消,不要并行重试。已经结束:继续看结果。
- 界面中有可查看的图片吗?有:先把它当作“仅界面结果”,再确认磁盘文件。没有:检查是否有明确 API 错误或输出路径。
- Codex 给出的路径指向一个真实、可打开的图片文件吗?是:问题已缩小为界面预览。否或没有路径:走“缺少 saved_path”,保留证据并报告。
SAFE CHECKS / NO SECRET, NO SECOND CALL
按所在层做可复现检查
1. 工具不可用:使用官方入口名称再确认一次
OpenAI 的 Codex 图片生成文档说明,CLI、App 或 IDE 中可以在提示词里显式加入 $imagegen。如果显式调用后仍提示技能或工具不可用,或本轮完全没有图片生成调用,就不要把它误判为“生成了但没保存”。不同 Codex 界面的版本和功能到达时间也可能不同。
使用 $imagegen 生成一张 64 × 64 的纯色测试图。
将最终 PNG 保存到当前工作区的 ./artifacts/codex-image-check.png,
并只报告真实存在的工作区相对路径;如果没有保存,请明确说“未保存”,不要猜路径。
这段最小提示词会发起新的图片请求,只用于确认工具是否可用;在原任务仍运行时不要执行。图片功能也可能受计划或工作区设置影响,应该按你正在使用的 Codex 界面核对官方文档。
2. 仍在生成:先看批准和终止状态
如果状态仍是 generating,先检查 Codex 是否在等待批准。官方排障建议在卡住时确认批准状态,并用一个基本终端命令判断终端是否仍响应。此时不要同时发送第二个图片请求。
git status
git status 只能证明终端和 Git 工作区可响应,不能证明图片已经生成或保存。任务明确成功、失败或被取消后,再进入下一层。
3. 图片只在界面或会话:要求确认现有结果,不要重生成
在原会话发送下面的核对请求。它要求 Codex检查已有结果,不应再调用生成:
不要重新生成。只检查本轮现有结果:
1. 如果磁盘文件已经存在,返回工作区相对路径和文件类型;
2. 如果结果只存在于界面或会话、没有文件,明确回复“未保存”;
3. 不要猜路径,不要输出 base64、凭证或完整日志。
如果回答给出路径,在同一终端先确认当前目录,再看工作区变化:
pwd
git status
这两个命令不会搜索工作区之外的目录,Git 忽略的文件也可能不显示。因此路径本身必须真实可打开;不要把“默认应该在某个目录”当作保存证据。
4. 记录准确版本
官方排障文档给出了 CLI 和 macOS App 内嵌 CLI 的版本检查方式。Windows 用户可从 Codex 的 About 对话框记录 App 版本。
codex --version
/Applications/Codex.app/Contents/Resources/codex --version
KNOWN REPORT / NOT A UNIVERSAL DIAGNOSIS
result 有数据但没有 saved_path 是什么情况?
OpenAI Codex 仓库的公开 Issue #32153 曾报告:图片数据进入本地 session 记录,但状态停在 generating,没有显示、没有保存,也没有 saved_path。该 Issue 已于 2026-07-16 关闭;报告中的版本和现象不能证明你当前遇到的是同一个缺陷。
如果你的可见症状一致,安全做法是保存原会话、记录版本和时间,并提交脱敏复现。不要把 session 中的大段 base64 贴到 Issue,也不要把社区提供的 session 提取脚本当作默认修复:这会接触本地会话内容,可能暴露提示词、路径或私人数据。
saved_path 是诊断线索,不是承诺公开 Issue 中出现这个字段,不代表所有 Codex 界面、所有版本或所有图片调用都必须向用户展示同名字段。对用户最可靠的判断仍是:是否得到一个真实、可打开的文件。API BRANCH / FIX THE REQUEST FIRST
有 HTTP 错误或超时,就先排网关/API
如果界面已经显示 4xx、5xx、超时或网关返回的结构化错误,先不要继续寻找保存路径。此时请求可能没有产生完整图片结果,持久化不是首要问题。按你实际使用的官方服务或网关文档核对图片端点、模型权限、额度和支持的请求格式。
| 可见信号 | 先做什么 | 不要做什么 |
|---|---|---|
| 401 / 403 | 确认凭证来源、账户权限和图片模型授权 | 不要在聊天、截图或 Issue 中粘贴 Key |
| 400 / 404 | 按提供方文档核对图片端点、模型名和请求能力 | 不要因为文本接口可用就假定 Images API 也兼容 |
| 429 | 等待配额或限流恢复,保留原始请求时间 | 不要并行重试绕过限制 |
| 5xx / timeout | 记录时间、请求 ID(如有)和已脱敏错误 | 不要把超时写成“图片已生成但没保存” |
“OpenAI-compatible”可能只覆盖文本接口。是否支持 Images API、图片编辑、返回格式和等待时长,需要由端点提供方分别说明和验证。
BUG REPORT / REDACT BEFORE SHARING
提交一份能复现、但不泄密的报告
Codex 官方排障文档建议先搜索 现有 Issues,再通过 Codex 的反馈入口或 Bug report 模板提交。日志在分享前必须人工检查。
- Codex 界面(App、CLI 或 IDE)、精确版本、操作系统与架构。
- 最小复现提示词、发生时间和时区,以及任务最后显示的状态。
- 是否出现图片预览、是否返回路径、该路径是否真实可打开。
- 是否看到 HTTP 状态、请求 ID 或等待批准;错误只保留必要片段。
- 预期结果与实际结果,以及同一会话重试是否会产生额外调用。
TWO DIFFERENT PATHS
先继续修 Codex;需要独立流程时再看 Image2
Image2 Studio 不能修复 Codex,也不是 Codex 配置工具。它是独立的本地桌面图片工作流,只适合已经合法拥有 OpenAI 兼容 Images API 端点和 Key 的用户。Image2 不隶属于 OpenAI 或 Sub2API,不保证任意网关兼容,也不提供或背书中转服务。
如果你的目标仍是找回本轮 Codex 结果,继续走 Codex 官方排障和反馈路径。只有当你本来就希望把图片任务与编码会话分离,再评估 Image2;宣传站不会接收 Key。
Image2 当前安装包未签名,系统可能显示安全提示。下载前请阅读安装与连接指南,并只使用你有权使用的端点与凭证。SOURCES / EVIDENCE LEVELS
来源与证据边界
- 官方文档:Codex 图片生成,用于核对
$imagegen、界面差异和可用性边界。 - 官方文档:Codex 排障,用于版本、卡住状态、反馈、日志位置和脱敏要求。
- 项目公开报告:openai/codex #32153,记录特定旧版本下 result 存在但缺少显示、保存和
saved_path的已关闭报告。 - 社区报告:Linux.do 用户报告与 r/codex 用户报告说明有人遇到 UI 可见或磁盘不可见的症状;它们是个案,不是官方结论、普遍发生率或市场规模证据。
- API 参考:OpenAI 图片生成 API 指南,仅用于理解官方 API;第三方端点应以各自文档和实际测试为准。