ComfyUI 工作流搭建:AIGC 设计的高效引擎
上周,一位做品牌设计的学员找到我,抱怨说:“老师,我用 SD WebUI 做批量生成,一张图跑完要等 15 分钟,而且每次换风格都得从头调参数,效率太低了。” 他正为一个服装品牌做春夏系列视觉,需要生成 30 多张不同款式、不同背景的模特图,按传统流程至少需要 3 天。
我打开 ComfyUI,花 10 分钟拖拽出一个工作流。从加载模型到最终输出,每张图只用了 2 分钟,而且风格、构图、光影完全一致,只需替换一个“服装描述”节点就能批量生成。他当场愣住了——这就是 ComfyUI 的威力:不是工具,而是一个可复用的自动化引擎。
如果你还在用“手工炼丹”的方式跑 AI 图,这篇文章会彻底改变你的工作方式。我们从最底层的逻辑讲起,直接上手搭建三个实战工作流。
第一章:为什么 ComfyUI 是“引擎”而非“画板”?
1.1 节点式思维的降维打击
传统 SD WebUI 是“线性流水线”:你输入提示词、调整参数、点击生成。但 ComfyUI 是模块化电路板——每个节点(Node)只做一件事,然后用“连线”连接起来。这意味着:
- 可复用性:一个工作流保存为 JSON 文件,下次只需改一个“文本输入”节点,就能生成全新系列。
2.2 核心组件速览
打开 ComfyUI(我当前用 v0.2.5),你会看到一个空白画布。需要记住 5 个基础节点:
操作步骤:右键画布 → “Add Node” → 搜索节点名称。连线规则:从节点的“输出点”(右侧圆点)拖拽到另一个节点的“输入点”(左侧圆点)。
—
第二章:实战工作流 1——品牌视觉批量生成
场景需求
为一家咖啡品牌生成 20 张“不同口味、统一风格”的产品海报。要求:背景是木纹桌,光影为柔光,杯子位置固定,只替换咖啡种类��美式、拿铁、冷萃等)。
2.1 搭建基础工作流
1. 加载模型:添加 `Checkpoint Loader`,选择 SDXL 模型(如 `sd_xl_base_1.0.safetensors`)。
2. 固定背景:添加 `Load Image` 节点,上传一张木纹背景图。然后添加 `Image Composite Masked` 节点,将背景图作为“底层”。
3. 分离主体生成:添加 `Empty Latent Image`,设置尺寸为 1024×1024。这里有个技巧:利用“Mask”节点将杯子区域设为白色,背景设为黑色,这样 KSampler 只生成杯子区域,背景保持不变。
关键参数设置:
2.2 批量替换提示词
这里需要 `Text Multiline` 节点(需安装 ComfyUI-Manager 插件)。添加后,输入:
美式咖啡
拿铁咖啡
冷萃咖啡
摩卡咖啡
...
然后连接 `String Replace` 节点,将 `[咖啡种类]` 替换为列表中的每一项。最后将输出连接到 CLIP 的文本输入。
操作步骤:
1. 右键 → Add Node → `utils` → `Text Multiline`
2. 添加 `String Replace`(搜索“Replace”)
3. 在 `String Replace` 中设置:`source = [咖啡种类]`, `replacement = from Text Multiline`
4. 点击 `Queue Prompt`,ComfyUI 会依次生成 20 张图,每张图自动替换咖啡种类。
—
第三章:实战工作流 2——多模型融合与风格迁移
场景需求
将一张手机照片转换成“吉卜力风格”插画,同时保留人物面部特征。这需要同时使用两个模型:一个主模型(真实照片),一个 LoRA 风格模型。
3.1 双模型加载架构
1. 加载主模型:`Checkpoint Loader` → 选择 `realisticVisionV5.1`
2. 加载 LoRA:添加 `LoRA Loader` 节点,选择 `Ghibli_style_v2.safetensors`(权重设为 0.8)
3. 连接方式:将 `Checkpoint Loader` 的 `model` 输出连接到 `LoRA Loader` 的 `model` 输入;将 `LoRA Loader` 的 `model` 输出连接到 `KSampler` 的 `model` 输入。
3.2 ControlNet 精确控制
为了保留人物姿势和构图,需要 ControlNet:
1. 添加 `ControlNet Loader`,选择 `control_v11p_sd15_openpose.pth`
2. 添加 `Load Image` 上传原图
3. 添加 `Pose Estimator` ���点(需安装 `ComfyUI-Advanced-ControlNet` 插件),自动提取骨骼图
4. 连接:原图 → `Pose Estimator` → `ControlNet` → `KSampler` 的 `control` 输入
3.3 参数调优
关键技巧:如果人物面部变形,可以在正向提示词中加入 `[person’s name]`,并用 `FaceID` 节点(需 `InstantID` 插件)锁定面部特征。
—
第四章:进阶技巧——工作流复用与调试
4.1 保存与加载工作流
4.2 调试常见问题
4.3 自动化批处理
利用 `ComfyUI-Manager` 的 `Queue` 功能:点击 `Queue Prompt` 后,ComfyUI 会依次执行工作流。如果使用 `Text Multiline`,它会自动遍历列表。更高级的用法:结合 `Save Image` 的 `filename_prefix` 参数,设置 `batch_[%batch_number%]`,自动生成带编号的文件。
—
结尾:从“画图”到“造引擎”
回想开头那位学员,他现在已经用 ComfyUI 搭建了 5 个核心工作流:品牌视觉、产品渲染、人物写真、风格迁移、视频帧处理。每个工作流都是他个人的“AI 设计引擎”,只需输入参数,就能稳定输出高质量结果。
学习建议:
1. 从模仿开始:下载社区工作流(Civitai、OpenArt 上有大量免费 JSON),拆解每个节点的作用。
2. 建立自己的节点库:将常用节点组合(如“背景替换”、“人脸修复”)保存为 `.json` 模板。
3. 关注插件生态:安装 `ComfyUI-Manager`,定期更新节点,重点关注 `InstantID`、`AnimateDiff`、`IP-Adapter`。
4. 实践出真知:每周用 ComfyUI 完成一个真实项目,哪怕只是帮朋友做一张海报。只有亲手拖拽过上百次连线,才能真正理解节点式思维。
—
常见问题 FAQ
Q1:ComfyUI 和 SD WebUI 哪个更推荐新手?
A:如果你只想快速出图,WebUI 更友好。但如果你需要批量生成、精确控制、工作流复用,ComfyUI 是唯一选择。建议先学 WebUI 理解基础概念,再转 ComfyUI 提升效率。
Q2:为什么我搭建的工作流生成速度很慢?
A:检查两点:1)`KSampler` 的 `steps` 是否过高(一般 20-30 足矣);2)是否加载了不必要的模型(如同时加载多个 LoRA)。另外,使用 `SDXL` 模型时,建议显存 ≥ 8GB。
Q3:如何将 ComfyUI 工作流集成到其他软件中?
A:ComfyUI 支持 API 调用。在 `workflow_api.json` 中定义输入节点(如 `Text Multiline`),然后用 Python 脚本调用 `http://127.0.0.1:8188/prompt` 接口。参考官方文档的 `API` 示例。
Q4:生成的人物面部总是不像怎么办?
A:使用 `InstantID` 插件:添加 `InstantID Loader` 节点,上传参考人物照片,设置 `weight = 0.8`。同时降低 `KSampler` 的 `CFG` 到 5-6,避免过度风格化导致面部变形。
Q5:工作流保存后,发给别人打不开怎么办?
A:确保对方安装了相同版本的 ComfyUI 和所有依赖节点。最稳妥的方式是:使用 `ComfyUI-Manager` 的 `Export workflow with dependencies` 功能,打包所有节点和模型路径信息。

评论(0)