简介:ComfyUI/QwenImageEdit 商品模特分裂展示图生图工作流,定位为电商详情页与广告图中的商品模特分裂展示方案,适合需要快速产出多类目商品展示图的运营、设计师及ComfyUI进阶学习者。整个资源仅1个json文件,压缩包大小14KB,属于轻量型工作流配置,导入ComfyUI后即可复用QwenImageEdit模型的图生图能力,完成24类商品模特分裂展示的批量出图。目前已有74人学习下载,虽然体量小巧,但工作流节点串联了提示词组织、模型调用、图像分割与组合展示等关键环节,便于理解从单张商品图到分裂式展示图的完整生成链路。借助该json可免去从零搭建节点的繁琐步骤,直接作为二次开发底座,也可对照学习各模块参数设置与连接方式,为自定义商品展示模板提供参考。同时,json中保存的节点坐标与连线关系可在ComfyUI中快速定位和调整,适合在此基础上扩展更多展示风格。
1. ComfyUI 商品分裂展示图:不是换背景,是重构构图逻辑
做电商设计的人应该都遇到过这种需求:甲方给一张白底商品图,要求出“模特上身、左右分裂、多视角陈列”这种展示效果。以前的办法是 PS 里手动抠图、复制图层、调透明度,一张图折腾半小时。这套 ComfyUI + QwenImageEdit 工作流解决的正是这个场景——它把“商品分裂展示”做成了一条可复用的图生图流水线:输入一张商品图,一次跑出 24 类不同构图方案的分裂展示效果,覆盖服装、鞋帽、美妆、数码、家居等主流类目。
这套资源的实物是一个 c0162.rar 压缩包,里面是 c0162.json 工作流文件和一个配套的工作流说明。它依赖 ComfyUI 环境和 QwenImageEdit 图像编辑模型。值得说明的是,它做的不是简单的“抠图换背景”,而是通过 QwenImageEdit 的指令编辑能力,让模型理解“哪部分是商品、哪部分是展示区域”,再按分裂构图的 prompt 重新组织画面。适合已经跑通 ComfyUI 基础流程、想做电商场景落地的设计师和 AIGC 从业者,也适合手里有 ComfyUI 整合包但不知道拿模型干什么的人。
2. 环境准备与模型选型:QwenImageEdit 为什么适合做商品分裂展示
2.1 从 ComfyUI 到 QwenImageEdit 的链路构成
ComfyUI 本身是节点式工作流引擎,它不限制你用什么模型。QwenImageEdit 是阿里开源的图像编辑模型,支持文本指令驱动的局部修改和整体重绘。这套工作流把两者接起来,形成了“读图 → 解析指令 → 重构构图 → 输出多方案”的完整链路。
在 ComfyUI 里跑 QwenImageEdit,本质上是在跑一个文本条件生成的 Diffusion 模型。但 QwenImageEdit 和普通文生图模型不同,它接收的是三部分输入:原始图像、编辑指令(英文 prompt)、还有控制编辑强度的参数。工作流里常见的做法是:
- 用 Load Image 节点读入商品原图;
- 用 CLIP Text Encode 节点把 “split view, product showcase, two pieces side by side” 这类指令编码成条件向量;
- 把图像和条件向量一起送进 QwenImageEdit 的采样器;
- 用 VAE Decode 输出最终结果。
整个链路不算长,但每个节点的参数都会直接影响最终构图质量,尤其是 denoise 强度和图生图的重绘幅度。这套工作流在 QwenImageEdit 上跑的时候,我一般把 denoise 控制在 0.6~0.8 之间,太低出不来分裂效果,太高商品细节会被改坏。
2.2 模型下载与目录放置
如果你用的是 ComfyUI 秋叶整合包,模型目录通常是ComfyUI/models/checkpoints/或者ComfyUI/models/diffusers/,具体取决于整合包版本。QwenImageEdit 有 diffusers 格式和单文件格式两种,这套工作流用的是 diffusers 格式,因为它在 ComfyUI 里需要配合专门的 QwenImageEdit 节点包使用。
安装步骤按顺序来:
# 1. 安装 ComfyUI 的 QwenImageEdit 支持节点(如果你还没装) cd ComfyUI/custom_nodes git clone https://github.com/模型作者/QwenImageEdit-ComfyUI.git cd QwenImageEdit-ComfyUI pip install -r requirements.txt # 2. 下载模型到指定目录(diffusers 格式需要保持目录结构) # 建议用 huggingface-cli 下载,断点续传更稳 huggingface-cli download Qwen/Qwen-Image-Edit --local-dir ComfyUI/models/diffusers/Qwen-Image-Edit这里有个容易踩的坑:很多整合包自带的 ComfyUI 版本较老,QwenImageEdit 节点要求 ComfyUI 版本在某个特定 commit 之后。如果你加载工作流时报 “node type not found” 或者 “model not found”,优先检查两件事:节点包有没有装进custom_nodes,以及 ComfyUI 管理器里有没有报红色依赖错误。版本不匹配时不要硬跑,直接更新整个 ComfyUI 到最新版更省事。
模型文件比较大,下载时间取决于网络条件,建议用带断点续传的工具,不要用浏览器直接下。我一般下完后会先看一眼model_index.json是否存在,这个文件是 diffusers 格式的标志,缺了它 ComfyUI 认不出模型结构。
2.3 为什么不是 SD 或 Flux
这可能是很多人最困惑的地方:ComfyUI 里能出图的模型那么多,SD1.5、SDXL、Flux 都行,为什么这套工作流选 QwenImageEdit?
区别在于“编辑能力”。SD 系列模型在做图生图时,对构图的控制主要靠 ControlNet 和遮罩,你想让模型“把一只鞋分裂成左右两只展示”,SD 需要你先准备好姿态图或深度图,然后才能引导生成。这套流程的搭建成本很高,每换一个商品类目都要重新调姿态图。
QwenImageEdit 的路径不一样。它训练时就用了大量指令编辑数据,你直接把文本指令写清楚,模型自己理解“分裂、并排、多视角”是什么意思,不需要额外的控制条件。对商品图这种背景相对干净、主体明确的输入,QwenImageEdit 的输出稳定性和构图合理性明显更好。这也是这套工作流只依赖一个 JSON 文件就能跑通的原因——没有 ControlNet 节点、没有遮罩预处理,纯粹靠模型能力。
3. 工作流核心拆解:从 JSON 里读出 24 类构图的秘密
3.1 c0162.json 的节点结构与关键参数
打开 c0162.json,你会发现它的节点数量不算多,但对普通 ComfyUI 用户来说,各种节点连线还是容易看晕。我把它的核心结构拆成几个必要部分:图像输入、文本编码、采样器、解码输出,再加上一组“构图选择”节点。
这组构图选择节点是整套工作流的灵魂。它本质上是多个预置的 prompt 模板和 seed 组合,通过切换参数来控制输出哪一种分裂展示效果。常见的切换逻辑有两种:一种是通过 KSampler 的 seed 变化配合固定 prompt 出不同构图,另一种是通过 prompt 模板的动态拼接来切换分裂方式。c0162.json 里用的是后者,它把 24 类商品的分裂方式写成了文本模板,每次只需要改一个文本输入框里的模板编号。
{ "3": { "class_type": "CLIPTextEncode", "inputs": { "text": "split view product photography, {commodity_type} on both sides, clean background, e-commerce style, high quality, 4k", "clip": ["4", 0] } }, "5": { "class_type": "KSampler", "inputs": { "seed": 7, "steps": 25, "cfg": 7.0, "sampler_name": "euler", "scheduler": "normal", "denoise": 0.7, "model": ["2", 0], "positive": ["3", 0], "negative": ["7", 0], "latent_image": ["8", 0] } } }上面这段是工作流里最核心的采样参数。steps 25 是速度和质量的折中点,cfg 7.0 是 QwenImageEdit 比较舒服的提示词遵循度区间。注意{commodity_type}这个占位符,它就是你切换 24 类商品时唯一需要改的地方——改成 shoe、dress、cosmetic、smartphone 等关键词,模型就知道这次要处理的是哪类商品。
这里要特别说明一下 seed 的作用。同一套 prompt 和商品图,换 seed 会得到不同构图;固定 seed,输出可复现。如果你在调试时发现某类商品的分裂效果总是不对,先把 seed 固定在一个值上,然后微调 prompt 里的形容词,会比同时改多个参数容易定位问题。
3.2 正向提示词与负面提示词的组织方式
这套工作流对提示词的组织方式和普通文生图不同,它的正向提示词分两层:基础质量描述 + 分裂模式描述。基础质量描述管“画面干不干净、清不清晰”,分裂模式描述管“商品怎么摆”。两者用逗号连接,顺序上有讲究——靠前的词权重更高。
我拆过这套 JSON 里实际使用的正向提示词模板,大致是这么组织的:
professional product photography, white background, soft shadow, {mode}, {commodity_type}, centered composition, commercial use, high detail其中{mode}就是分裂模式,可能取值是left right split view、top bottom comparison、triple angle display、quarter turn sequence等。{commodity_type}是商品类目。这种组织方式的优点是:改构图只动 mode 一个变量,不干扰其他质量词,模型不会因为你改了构图就把画面质量整体带崩。
负面提示词在这套工作流里也起到了关键作用。QwenImageEdit 虽然编辑能力强,但对电商图仍有几个常见误伤点:手指畸形(模特持物时)、文字水印残留、商品边缘模糊。工作流里预置了负面提示词,我打开看大概是这样的:
lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, jpeg artifacts, watermark, blurry, deformed, disfigured, extra limbs, fused limbs实际跑图时,负面提示词作用显著。我测试过一次删掉负面词的版本——商品边缘开始出现虚影,白色背景也带了淡淡的灰色色块。这个教训说明:QwenImageEdit 同样吃负面提示词,不要因为它宣传“指令编辑”就忽视负面词的作用。
3.3 一张图出多方案:工作流的批量输出逻辑
单张商品图只出一张分裂展示图显然效率不够。这套工作流在批量输出上也做了设计:通过修改 output 节点的保存前缀和采样器的 seed 列表,可以一次跑出多张结果。ComfyUI 本身就支持 batch size 参数,但 c0162.json 的做法更偏实用——它把 seed 做成了一组固定序列,每换一个 seed 就是一套新构图。
批量跑图时要注意显存占用。QwenImageEdit 的参数规模不小,扩散模型在采样阶段会占用大量显存,一次 batch 里放太多张图容易爆显存。常见做法是单次采样 batch size 设为 1,然后用脚本循环改 seed 连续跑,跑完自动存图。如果你手动改 seed 跑 24 类商品,工作量不小,但工作流文件本身已经在输出节点配好了自动命名规则,每张图会按时间戳加 seed 号命名,不怕覆盖。
4. 24 类商品落地实战:参数对照表与分步操作
4.1 24 类商品的分裂模式对照表
工作流文件里默认配置了 24 类商品的分裂展示模板,每一类商品的 prompt 关键词和推荐的分裂模式不同。我从工作流 JSON 里把所有模板整理了一遍,核心对应关系如下:
| 商品类目 | 关键词写法 | 推荐分裂模式 | 关键参数建议 |
|---|---|---|---|
| 服装(上装) | t-shirt / hoodie | left right split | denoise 0.7, cfg 7.0 |
| 服装(下装) | jeans / trousers | left right split | denoise 0.7, cfg 7.0 |
| 连衣裙 | dress / gown | top bottom comparison | denoise 0.8, cfg 7.5 |
| 鞋子 | sneaker / boot | quarter turn sequence | denoise 0.7, cfg 7.0 |
| 帽子 | cap / hat | angle rotation display | denoise 0.6, cfg 6.5 |
| 箱包 | backpack / handbag | left right split | denoise 0.7, cfg 7.0 |
| 手表 | watch | closeup dual view | denoise 0.8, cfg 7.5 |
| 眼镜 | glasses / sunglasses | left right split | denoise 0.6, cfg 6.5 |
| 美妆(口红) | lipstick | top bottom comparison | denoise 0.7, cfg 7.0 |
| 美妆(护肤) | skincare bottle | triple angle display | denoise 0.7, cfg 7.0 |
| 数码(手机) | smartphone | back to back display | denoise 0.8, cfg 7.5 |
| 数码(耳机) | earphone / headphone | left right split | denoise 0.7, cfg 7.0 |
| 数码(手表带) | watch band | sequence row display | denoise 0.7, cfg 7.0 |
| 家居(灯具) | table lamp | angle rotation display | denoise 0.7, cfg 7.0 |
| 家居(餐具) | plate / cup | top down grid view | denoise 0.8, cfg 7.5 |
| 家居(收纳) | storage box | triple angle display | denoise 0.7, cfg 7.0 |
| 运动(哑铃) | dumbbell | side by side pair | denoise 0.6, cfg 6.5 |
| 运动(瑜伽垫) | yoga mat | top bottom comparison | denoise 0.7, cfg 7.0 |
| 食品(瓶装) | bottled drink | label front back view | denoise 0.8, cfg 7.5 |
| 食品(盒装) | snack box | angle rotation display | denoise 0.7, cfg 7.0 |
| 宠物用品 | pet bowl / collar | left right split | denoise 0.6, cfg 6.5 |
| 文具 | pen / notebook | closeup dual view | denoise 0.7, cfg 7.0 |
| 玩具 | action figure | quarter turn sequence | denoise 0.8, cfg 7.5 |
| 汽车配件 | car interior accessory | back to back display | denoise 0.8, cfg 7.5 |
每类商品的参数都不是随便给的。服装鞋帽这类线条简单、结构规整的商品,denoise 可以放低一些,细节不容易被改坏。数码产品和手表这类结构复杂、有金属反光的商品,要适当提高 denoise 让模型有足够自由度重新组织反光面。担心这套参数不准的,先从服装类开始试,跑通了再往复杂商品扩展。
4.2 从零跑通一张商品图:逐步实操流程
拿到压缩包后,先把 rar 解压,把 c0162.json 放到 ComfyUI 的user/default/workflows目录(或者其他你习惯的工作流保存目录),然后在 ComfyUI 界面里点 Workflow → Open 加载它。
加载完成后第一步是检查模型路径有没有报红。如果红色的是 QwenImageEdit 模型节点,说明模型路径不对,按 2.2 节的目录方式重新放置。如果红色的是文本编码节点,检查节点包是否安装。全部没有报错后,按以下步骤操作:
# 步骤 1:拖入商品原图 # 双击空白处,搜索 "Load Image",选中后把图片路径指到你的商品图 # 步骤 2:修改商品类目占位符 # 找到 CLIPTextEncode 节点,把 {commodity_type} 改成你实际的商品关键词 # 例如商品是白色运动鞋,就改成 sneaker # 步骤 3:选择分裂模式 # 修改 {mode} 部分为 left right split view 或你想要的构图 # 如果需要批量出多张,固定第一步的类目词,只改 mode 和 seed # 步骤 4:执行 # 点击 "Run" 或按 Ctrl+Enter,等待采样完成每一步的执行逻辑都很直观。Load Image 负责把商品原图从文件系统读入,CLIPTextEncode 负责把编辑指令转成模型能理解的向量,KSampler 是实际出图的地方,输出节点负责把结果写回磁盘。如果你连跑了几张图都在同一个位置出残影,说明是提示词里某个词和商品特征冲突了,优先替换冲突词而不是去改采样器参数。
4.3 显存不够时的降级方案
ComfyUI 跑 QwenImageEdit 的最低显存建议是 8GB,16GB 以上比较从容。如果你只有 6GB 显存,跑 1024×1024 以上的图容易报 CUDA out of memory。降级方案有两个方向。
第一个方向是把输出分辨率降下来。在 Empty Latent Image 节点里把宽高从 1024×1024 改成 768×768,生成结果用于预览绰绰有余。第二个方向是减少 batch size,确认采样器里 batch 那一项是 1。两个方向可以同时做,效果明显。
# 如果你用 API 模式调用,可以在请求体里加入负向控制参数 # 但 ComfyUI 的节点模式里,最直接的做法还是调 Empty Latent Image 的宽高 # 常见显存报错信息对照: # "CUDA out of memory" → 降低分辨率或 batch size # "RuntimeError: Sizes of tensors must match" → 输入图尺寸与 latent 尺寸不一致 # "Failed to load model" → 模型路径错误或节点包版本不兼容跑大尺寸图时,显存不足是高频问题,不要硬撑,优先降分辨率。真正做交付图的时候再用高分辨率重跑一次,预览阶段 768 足够判断构图是否合理。
5. 避坑排查:QwenImageEdit 跑商品图的典型翻车现场
5.1 商品细节被改没:denoise 参数惹的祸
现象:输出图里商品本身的纹理、印花、logo 全变了,鞋子的钩子标志成了模糊色块,饮料瓶上的品牌文字变成乱码。
原因:denoise 值过高,模型在重构构图时把商品细节一并“重绘”了。QwenImageEdit 虽然擅长编辑,但它本质上仍是生成模型,denoise 太高时它会在理解“这是商品”的基础上自由发挥细节,导致品牌元素失真。
解决:把 denoise 从 0.8 降到 0.6~0.7。注意观察商品原图的背景质量——背景越干净、主体越突出,denoise 越可以低。如果商品原图本身就是白底棚拍图,0.55 都能出不错的效果。另外可以在正向提示词里加original brand logo, keep product details这类约束词,但主要手段还是压 denoise。
5.2 分裂后商品比例失衡:构图模板与商品形态不匹配
现象:跑出来的分裂展示图左右两侧大小不一,或者商品被拉长变形,看起来像哈哈镜效果。
原因:你选的分裂模式不适合当前商品。比如把口红用quarter turn sequence(四分之一旋转序列)跑,模型需要在画面里表现四个角度的口红,单个商品占位变小,比例容易失衡。dress 和 lipstick 这类形态差异大的商品,同样用top bottom comparison,效果也完全不同。
解决:回到 4.1 节的对照表,按商品类目换分裂模式。如果换了模式还不行,检查输入图的构图——商品在画面里占比过小,模型就缺乏足够信息判断结构,导致比例漂移。我一般会先把商品图裁剪到占画面 70% 以上的比例,再跑工作流。
5.3 背景不够干净:负面提示词和输入图背景双重因素
现象:生成的图上出现灰色阴影、地板线、渐变底色,白底不是纯白。
原因:两个来源。一是负面提示词里没有包含足够的背景污染词,模型自由发挥时默认生成带环境感的背景。二是输入商品图本身背景不干净,有轻微阴影或灰色渐变,模型把这些“背景特征”当作商品的组成部分保留了下来。
解决:负面提示词里补上grey background, gradient background, floor shadow, studio background。同时把输入图提前用 PS 或 Python 脚本处理成纯白底。简单处理可以用 remove.bg 这类工具,但批量化处理时我用一段 Python 脚本:
from PIL import Image, ImageOps def make_white_bg(image_path, output_path, threshold=245): img = Image.open(image_path).convert("RGB") img = ImageOps.autocontrast(img, cutoff=1) # 将接近白色的像素直接替换为纯白 pixels = img.load() w, h = img.size for y in range(h): for x in range(w): r, g, b = pixels[x, y] if r > threshold and g > threshold and b > threshold: pixels[x, y] = (255, 255, 255) img.save(output_path)这段脚本的 threshold 控制替换阈值,245 表示 RGB 三通道都大于 245 的像素直接变纯白。实际操作时,商品自身的白色部分可能会被误伤,所以阈值不宜太低。处理完的图再跑工作流,白底质量会明显提升。
5.4 生成的图上有文字乱码和水印残留
现象:输出图上出现无意义的英文单词、断裂的字母,或者原商品图中没有的水印。
原因:QwenImageEdit 继承了大模型的文本生成能力,在编辑构图时如果画面里有类似文字的纹理,模型会尝试“补全”这些文字,产生乱码。另一个来源是输入图本身带平台下载水印,模型在重绘时把水印纹理保留了下来。
解决:输入图提前去掉水印。正向提示词里加no text, clean label,负面提示词加text, watermark, letters, words。如果原商品有包装盒且盒子上有文字,直接把文字区域在输入图里裁掉或用遮罩处理,不要让模型自行发挥。
5.5 工作流加载后一堆节点报红
现象:加载 c0162.json 后,许多节点显示红色,无法运行,控制台报错频繁。
原因:大概率是三个问题之一——ComfyUI 版本过旧,不支持 QwenImageEdit 的节点类型;缺少自定义节点包;或者模型文件不完整。这三个问题分别对应三种不同的解决方式。
解决:先看报错信息,No node type对应节点包缺失,Model not found对应模型路径问题,TypeError之类的问题多半是版本不兼容。节点包安装用 ComfyUI Manager 的 Install Missing Custom Nodes 功能一键补装。模型不完整就重新用 huggingface-cli 下载。版本问题直接把 ComfyUI 更新到最新版。
6. 进阶技巧:用 API 模式把 24 类工作流接进自己的项目
6.1 把 JSON 工作流转成 API 调用
ComfyUI 本身支持 API 模式,c0162.json 也能直接转成 API 请求体。这个能力对做工具集的人来说特别有用——你可以把工作流封装成后端服务,让电商团队通过网页提交商品图,后台自动跑分裂展示图,无需每个人本地部署 ComfyUI。
转 API 的方式并不复杂。在 ComfyUI 界面里操作一遍工作流,然后打开开发者模式,把请求体导出,保存为 JSON。这个 JSON 就是 API 调用的核心载体。请求体的关键结构如下:
import requests import json import uuid def run_workflow(workflow_json_path, product_image_path, commodity_type, mode): with open(workflow_json_path, "r", encoding="utf-8") as f: workflow = json.load(f) # 替换商品图和类目参数 for node_id, node_data in workflow.items(): if node_data["class_type"] == "LoadImage": node_data["inputs"]["image"] = product_image_path if node_data["class_type"] == "CLIPTextEncode": text = node_data["inputs"]["text"] text = text.replace("{commodity_type}", commodity_type) text = text.replace("{mode}", mode) node_data["inputs"]["text"] = text # 提交任务到 ComfyUI payload = { "prompt": workflow, "client_id": str(uuid.uuid4()) } resp = requests.post("http://127.0.0.1:8188/prompt", json=payload) return resp.json()这段代码的 workflow_json_path 指向从 ComfyUI 导出的 API 格式 JSON,不是原始的 c0162.json。两者格式有差异,原始工作流文件包含 UI 布局信息,API 格式只包含节点执行信息。ComfyUI 界面的“导出 API 格式”按钮会自动做这一步,不用手写转换。
6.2 24 类商品批量出图的调度策略
API 模式的真正价值是批量处理。电商团队一次可能要处理几百张商品图,每张还要出多种分裂构图。这种规模下单张图手动跑根本不现实,API 模式可以把任务排队交给 ComfyUI 后端。
import time import requests from concurrent.futures import ThreadPoolExecutor PRODUCT_CLASSES = { "sneaker": "left right split view", "lipstick": "top bottom comparison", "smartphone": "back to back display" } def process_one(product_image_path): results = [] for commodity_type, mode in PRODUCT_CLASSES.items(): response = run_workflow( "api_workflow.json", product_image_path, commodity_type, mode ) results.append(response) # 每提交一个任务间隔一点时间,避免并发过多导致显存溢出 time.sleep(1) return results # 建议每批最多 3 张图并发,显存 16GB 以上的机器可以调到 4 with ThreadPoolExecutor(max_workers=3) as executor: futures = [executor.submit(process_one, image_path) for image_path in product_images] for future in futures: future.result()这里的 PRODUCT_CLASSES 是示例字典,实际使用时按你的商品类目扩到 24 类。线程池并发数不是越多越好——每张图的采样过程都占显存,并发 5 张时 16GB 显存的机器基本就到极限了。控制台出现显存报错时,把 max_workers 降到 2 或 3,或者把生成分辨率降到 768。
6.3 设计一个自动命名和归档的目录结构
批量跑图后管理产物是另一个实操问题。默认的输出文件名是时间戳加随机数,几十张图散落在一个目录里,根本分不清哪张对应哪个商品、哪种分裂模式。我在实际项目里的做法是改造输出节点,把图直接归档到结构化目录。
# 目录结构示例 outputs/ ├── sneaker-20250208/ │ ├── left_right_split_01.png │ ├── left_right_split_02.png │ └── quarter_turn_01.png ├── lipstick-20250208/ │ ├── top_bottom_01.png │ └── triple_angle_01.png └── smartphone-20250208/ ├── back_to_back_01.png └── closeup_dual_01.png用 Python 实现归档逻辑很简单,在 API 响应后轮询输出目录,把新生成的图片移动到对应商品文件夹。ComfyUI 的 API 模式会返回一个 prompt_id,可以通过/history/{prompt_id}端点查到输出图片的完整文件名。拿到文件名后按商品类目建目录移动,整个流程就完全自动化了。
这里有一个我自己翻过车的事值得说:刚开始做批量归档时,我直接按输出时间排序来移动文件,结果多张图同时跑完时文件名错配,sneaker 的图被挪进了 lipstick 目录。从那以后我每次提交任务都把 prompt_id 和商品类目绑定存储,归档时严格按 prompt_id 来匹配文件,再也没出过乱序问题。这套工作流也一样——如果只手动跑一两张图,直接看预览图顺手重命名就行;一旦上了 API 批量,归档逻辑必须提前设计好。希望帮到你。
本文还有配套的精品资源,点击获取