👁 97 次阅读

配图

一、先明确目标:商品图工作流要解决什么
商品图生成最容易犯的错,是把 ComfyUI 当成抽卡工具:每次临时改提示词、换模型、拖节点,出图靠运气。要把它做成可复用工作流,目标不是一张图好看,而是同一套流程能稳定服务多个 SKU,并且让后来的人看得懂、改得动、复现得了。建议先把需求拆成五层:素材层负责商品白底图、参考图和品牌资料;模型层负责底模、LoRA、VAE 与采样器;控制层负责构图、边缘、深度、参考风格;生成层负责提示词模板、批次与种子策略;交付层负责命名、质检、归档。五层分开后,任何一个环节出问题都能定位,而不是在一张巨大的节点图里猜。
可复用的判断标准很实际:换一个商品时,只需要替换素材和少量字段;换一个场景时,不需要重连主要节点;换一个同事时,对方能按文档跑出接近的结果。下面按这个标准搭建。

配图

二、环境与目录:给工作流一个稳定底座
先准备一个独立环境,避免和系统 Python 或其他 AI 工具互相污染。以 Linux 或 macOS 为例,命令可以这样执行:
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python main.py --listen 127.0.0.1 --port 8188
启动后先在浏览器打开本地地址,确认默认文生图能跑通,再安装常用节点包。不要一开始装几十个插件,插件越多,工作流迁移时越容易缺节点。建议先装管理器和少量确实需要的节点,例如抠图、图像合成、批量文本读取、保存与预览增强。每装一个,就在 README 里记下用途。
目录也要固定。模型、工作流、预设、输出不要混在一起:
ComfyUI/
models/
checkpoints/
loras/
vae/
controlnet/
ipadapter/
user/default/workflows/
product_main_v01.json
product_main_v02.json
presets/
skincare.yaml
homeware.yaml
outputs/
product_20261018_sku/
这样做的价值在于迁移。把整个目录打包到另一台机器时,只要模型路径和工作流里的相对路径一致,复现成本会低很多。
三、把商品图拆成可复用模块
3.1 输入模块
输入模块只做一件事:把商品信息变成统一字段。至少包含商品名、品类、材质、颜色、核心卖点、目标场景、拍摄角度、画幅比例、参考图路径、输出目录。字段不要写成长句,要能被表格管理。比如保温杯可以拆成:材质为不锈钢,颜色为雾灰,卖点为防漏,场景为厨房台面,角度为四分之三侧视。字段越稳定,提示词模板越容易复用。
3.2 模型模块
模型模块负责底模、LoRA、VAE 和采样参数。商品图通常需要真实材质和干净光线,底模选择上优先考虑写实、商业摄影倾向的模型;LoRA 只保留真正影响材质、光线或品类的少数几个。不要在一个工作流里堆叠多个风格 LoRA,否则颜色和材质容易互相打架。VAE 要和底模匹配,换底模时把 VAE 一起检查。
3.3 控制模块
控制模块是商品图稳定的关键。白底图可以通过边缘、线稿或深度控制构图;参考图可以通过图像提示保持风格;需要保留商品本体时,用遮罩把商品主体保护起来,只让模型处理背景、光影和道具。商品图不是纯艺术图,主体比例、Logo 位置、包装形状一旦跑偏,后期很难救。
3.4 输出模块
输出模块要解决命名和归档。文件名至少包含 SKU、场景、种子、版本号。输出目录按日期和批次分层。不要用最终图、新建图、未命名这类名字,批量生成后根本找不到对应关系。
四、核心节点连接:一条能落地的生成链
最小可用链路是:加载模型,正向与负向提示词编码,空 latent 设定画幅,采样器生成,VAE 解码,保存图像。先跑通这条链路,再往里面加控制节点。不要在第一天就把抠图、合成、放大、人脸修复全部塞进去,否则出错时不知道是哪一段导致。
采样参数先给一组起点,再按模型调整:
sampler: dpmpp_2m
scheduler: karras
steps: 28
cfg: 6.0
width: 1024
height: 1024
batch: 4
denoise: 1.0
seed_policy: fixed_per_sku
这里的数字是示例起点,不是万能值。写实商品图常见问题是 cfg 过高导致颜色发硬、材质塑料感,或者 steps 过低导致边缘脏。调整时一次只改一个变量,并固定种子做对比。批量生成时建议每个 SKU 固定一个种子,再为每个场景派生种子,这样既能保持一致性,又能增加可选图。
五、提示词模板:把商品描述变成可填字段
提示词不要每次重写,做成模板。下面是一份可直接改字段的中文模板:
主体:{product_name},{material},{color},{key_feature}
构图:{shot_type},{angle},主体占画面{ratio},留白{whitespace}
光线:{lighting},柔和阴影,真实接触阴影
背景:{background},干净,无杂物
风格:商业摄影,高细节,真实材质,电商主图
负面:低清晰度,变形,多余文字,水印,杂乱背景,过曝,塑料感
使用时只替换大括号里的字段,不要在主模板里临时加入大量形容词。商品图提示词最重要的是主体、材质、颜色、光线和背景关系。文字、价格、促销标签不要交给模型硬生成,后期用设计工具排版更稳。负面提示词也不要无限堆叠,保留与商品图最相关的几类即可:变形、脏边、杂乱、错误文字、过曝、材质失真。
六、ControlNet 与参考图:稳定构图和商品一致性
控制图不是越多越好。边缘控制适合保留包装轮廓,深度控制适合处理空间关系,线稿控制适合白底图转场景图。参考图适合锁定风格和光线,但参考权重过高会把商品颜色带偏。实操时先把控制图单独接入,观察它到底影响了什么,再决定是否叠加。
商品一致性有一个原则:如果商品本体必须百分百还原,生成阶段只做背景、光影和道具,主体用原图抠图后合成;如果允许轻微重绘,再用较低去噪和遮罩局部重绘。很多团队一开始追求全生成,结果包装文字和 Logo 反复出错,返工成本更高。把生成和合成拆开,反而更可控。
下面是三种常见做法的对比:
| 做法 | 优点 | 风险 | 适用场景 |
|---|---|---|---|
| 纯文生图 | 速度快,场景自由 | 商品形状和文字容易跑偏 | 概念图、氛围图、非精确 SKU |
| 控制图加局部重绘 | 构图稳定,保留部分商品细节 | 遮罩边缘和光影需要修 | 包装较简单、允许轻微重绘的商品 |
| 原图合成加生成背景 | 商品本体最稳,适合批量交付 | 合成光影要统一 | 电商主图、需要真实还原的 SKU |
选择哪种做法,不取决于模型多强,而取决于业务对商品还原度的要求。
七、批量生成:用文件名和参数表管理 SKU
批量生成不要靠手动点队列。先把 SKU 整理成表格,一行一个商品,字段与提示词模板对应。示例:
sku,product,color,scene,seed
A001,保温杯,雾灰,厨房台面,fixed
A002,保温杯,奶白,书房桌面,fixed
A003,收纳盒,透明,浴室柜面,fixed
实际执行时,可以用 ComfyUI 的 API 模式读取表格并替换字段,也可以先用批量文本节点做小规模测试。输出命名建议统一:
{sku}_{scene}_{seed}_{index}.png
每次批量前先跑三到五个 SKU 的试批,检查颜色、比例、背景和文件命名。试批通过后再放大批量。批量过程中保留参数快照,至少记录底模、LoRA、采样器、步数、cfg、控制图权重和种子策略。否则一周后想复现某张图,只能重新猜。
八、质量检查:别让批量放大错误
批量生成最大的风险不是单张失败,而是同一个错误被复制几十次。质检建议按固定清单逐项看:
- 商品比例是否失真,包装是否被拉长或压扁。
- 颜色是否偏离实物,特别是金属、玻璃、织物和塑料材质。
- Logo、文字、标签是否出现乱码或多余笔画。
- 接触阴影是否合理,商品是否像悬浮在背景上。
- 边缘是否干净,抠图合成处有没有白边或黑边。
- 背景是否抢主体,道具是否遮挡关键卖点。
- 同一 SKU 的多张图是否保持同一商品外观。
- 文件名、目录、参数快照是否完整。
质检时先看缩略图总览,再抽查原图。缩略图能快速发现构图和颜色问题,原图用来看边缘、文字和材质。发现问题不要直接大批量重跑,先定位是提示词、控制图、遮罩还是采样参数导致,再做小批验证。
九、常见问题与排错
| 症状 | 常见原因 | 处理方向 |
|---|---|---|
| 商品颜色发灰或发脏 | 底模风格不匹配,cfg 过高,负面词过重 | 换写实底模,降低 cfg,减少无关负面词 |
| 商品形状变化大 | 缺少边缘或深度控制,去噪过高 | 加入控制图,降低重绘去噪,必要时改合成 |
| 背景很花,主体不突出 | 背景描述过多,构图留白不足 | 精简背景字段,明确主体占比和留白 |
| 批量图风格不统一 | 种子策略混乱,LoRA 权重浮动 | 固定 SKU 种子,锁定 LoRA 与采样参数 |
| 工作流换机器缺节点 | 插件依赖未记录,路径写死 | 记录插件清单,改用相对路径,导出前清理绝对路径 |
排错顺序建议从输入开始:先确认商品图和字段没错,再确认模型与 VAE 匹配,然后看控制图是否过强或过弱,最后才调采样参数。很多问题不是采样器造成的,而是输入和遮罩已经错了。
十、版本管理与复用:把工作流当代码维护
工作流文件要版本化。每次结构性调整存为新版本,不要直接覆盖旧版。文件名带上版本号和用途,例如 product_main_v01.json、product_main_v02.json。工作流里如果包含绝对路径,导出前清理,换成相对路径或在文档里注明。API 格式与 UI 格式用途不同,交付给批处理脚本的版本要单独保存。
建议维护三份文档:一份 README 说明环境、模型、插件和启动方式;一份参数表说明每个品类的提示词字段、采样参数和控制图权重;一份变更记录说明每次改了什么、为什么改、影响哪些 SKU。这样工作流才不是某个人的记忆,而是团队资产。
十一、可执行建议
今天就可以按三步落地。第一步,固定目录和命名,把底模、LoRA、控制图、工作流、输出分开放,先用默认文生图跑通一条最小链路。第二步,选一个商品白底图,做一版原图合成加生成背景的工作流,要求商品本体不变,只改背景和光影,并保存为 v01。第三步,整理五个 SKU 的参数表,做一次小批试跑,按质检清单检查颜色、比例、边缘、阴影和命名。试跑通过后,再把这套流程复制到同类商品。
不要追求一次搭完所有品类。先把一个品类跑稳,再把提示词模板、控制图策略和质检清单抽成模块,最后扩展到多个品类。可复用的核心不是节点多,而是输入稳定、参数可追、输出可查、错误可定位。做到这四点,ComfyUI 才真正成为商品图生产线,而不是一张临时抽卡的工作台。