用 OpenAI 连续改一张图,怎样保存每轮参考图和可回到的版本
每轮编辑都保存父版本、修改意图、响应引用和源图摘要,再从用户实际选中的父版本构造下一轮。两条方案都从原图分叉时,它们应共享同一父节点,不能让“最后收到的结果”自动替代用户选中的图。
版本身份不靠图片文件名猜测
附件用v0蓝方块、v1绿方块、v2橙圆形三张本地合成PNG说明关系,versions.json记录每张图的父版本、意图与摘要。v1和v2都来自v0,表示两个独立修改方向,不是v2继续修改v1。真实模型返回时,应保存实际响应与图片定位,并确认下载文件摘要对应哪轮;单纯把文件都叫output.png会丢掉这层关系。
上下文引用与用户意图一起发送
OpenAI图像生成指南支持在多轮上下文中继续编辑。包内unsent-requests.json选择previous_response_id路径,两个请求都引用合成父响应resp_synthetic_0,并携带各自的修改意图。真实使用前必须换成可用的响应引用与当前支持模型,不能发送这些合成id。若父轮没有可用图像上下文,强制edit并不能凭文字自动找回图片,应重新提供官方支持的图像输入。
预览树帮助选择回退点
version-tree.html将三张图与父节点并排展示,读者可以确认分叉语义。版本链的作用是解释每轮输入来自哪里,不保证视觉角色、构图或细节完全一致。决定回退时,应从已保存版本选择父节点再建立新子项,保留失败尝试,避免把旧记录直接改成新图导致历史失真。摘要用于确认文件是否改变,不衡量两图视觉相似度。
文件丢失与引用失效都需处理
失败命令模拟父图本地缺失,程序停止而不是继续“再改一下”。真实响应引用是否可用还受接口、存储与账户条件影响,本例没有测试这些条件,也不承诺可回溯期限。下载包仅演示谱系和未发送请求,没有调用图像生成模型;三张几何图之间的变化是脚本绘制结果。若要声称编辑质量稳定,需要真实任务、明确人工评审与原始调用记录,不能用这个离线版本树代替。
每轮用户确认可记录为选中状态,但不要删除未选分支。以后要求“回到第一版再改颜色”时,应该明确第一版的实际id,而不是按当前缩略图显示顺序找第一张;排序变化不应改变引用到的父图。
下载与复现
下载完整样例包,解压到一个新文件夹;也可查看全部文件清单和主脚本。使用Python 3.10或更新版本,在解压目录运行。依赖写在安装清单,建议在自己创建的虚拟环境安装。
python -m pip install -r requirements.txt
python -B run.py
python -B run.py --negative
先查看主要结果,再修改输入重跑;已有输入会保留,结果写回同目录。边界命令可能故意非零退出,也可能输出明确的不适用状态,按正文说明判断,不把所有非零退出都当成安装故障。
依据与延伸阅读
资料核对日期为2026年10月24日。一手资料1:Responses图像工具支持多轮上下文和previous_response_id引用,edit需要图像上下文。
继续阅读:第 9 课的图像生成应用:微软生成式 AI 入门课里请求怎么发、结果怎么取;OpenAI 局部改图的黑白选区怎样变成可用的透明蒙版;Responses 对话想试两种方案,怎样从同一轮分叉而不把另一条支线带进来。
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。