ComfyUI 工作流搭建:AIGC 设计的高效引擎
上周有位学员在群里发了一张图——一张用传统 SD WebUI 花了 3 小时反复调试才生成的电商海报。他抱怨说:“每次换产品图都要重新跑一遍流程,节点乱了、参数丢了、连提示词都忘了之前怎么写的。”这个问题太典型了。很多设计师在接触 AIGC 时,把精力全花在“调参数”上,却忽略了真正能提升效率的核心——工作流。
今天我们就来拆解 ComfyUI 这个节点式工作流引擎。它不是另一个“画图工具”,而是你从“手工操作”升级到“自动化生产”的跳板。我会从两个真实案例出发,手把手带你搭建一套可复用的高效工作流。
一、为什么 WebUI 做不到的,ComfyUI 可以?
先澄清一个认知:WebUI 和 ComfyUI 底层都是 Stable Diffusion,但思维逻辑完全不同。
WebUI 是“单线程”的——你打开一个界面,输入提示词,点击生成,得到一张图。想换模型?去设置里切换。想加 ControlNet?得先加载预处理器,再选模型。每一步都是手动操作,流程是非结构化的。
ComfyUI 是“多线程”的——每个功能都是一个节点,节点之间用连线串联。你可以把“加载模型”、“输入提示词”、“应用 ControlNet”、“放大图像”、“保存结果”全部放在一个工作流里,一次搭建,永久复用。流程是可视化、可编辑、可分享的。
更关键的是,ComfyUI 支持批处理和条件分支。比如你要生成 100 张不同角度的产品图,WebUI 需要手动改 100 次参数,而 ComfyUI 只需连接一个“批量输入”节点,跑一次就出 100 张。
二、实操案例 1:电商主图批量生成工作流
场景描述
你是一家化妆品公司的设计师,每周需要为 20 款产品生成主图。每张图要求:产品居中,背景为渐变色,带光影效果,尺寸 1024×1024。
工具准备
- ComfyUI 版本:v0.2.3+(推荐最新稳定版)
– `Load Checkpoint`:加载模型
– `CLIP Text Encode`:处理提示词
– `KSampler`:采样器
– `VAE Decode`:解码图像
– `Save Image`:保存结果
– `WAS Node Suite`:提供“Image Batch”和“Text Concatenate”功能
– `ComfyUI Manager`:方便安装缺失节点
步骤详解
第一步:搭建基础生成链路
1. 打开 ComfyUI,右键点击画布,选择 `Add Node → Loaders → Load Checkpoint`,加载你常用的模型(比如 `sd_xl_base_1.0.safetensors`)。
2. 添加 `CLIP Text Encode` 节点(两个,分别用于正面和负面提示词)。
3. 添加 `KSampler` 节点,设置参数:
– `seed`:留空或设为固定值(如 42),方便复现
– `steps`:25(SDXL 推荐 20-30)
– `cfg`:7(默认值,可根据效果微调)
– `sampler_name`:`dpmpp_2m`
– `scheduler`:`karras`
4. 添加 `VAE Decode` 和 `Save Image` 节点。
连接方式:`Load Checkpoint` 的 `model` 和 `vae` 输出分别连到 `KSampler` 和 `VAE Decode`;`CLIP Text Encode` 的 `conditioning` 输出连到 `KSampler` 的正面/负面输入;`KSampler` 的 `latent` 输出连到 `VAE Decode` 的 `samples`。
第二步:实现批量输入
手动改提示词太慢,我们需要一个“批量输入”机制。
1. 安装 `WAS Node Suite`(通过 ComfyUI Manager 搜索安装)。
2. 添加 `Text Concatenate` 节点(位于 `WAS Suite → Text`),它可以把多个文本片段拼接起来。
3. 添加 `Image Batch` 节点(`WAS Suite → Image`),用于一次性导入多张产品图(比如 20 张 512×512 的白底图)。
4. 在 `KSampler` 前添加 `Latent Upscale` 节点(`Add Node → Latent → Latent Upscale`),将产品图的潜在表示放大到目标尺寸(1024×1024)。
关键参数:
此时,你的工作流可以一次处理 20 张图,每张图都自动应用你设定的提示词和参数。
第三步:加入 ControlNet 控制构图
为了让产品图完美居中且背景干净,我们加入 ControlNet 的 Canny 边缘控制。
1. 添加 `Load ControlNet Model` 节点,加载 `control_v11p_sd15_canny.pth`(或 SDXL 对应的 `control-lora-canny-sdxl`)。
2. 添加 `ControlNet Apply` 节点,将 Canny 模型和产品图连接起来。
3. 在 `KSampler` 的 `control_net` 输入端口接入 `ControlNet Apply` 的输出。
提示:ControlNet 的强度(`strength`)设为 0.8-1.0,确保产品轮廓被严格保留。
结果验证
运行工作流,20 张主图在 5 分钟内生成完毕。每张图的产品位置、光影、背景渐变都高度一致,只需后期微调即可交付。
三、实操案例 2:动态提示词与条件分支工作流
场景描述
你正在做一个“四季主题”系列插画,需要根据季节自动切换提示词(春:樱花、粉色调;夏:海滩、蓝色调;秋:枫叶、橙色调;冬:雪景、冷色调)。同时,如果生成结果不符合预期(比如构图杂乱),自动触发重绘流程。
工具准备
步骤详解
第一步:搭建动态提示词系统
1. 创建 4 组 `CLIP Text Encode`,分别填入春、夏、秋、冬的正面提示词。
2. 添加一个 `Switch` 节点,它有多个输入端口(`input1`、`input2` 等)和一个选择端口(`select`)。
3. 将 4 组提示词的 `conditioning` 输出分别连到 `Switch` 的 `input1-4`。
4. 在 `Switch` 的 `select` 端口,连接一个 `Integer` 节点(`Add Node → Logic → Integer`),手动输入 1、2、3、4 来选择季节。
这样,你只需改一个数字,就能切换整个工作流的提示词。
第二步:加入条件重绘分支
1. 在 `KSampler` 后添加 `Preview Image` 节点,预览生成结果。
2. 添加 `Image Comparator` 节点(可通过自��义节点实现,或使用 `WAS Suite` 的 `Image Calculate`),比较预览图与预设的“理想构图”模板(比如一张构图平衡的参考图)。
3. 如果相似度低于阈值(比如 0.7),触发重绘流程:
– 使用 `Switch` 节点,将 `KSampler` 的输出重定向到另一个 `KSampler`,后者使用不同的 `seed` 和 `cfg` 参数。
– 或者,使用 `Loop` 节点(需安装 `ComfyUI-Loop` 插件),自动重试 3 次,直到结果达标。
结果验证
运行工作流,选择“秋”模式,生成一张枫叶插画。如果预览图构图失衡,系统自动重绘,直到输出满意结果。整个过程无需人工干预。
四、总结与进阶建议
通过这两个案例,你应该已经理解 ComfyUI 的核心优势:模块化、自动化、可复用。但真正用好它,需要养成两个习惯:
1. 工作流即文档:每次搭建工作流时,在节点上添加注释(右键节点 → `Note`),说明每个参数的作用。这样 3 个月后你回看,依然能快速理解。
2. 版本管理:用 `ComfyUI Manager` 的“Save Workflow as Image”功能,把工作流保存为 PNG 图片。图片内嵌了完整节点信息,拖回 ComfyUI 就能恢复。
进阶方向:
常见问题 FAQ
Q1:ComfyUI 对显卡要求高吗?
A:最低 6GB 显存可运行 SD 1.5 模型;SDXL 建议 12GB+。如果显存不足,可以在 `KSampler` 中开启 `lowvram` 模式(在节点设置里勾选),但生成速度会下降。
Q2:工作流里的节点找不到怎么办?
A:使用 `ComfyUI Manager` 的 `Install Missing Custom Nodes` 功能,它会自动检测缺失节点并提示安装。如果手动安装,把节点文件夹放到 `ComfyUI/custom_nodes/` 目录下。
Q3:如何保存和分享工作流?
A:点击右上角 `Save` 按钮,保存为 `.json` 文件。分享时,用 `Load` 加载即可。更推荐用“Save as Image”功能,生成一张 PNG 图片,别人拖入 ComfyUI 就能还原。
Q4:批量生成时,每张图的种子可以不同吗?
A:可以。在 `KSampler` 的 `seed` 端口连接一个 `Random Seed` 节点(`Add Node → Logic → Random Seed`),或者用 `Number Input` 节点手动输入种子列表。如果想固定种子,直接留空(系统自动生成)。
Q5:为什么我的工作流跑起来��慢?
A:常见原因有三:1)模型太大(SDXL 比 SD 1.5 慢 2-3 倍);2)`steps` 值过高(建议 20-30);3)ControlNet 节点过多。优化策略:先用低分辨率(512×512)测试,确认效果后再提升到目标尺寸。
—
最后提醒一句:ComfyUI 的学习曲线确实比 WebUI 陡峭,但一旦跨过门槛,你会发现它带来的效率提升是几何级的。下次遇到重复性设计任务,别急着动手调参数,先花 10 分钟搭个工作流。这 10 分钟的投资,会在后续无数次生成中加倍回报。

评论(0)