实操精通(上)|ComfyUI 教程示例全解析(基础+ControlNet+Image+3D)

本文为系列第 3 篇,聚焦实操,手把手讲解基础示例、ControlNet、Image、3D 教程,让你独立完成各类绘图任务。


目录


一、引言:实操是掌握 ComfyUI 的核心

1.1 上一篇回顾:基础概念与界面操作要点

在本系列第 2 篇《基础夯实|吃透 ComfyUI 核心概念与界面操作》中,我们系统学习了 ComfyUI 的三大核心基础:

  1. 工作流(Workflow):AI 绘图的"流程蓝图",理解了工作流的定义、模板导入/导出,以及子图功能和部分执行等高级用法
  2. 节点(Node):AI 绘图的"功能模块",掌握了内置节点与自定义节点的区别,以及 Nodes 2.0 的新特性
  3. 连线与属性:数据流向的"桥梁"和调整节点功能的"关键参数"

这些基础概念就像学车的"交规"——理解了规则,上路才不会手忙脚乱。从本篇开始,我们正式进入"上路实操"环节,将概念转化为实际作品。

温故提示:如果你还没有阅读前两篇,或者对工作流、节点、连线等概念仍感陌生,建议先回顾第 2 篇内容。本篇所有实操都建立在这些基础概念之上。

1.2 教程示例的重要性:从"看懂"到"会做"

ComfyUI 的官方文档中,教程示例(Tutorial Examples) 是连接"理论基础"与"独立创作"之间的桥梁。它们不是枯燥的说明书,而是一个个可运行、可修改、可复用的实战项目。

为什么教程示例如此重要?

  • 降低试错成本:官方提供的示例工作流都是经过验证的"最佳实践",直接加载即可运行,避免了从零搭建时的各种坑
  • 学习标准化流程:每个示例都代表一类典型任务(文生图、图生图、ControlNet 控制等),掌握一个示例就能举一反三
  • 快速验证节点功能:想了解某个新节点的作用?加载一个包含该节点的示例工作流,比看文档更快、更直观
  • 获得修改灵感:在示例基础上调整参数、替换模型、增加节点,是进阶学习最有效的方式

核心学习法先跑通 → 再理解 → 后修改 → 最后创造。不要试图一开始就从零搭建复杂工作流,从官方示例入手是最快的学习路径。

1.3 本章实操案例说明与准备工作

本章我们将深入拆解四大类教程示例,每一类都包含完整的实操案例:

类别 核心能力 实操案例
基础示例 文生图与图生图 自定义提示词生成 + 原图风格迁移
ControlNet 示例 精准控制绘图 指定姿态人物生成
Image 示例 图片修复与编辑 老照片修复 + 照片转油画
3D 示例 3D+AI 结合 3D 模型生成对应 AI 图像

准备工作清单:

  1. ✅ ComfyUI 已正常启动(本地或 Cloud 均可)
  2. ✅ 已安装至少一个基础模型(建议 SD1.5 或 SDXL)
  3. ✅ 已安装 ComfyUI Manager(安装自定义节点用)
  4. ✅ 网络通畅(下载模型和节点时需要)

关于模型兼容性:本教程示例以 SD1.5 模型为例讲解,若你使用 SDXL 模型,部分参数(如图像尺寸、采样器选择)可能不同,文中会特别标注差异。


二、基础示例:文生图与图生图实操

基础示例是所有 ComfyUI 任务的起点,也是最常用的两类操作。无论你后期学习多复杂的工作流,文生图和图生图都是核心骨架。

2.1 基础文生图:从提示词到生成图像

文生图(Text-to-Image)是最基础的 AI 绘图模式——输入文字描述,AI 生成对应图像。ComfyUI 的默认加载工作流就是一个完整的文生图工作流。

2.1.1 提示词编写技巧(正面/负面提示词)

提示词是文生图的核心输入,直接决定生成质量。在 ComfyUI 中,提示词分两类:

正面提示词(Positive Prompt):描述你想要看到的画面内容。

a beautiful fantasy landscape, crystal clear lake, majestic mountains at sunset,
golden clouds, detailed foreground flowers, highly detailed, 8k, cinematic lighting

负面提示词(Negative Prompt):描述你不想要出现在画面中的元素。

blurry, low quality, distorted, ugly, bad anatomy, watermark, text,
worst quality, jpeg artifacts, deformed, extra fingers, mutant

提示词编写技巧总结:

技巧 说明 示例
主谓宾结构 先写主体,再写场景和细节 a cat wearing a wizard hat, sitting on a bookshelf
质量词收尾 用质量修饰词作为提示词结尾 ..., highly detailed, 8k, masterpiece
反向排除法 在负面提示词中排除不想要的元素 extra limbs, bad hands, mutated
权重控制 用 (word:1.2) 提高权重,(word:0.8) 降低权重 (sunset:1.3), (clouds:0.7)
风格锚定 用艺术家名或风格词固定风格方向 in style of Studio Ghibli, oil painting by Rembrandt

专业提示:不同模型对提示词的敏感度不同。写实模型(如 Realistic Vision)喜欢简洁直接的描述,而动漫模型(如 Anything V5)则能理解更抽象的词汇。多尝试才能掌握每个模型的"语感"。

2.1.2 核心参数调整(分辨率、步数、CFG 等)

文生图工作流中的 KSampler 节点包含了多个关键参数,理解它们是调优的基础:

参数 作用 SD1.5 推荐值 SDXL 推荐值 说明
Steps(步数) 迭代生成次数 20-30 20-40 步数越多细节越丰富,但超过 40 步收益递减
CFG Scale 提示词遵循度 7-8 5-7 值越高越贴近提示词,但过高会导致图像过度饱和或失真
Sampler(采样器) 采样算法 Euler / DPM++ 2M Karras DPM++ 2M Karras / Euler 不同采样器出图风格不同
Scheduler(调度器) 步长调度策略 normal / karras karras karras 在高步数下效果更好
Size(尺寸) 图像宽高 512×512 1024×1024 SDXL 原生支持更高分辨率
Seed(种子) 随机数种子 固定值 固定值 相同种子 + 相同参数 = 可复现的相同结果

参数调优原则:

  1. 先定 CFG,再调 Steps:CFG 决定"方向",Steps 决定"精细度"。建议先确定 CFG 值,再调整 Steps 到图像细节不再明显变化为止
  2. 采样器选择有讲究:Euler 速度最快但细节偏少,DPM++ 2M Karras 平衡性好,DDIM 适合确定性生成
  3. 种子是"后悔药":生成一张满意的图后,记录种子值(Seed),下次用相同种子配合修改后的提示词,可以在保留构图的基础上调整细节
2.1.3 实操案例:生成第一张自定义文生图

目标:用提示词生成一张"森林中的魔法少女"主题图像。

步骤拆解:

Step 1:加载基础工作流

  • 启动 ComfyUI,默认即可看到文生图标准工作流
  • 若界面空白,点击菜单栏 Load → 选择 basic_txt2img.json 示例工作流(Cloud 平台则可直接从示例库中选择)

Step 2:选择模型

  • 在 Load Checkpoint 节点中,下拉选择一个已安装的模型
  • 推荐新手使用 sd_xl_base_1.0.safetensors(SDXL)或 v1-5-pruned-emaonly.safetensors(SD1.5)

Step 3:编写提示词

正面提示词(CLIP Text Encode Positive 节点):

a magical girl in an enchanted forest, glowing staff, fairy lights,
moonlight streaming through trees, purple and blue color scheme,
detailed anime style, cinematic composition, masterpiece, high quality

负面提示词(CLIP Text Encode Negative 节点):

blurry, low quality, bad anatomy, extra fingers, mutated hands,
watermark, text, signature, ugly, deformed, worst quality

Step 4:设置参数

在 KSampler 节点中设置:

  • seed:留空或随意填一个整数(如 42
  • steps25
  • cfg7.5
  • sampler_namedpmpp_2m
  • schedulerkarras
  • denoise1.0(文生图保持 1.0)

在 Empty Latent Image 节点中设置尺寸:

  • width512(SD1.5)或 1024(SDXL)
  • height512(SD1.5)或 1024(SDXL)

Step 5:执行生成

  • 点击右上角 Queue Prompt 按钮
  • 观察节点进度条,等待生成完成
  • 结果将显示在预览图像节点中

Step 6:优化迭代

  • 若效果不满意,调整提示词后再次生成
  • 若构图满意但细节不足,增加 Steps(如从 25 改为 35)
  • 若提示词不生效,适当提高 CFG(如从 7.5 改为 8.5)
  • 若找到满意结果,记下 Seed 值,后续可用它微调

常见问题:生成的图像全黑或全灰?请检查 Load Checkpoint 是否正确加载了模型,且模型文件未损坏。如果模型路径错误,VAE 解码阶段会输出无效图像。

2.2 基础图生图:基于原图优化与修改

图生图(Image-to-Image)是基于一张已有图像进行修改或优化的技术。与文生图相比,图生图多了一个"参考图"输入,生成的图像会保留原图的构图和结构。

2.2.1 原图上传与参数设置

图生图工作流的核心变化是增加了 Load Image 和 VAE Encode 节点,将输入图像编码到潜空间后再送入 KSampler。

标准图生图工作流节点链:

Load Checkpoint → CLIP Text Encode (Positive) → KSampler → VAE Decode → Preview Image
                → CLIP Text Encode (Negative) → ↑
Load Image → VAE Encode → ↑

添加步骤:

  1. 右键在工作流区域空白处 → 选择 Add Node → image → Load Image
  2. 再次右键 → Add Node → latent → VAE Encode
  3. 将 Load Image 的 IMAGE 输出连接到 VAE Encode 的 pixels 输入
  4. 将 Load Checkpoint 的 VAE 输出连接到 VAE Encode 的 vae 输入
  5. 将 VAE Encode 的 LATENT 输出连接到 KSampler 的 latent 输入(替换 Empty Latent Image)

图生图关键参数:denoise(去噪强度)

Denoise 值 效果 适用场景
0.0 完全不变 无意义,等于原图输出
0.1-0.3 微调细节 修复小瑕疵、提升清晰度
0.3-0.5 风格微调 保留构图,改变配色/氛围
0.5-0.7 较大改动 风格迁移、替换背景
0.7-0.9 大幅重绘 只保留粗略构图
1.0 完全重绘 等同于文生图,忽略原图

黄金法则:denoise 越低,越需要精确的提示词描述你想要的微调;denoise 越高,提示词的影响越大。一般风格迁移从 0.5-0.7 开始尝试。

2.2.2 风格调整与细节优化技巧

技巧 1:分层去噪法

先用低 denoise(0.3)做一次微调保留构图,再用高 denoise(0.6)叠加风格效果。这比一次到位的效果更自然。

技巧 2:提示词与原图互补

  • 原图是白天场景想变夜晚 → 正面提示词加 night, moonlight, dark atmosphere
  • 原图是写实照片想变动漫 → 正面提示词加 anime style, cel shading, colorful
  • 始终保持负面提示词:blurry, low quality, distorted

技巧 3:尺寸匹配

  • Load Image 的图像尺寸应与 Empty Latent Image 设置的尺寸一致或比例相同,避免拉伸变形
  • 若原图比例与目标尺寸不一致,先用外部工具裁剪,或在 ComfyUI 中使用 Image Scale 节点调整
2.2.3 实操案例:原图风格迁移

目标:将一张日常照片转换为吉卜力动画风格。

前提条件:

  • 准备一张人物或风景照片(建议 512×512 或 1024×1024 分辨率)
  • 准备好 SD1.5 或 SDXL 模型

Step 1:搭建图生图工作流

按 2.2.1 节步骤,搭建从 Load Image → VAE Encode → KSampler 的完整工作流。

Step 2:上传原图

  • 双击 Load Image 节点
  • 点击 choose file to upload,选择你的照片
  • 确认图像成功加载(节点上会显示缩略图预览)

Step 3:编写风格迁移提示词

正面提示词:

Studio Ghibli style, anime background, vibrant colors, soft lighting,
whimsical atmosphere, highly detailed, masterpiece, beautiful composition

负面提示词:

photorealistic, 3d render, ugly, blurry, low quality, deformed,
watermark, text, signature, oversaturated

Step 4:设置参数

  • denoise0.65(从适中强度开始)
  • steps30(风格迁移需要充分迭代)
  • cfg7.0
  • sampler_nameeuler(Euler 在风格迁移中效果自然)
  • schedulernormal

Step 5:生成并对比

  • 点击 Queue Prompt 生成
  • 对比原图和结果:观察风格是否转换到位、构图是否保留
  • 若吉卜力风格不够明显 → 降低 denoise 到 0.5,或增强提示词权重 (Ghibli style:1.3)
  • 若原图细节丢失过多 → 提高 denoise 到 0.75

Step 6:精细调优

使用 分层去噪法 做二次优化:

第一轮:denoise=0.5 → 得到中间结果
第二轮:将中间结果作为新输入,denoise=0.3,微调细节

实用建议:风格迁移不是一次成功的。建议先以 0.1 为步长测试 3-4 个不同的 denoise 值,找到最佳平衡点后再批量生成。

2.3 基础参数调优与效果提升技巧

掌握了文生图和图生图的基础操作后,以下进阶技巧能帮你大幅提升出图质量:

技巧 1:使用 Hires Fix(高分辨率修复)

文生图直接生成大尺寸图像容易出现构图空旷或细节崩坏。标准做法是:

  1. 先用小尺寸(如 512×512)生成
  2. 通过 Latent Upscale 节点放大潜空间图像
  3. 用低 denoise(0.3-0.5)的第二个 KSampler 补充细节

技巧 2:多模型对比

同一提示词在不同模型上的表现天差地别。建议建立自己的"模型库":

  • 写实类:Realistic Vision、ChilloutMix
  • 动漫类:Anything V5、Counterfeit
  • 插画类:DreamShaper、RevAnimated
  • SDXL 类:SDXL Base、Juggernaut XL

技巧 3:负面提示词模板

保存一组通用的负面提示词,每次生成直接复用:

worst quality, low quality, normal quality, lowres, bad anatomy,
bad hands, extra digits, fewer digits, cropped, worst quality,
low quality, normal quality, jpeg artifacts, signature, watermark,
username, blurry, ugly, deformed, out of frame, mutant

技巧 4:Batch Size 批量探索

在 KSampler 中将 batch_size 从 1 改为 4(需显存充足),一次生成 4 张不同种子值的图像,快速浏览多种构图可能。

显存不足时的优化建议:降低图像尺寸、使用更小的模型(SD1.5 比 SDXL 省显存)、减少 batch_size、使用 --lowvram 参数启动 ComfyUI。


三、ControlNet 示例:精准控制绘图效果

如果说文生图是"自由创作",那 ControlNet 就是"戴着镣铐跳舞"——在保留 AI 创造力的同时,精准控制图像的特定维度。

3.1 ControlNet 核心原理与作用

ControlNet 是什么?

ControlNet 是一种神经网络架构,它通过向扩散模型中注入额外的"控制条件",让生成过程遵循一个参考蓝图。这个蓝图可以是:

  • 一张骨架图(控制人物姿态)
  • 一张边缘图(保留物体轮廓)
  • 一张深度图(控制空间结构)
  • 一张涂鸦(控制大致形状)

通俗理解:ControlNet 就像给 AI 画师一张"草图"或"参考线",告诉它"画这个姿态的人"或"保持这些物体的形状",而 AI 在此基础上自由发挥色彩、光影和纹理。

与图生图的区别:

维度 图生图(Img2Img) ControlNet
控制方式 像素级参考(整张图) 条件级参考(特定维度)
自由度 中:受原图整体影响大 高:只约束特定条件,其他自由发挥
典型用途 风格迁移、修复 姿态控制、边缘约束、深度引导
依赖关系 不需要额外模型 需要加载专门的 ControlNet 模型

3.2 ControlNet 节点加载与配置步骤

使用 ControlNet 需要三个核心组件:

  1. ControlNet 模型文件:预训练的控制网络权重(.safetensors
  2. 预处理器(Preprocessor):将输入图像转换为控制条件(如提取骨架、边缘)
  3. Apply ControlNet 节点:将控制条件注入到生成流程中

标准 ControlNet 工作流节点链:

Load Checkpoint → CLIP Text Encode (Positive) → KSampler → VAE Decode → Preview
                → CLIP Text Encode (Negative) → ↑
Load Image → Preprocessor → Apply ControlNet → ↑
Load ControlNet Model → ↑

节点安装说明:

ControlNet 相关节点是 ComfyUI 内置的,无需额外安装。但你需要在启动前确保 ControlNet 模型文件已下载并存放到正确路径。

模型存放位置:

ComfyUI/models/controlnet/
├── control_v11p_sd15_openpose.pth      # 姿态控制
├── control_v11p_sd15_canny.pth         # 边缘控制
├── control_v11f1p_sd15_depth.pth       # 深度控制
├── control_v11p_sd15_normalbae.pth     # 法线控制
├── control_v11p_sd15_scribble.pth      # 涂鸦控制
└── ... (更多模型)

获取渠道:ControlNet 模型可以从 Hugging Face 的 lllyasviel 或官方文档推荐链接下载。SD1.5 和 SDXL 的 ControlNet 模型不通用,请选择匹配版本。

3.3 各类 ControlNet 模型的应用场景

3.3.1 姿态控制:人物姿态精准调整

核心模型control_v11p_sd15_openpose.pth

工作原理:OpenPose 预处理器从参考图中提取人物骨骼关键点(头、肩、肘、腕、膝、踝等),ControlNet 根据这些骨骼点生成对应姿态的人物。

适用场景:

  • 保持参考图的动作,但改变人物外貌、服装、背景
  • 用 3D 软件摆好姿势渲染骨骼图,生成对应姿态的 AI 人物
  • 多人场景中分别控制每个人的姿态

参数建议:

  • ControlNet Strength0.7-0.9(姿势控制需要较高强度)
  • Preprocessor Resolution512(与生成尺寸匹配)
3.3.2 边缘控制:保留原图边缘细节

核心模型control_v11p_sd15_canny.pth

工作原理:Canny 边缘检测算法提取参考图的轮廓线,ControlNet 确保生成的图像遵循这些轮廓。

适用场景:

  • 将线稿/素描上色为完整图像
  • 保持产品外观不变,更换材质和配色
  • 建筑外观保留结构,改变风格和材质

参数建议:

  • ControlNet Strength0.5-0.8(边缘控制强度不宜过高,否则手写痕迹明显)
  • Canny Low Threshold100(越低检测到越多边缘)
  • Canny High Threshold200(越高只保留最强边缘)
3.3.3 其他常用模型
模型 控制条件 典型应用 推荐强度
Depth(深度) 深度图(近远关系) 保持空间结构,改变外观 0.6-0.8
Normal(法线) 表面法向量 保持凹凸和表面细节 0.5-0.7
Scribble(涂鸦) 手绘草图 将草稿变成精美图像 0.6-0.9
Soft Edge(软边缘) 柔和轮廓 比 Canny 更自然的边缘控制 0.5-0.7
Lineart(线稿) 精细线稿 动漫线稿上色 0.6-0.8

多 ControlNet 串联:ComfyUI 支持同时使用多个 ControlNet。例如,同时使用 OpenPose(控制姿态)+ Canny(控制物体轮廓),实现对图像的多维度精准控制。串联时每个 ControlNet 的强度建议适当降低(0.4-0.6)。

3.4 实操案例:用 ControlNet 生成指定姿态人物

目标:用一张参考人物的姿态图,生成另一个外貌特征完全不同但姿态一致的人物。

前提条件:

  • 一张有人物姿态的参考图(或从网上下载姿态素材)
  • 已安装 control_v11p_sd15_openpose 模型

Step 1:加载 ControlNet 模型

  • 右键 → Add Node → controlnet → Load ControlNet Model
  • 在节点下拉菜单中选择 control_v11p_sd15_openpose

Step 2:加载并预处理参考图

  • 添加 Load Image 节点,上传姿态参考图
  • 添加 ControlNet 预处理器节点:
    • 右键 → Add Node → controlnet → OpenPose Preprocessor
    • 将 Load Image 的 IMAGE 输出连接到预处理器输入
    • 建议 resolution 设为 512

Step 3:添加 Apply ControlNet 节点

  • 右键 → Add Node → controlnet → Apply ControlNet
  • 连线如下:
    • 预处理器输出 POSE_KEYPOINT → Apply ControlNet 的 control_net_input
    • Load ControlNet Model 的 CONTROL_NET → Apply ControlNet 的 control_net
    • CLIP Text Encode (Positive) 的输出 CONDITIONING → Apply ControlNet 的 conditioning

Step 4:完整连线验证

确认工作流是按以下结构连接的:

Load Checkpoint → CLIP Text Encode (Positive) → Apply ControlNet → KSampler
                → CLIP Text Encode (Negative) → ↑
Load Image → OpenPose Preprocessor → ↑
Load ControlNet Model → ↑

Step 5:编写提示词

正面提示词(描述你想要的新人物):

a beautiful warrior woman, long red hair, armor, epic fantasy style,
determined expression, detailed face, intricate armor design,
cinematic lighting, dramatic background, masterpiece

负面提示词:

blurry, low quality, bad anatomy, extra limbs, deformed hands,
multiple people, different pose, ugly, worst quality, watermark

Step 6:设置参数

在 KSampler 节点:

  • steps25
  • cfg7.5
  • sampler_namedpmpp_2m
  • schedulerkarras
  • denoise1.0

在 Apply ControlNet 节点:

  • strength0.8(控制强度,先用较高值确保姿态被遵循)

Step 7:生成并调试

  • 点击 Queue Prompt 执行
  • 检查结果:
    • 姿态是否与参考图一致?→ 若不一致,提高 ControlNet strength 到 0.9-1.0
    • 人物外貌是否符合提示词?→ 若不符合,检查提示词或调低 ControlNet strength
    • 人物边缘是否自然?→ 若边缘生硬,尝试换成 control_v11p_sd15_openpose_fp16.safetensors(半精度版本,更快更柔)

Step 8:进阶——多 ControlNet 组合控制

想要同时控制姿态和背景结构?串联两个 ControlNet:

Load ControlNet Model (OpenPose) → Apply ControlNet 1 →
Load ControlNet Model (Canny) → Apply ControlNet 2 → KSampler

将参考图的 Canny 边缘提取后送入第二个 ControlNet,设置 strength=0.5,让背景结构也受到约束。

重要提示:ControlNet 模型必须与基础模型(Checkpoint)架构匹配。SD1.5 的 ControlNet 不能用于 SDXL 模型,反之亦然。若不匹配,会报错或生成奇怪的结果。SDXL 用户请下载 xl_ 前缀的 ControlNet 模型。


四、Image 相关示例:图片修复与编辑

Image 类教程示例覆盖了图片的各类编辑操作,从修复破损照片到提升分辨率,再到更换艺术风格,是日常使用频率最高的功能模块。

4.1 图片修复:老照片修复、破损图片还原

4.1.1 修复节点组合与参数设置

图片修复的核心思路是局部重绘(Inpainting)——在图像中标记出需要修复的区域,让 AI 根据周围环境重新生成该区域的内容。

标准修复工作流节点链:

Load Checkpoint → CLIP Text Encode (Positive) → KSampler → VAE Decode → Preview
                → CLIP Text Encode (Negative) → ↑
Load Image → VAE Encode → ↑
          → Set Latent Noise Mask → ↑

核心组件说明:

节点 作用
Load Image 加载需要修复的图片
VAE Encode 将图片编码到潜空间
Set Latent Noise Mask 指定修复区域(遮罩),告诉 AI"只改这里"
KSampler 执行局部重绘生成

遮罩(Mask)的创建方式:

  1. ComfyUI 遮罩编辑器:双击图像节点 → 点击 Open Mask Editor → 用画笔涂抹需要修复的区域
  2. 外部遮罩图:用 Photoshop 等工具创建黑白遮罩图(白色=修复区域,黑色=保留区域),通过 Load Mask 节点加载

修复参数建议:

参数 推荐值 说明
denoise 0.5-0.8 修复区域需要足够高的去噪强度来消除瑕疵
denoise(微调) 0.2-0.4 仅做轻微纹理修复时使用
steps 30-40 修复需要更多迭代确保过渡自然
CFG 7-9 略高于文生图,确保修复区域与提示词一致
4.1.2 实操案例:老照片清晰化修复

目标:修复一张有划痕、噪点、局部模糊的老照片。

Step 1:加载并检查图片

  • 添加 Load Image 节点,上传老照片
  • 观察图片损伤程度,确定修复策略:
    • 大面积划痕/污渍 → 需要遮罩重绘
    • 整体模糊/噪点 → 需要高清处理(结合超分)
    • 局部缺损 → 只需遮罩修复缺损区域

Step 2:创建修复遮罩

  • 在 Load Image 节点上右键 → Open Mask Editor
  • 使用画笔工具(Brush)涂抹需要修复的区域:
    • 划痕处 → 白色涂抹
    • 破损处 → 白色涂抹
    • 噪点区域 → 可以整张图低强度处理
  • 点击 Save to Node 保存遮罩

Step 3:搭建修复工作流

  • 添加 VAE Encode 节点,连接 Load Image 的 IMAGE 输出
  • 添加 Set Latent Noise Mask 节点:
    • Load Image 的 MASK 输出 → Set Latent Noise Mask 的 mask 输入
    • VAE Encode 的 LATENT 输出 → Set Latent Noise Mask 的 samples 输入
    • Set Latent Noise Mask 的 LATENT 输出 → KSampler 的 latent 输入

Step 4:编写修复提示词

正面提示词(描述整张照片的理想效果):

restored old photo, clear face, natural skin texture,
sharp details, preserved original style, black and white, vintage

负面提示词:

blurry, noise, scratch, damaged, deformed face, bad anatomy,
watermark, text, colorized, modern style

Step 5:设置参数并生成

  • denoise0.6
  • steps35
  • cfg8
  • sampler_namedpmpp_2m

点击 Queue Prompt 生成,观察修复效果。

Step 6:迭代优化

若修复区域与周围不协调:

  • 边缘生硬:在遮罩编辑器中软化遮罩边缘,或降低 denoise 到 0.4
  • 颜色不匹配:将 denoise 降低到 0.3-0.4,让 AI 更多参考周围像素
  • 五官变形:检查遮罩是否覆盖了不必要的区域,精确只涂抹破损处

老照片修复进阶组合:修复 → 超分 → 上色。先用修复工作流修补破损,再用 4.2 节的超分技术提升分辨率,最后用图生图加色彩提示词完成上色。三步组合效果远好于一次性完成。

4.2 图片超分:提升图片分辨率

图片超分辨率(Upscaling)是将低分辨率图像放大并增加细节的技术。ComfyUI 提供两种超分方式:

方式一:像素超分(Pixel Upscaling)

通过传统插值算法放大图像。速度快、不改图像内容,但不会增加新细节。

算法 效果 速度
nearest-exact 最邻近插值,锯齿明显 最快
bilinear 双线性插值,平滑但模糊
bicubic 双三次插值,综合最好 中等
lanczos 兰索斯插值,边缘锐利 中等

方式二:潜空间超分(Latent Upscaling)+ 重绘

在潜空间放大图像后再通过低 denoise 的 KSampler 补充细节。能"创造"新细节,但会轻微改变原图。

实操步骤(潜空间超分工作流):

Load Image → VAE Encode → Latent Upscale → KSampler (low denoise) → VAE Decode → Preview
  1. 添加 Latent Upscale 节点,设置放大倍数(如 2x 或 4x)
  2. 连接 KSampler,设置 denoise = 0.3-0.5(低强度补充细节)
  3. 提示词写 high resolution, detailed, sharp, clear 等增强词

推荐超分流程对比:

场景 推荐方法 说明
快速放大(不计较细节) Pixel Upscale (lanczos) 1 秒完成
从低分辨率提升质量 Latent Upscale + 低 denoise 重绘 增加真实细节
极致高清输出 先 latent upscale 2x,再 pixel upscale 2x 4 倍放大,质量最佳

注意:超分并不能创造信息。极低分辨率(如 128×128)的图像即使超分到 1024×1024,细节也是 AI"脑补"的,可能不准确。

4.3 风格迁移:给图片更换不同艺术风格

4.3.1 风格迁移节点操作步骤

风格迁移本质上是用图生图(Img2Img)配合风格提示词实现的操作。核心逻辑是:

原图 + 风格提示词 + 适中 denoise = 风格迁移后的图像

精简版风格迁移工作流:

Load Image → VAE Encode → KSampler (denoise=0.5~0.7) → VAE Decode → Preview

相比基础图生图,风格迁移的关键在于提示词的质量和 denoise 的精确控制

风格迁移的参数要点:

参数 建议 原因
denoise 0.5-0.7 太低则风格不明显,太高则原图结构丢失
steps 25-35 风格迁移需要充足迭代来"渲染"风格
CFG 7-8.5 略高以保证风格提示词被遵循
采样器 Euler / DPM++ 2M Euler 风格更自然,DPM++ 更精细
4.3.2 实操案例:照片转油画风格

目标:将一张风景照片转换为油画风格。

Step 1:加载照片

  • 添加 Load Image 节点,上传一张风景照片
  • 建议照片构图清晰、光线良好,这样转油画效果更好

Step 2:搭建图生图工作流

  • 添加 VAE Encode 节点连接 Load Image
  • 添加 KSampler 节点
  • 添加 VAE Decode 和 Preview Image 节点

Step 3:编写油画风格提示词

正面提示词:

oil painting, thick brush strokes, canvas texture, impasto technique,
masterpiece, by Van Gogh style, vibrant colors, textured surface,
artistic, rich details, dramatic lighting, fine art

负面提示词:

photograph, photorealistic, 3d render, smooth, digital art,
blurry, low quality, deformed, oversaturated, flat

Step 4:设置关键参数

  • denoise0.6
  • steps30
  • cfg7.5
  • sampler_nameeuler
  • schedulernormal

Step 5:生成与调试

点击 Queue Prompt 执行。

判断标准:

  • 能否清楚看出"油画感"(笔触、纹理)?→ 若否,提高 denoise 到 0.7 或增强风格词权重
  • 原图构图是否保留?→ 若构图变了,降低 denoise 到 0.5
  • 颜色是否过渡自然?→ 若颜色异常,检查 CFG 是否过高(保持在 7-8 之间)

Step 6:批量探索最佳效果

用不同的 denoise 值生成多张,对比效果:

Denoise 效果表现
0.4 保留大部分原图细节,风格较淡
0.5 风格与原图平衡
0.6 风格明显,结构保留良好
0.7 风格强烈,部分细节被替换
0.8 风格主导,可能偏离原图较多

专业技巧:在风格迁移后,可串联一个低 denoise(0.2-0.3)的二轮图生图来"定色"——让颜色更稳定、画面更和谐,消除风格迁移可能产生的色彩噪点。


五、3D 相关示例:3D 与 AI 生成结合

3D 与 AI 绘图的结合是 ComfyUI 的一大特色功能,它让你可以将 3D 模型作为参考,生成与之对应的 AI 图像,在游戏开发、产品设计、影视前期等领域有广泛应用。

5.1 3D 模型导入方法

ComfyUI 支持导入标准 3D 模型文件(如 .obj.glb.gltf 格式),将其渲染为 2D 图像后作为 ControlNet 或图生图的参考。

导入 3D 模型的前提条件:

  1. 安装 3D 相关节点:通过 ComfyUI Manager 安装 ComfyUI-3D-Pack 或类似的自定义节点包
  2. 准备 3D 模型文件:可以从 Sketchfab、TurboSquid 等平台下载免费模型,或用 Blender 自己制作
  3. 确认模型格式:推荐使用 .glb 或 .obj 格式,兼容性最好

安装 3D 节点:

# 通过 ComfyUI Manager 在界面中搜索安装
# 或手动安装:
cd custom_nodes
git clone https://github.com/your-repo/ComfyUI-3D-Pack.git
# 重启 ComfyUI

5.2 3D 相关节点的使用方法

3D 工作流的核心节点及其功能:

节点名称 功能
Load 3D Model 加载 3D 模型文件(.obj/.glb/.gltf)
3D Render 将 3D 模型渲染为 2D 图像
Camera Controls 控制渲染视角(旋转、缩放、平移)
Lighting Setup 设置渲染光照条件
Render to Image 输出渲染结果到图像格式

标准 3D 工作流结构:

Load 3D Model → Camera Controls → 3D Render → Render to Image →
Lighting Setup → ↑

渲染输出的 2D 图像可以与 ControlNet(如 Depth、Normal、Canny)或图生图结合,进一步生成 AI 处理的成品。

5.3 实操案例:3D 模型生成对应 AI 图像

目标:导入一个 3D 角色模型,通过 AI 将其渲染为特定风格的 2D 插画。

Step 1:准备 3D 模型

  • 从网上下载一个免费 3D 角色模型(.glb 格式)
  • 将模型文件放入 ComfyUI 的 input 目录或任意可访问路径

Step 2:搭建 3D 渲染工作流

  • 添加 Load 3D Model 节点,选择你的模型文件
  • 添加 Camera Controls 节点,设置视角:
    • azimuth(水平角):45°(正面偏侧)
    • elevation(俯仰角):15°(略带俯视)
    • distance(距离):根据模型大小调整,使主体居中
  • 添加 Lighting Setup 节点,使用默认三点布光
  • 添加 3D Render 节点,设置渲染分辨率(如 512×512)
  • 添加 Render to Image 节点,输出 2D 图像

Step 3:将 3D 渲染图接入 ControlNet

为了在 AI 生成中保留 3D 模型的结构,使用 Depth ControlNet:

  • 添加 Load ControlNet Model,选择深度控制模型
  • 添加 Depth Preprocessor,将 Render to Image 的输出接入
  • 添加 Apply ControlNet,将深度条件注入到提示词条件中

Step 4:添加文生图流程

Load Checkpoint → CLIP Text Encode (Positive + Negative) → Apply ControlNet → KSampler → VAE Decode → Preview
3D Render → Depth Preprocessor → ↑
Load ControlNet Model → ↑

Step 5:编写提示词

正面提示词(将 3D 模型变成你想要的风格):

fantasy character concept art, detailed armor, magical glowing runes,
epic pose, dramatic lighting, intricate design, trending on ArtStation,
highly detailed, cinematic composition

负面提示词:

3d render, low poly, ugly, deformed, blurry, low quality,
bad anatomy, extra limbs, watermark, text, signature

关键要点:在负面提示词中一定要加 3d render 和 low poly,否则 AI 会倾向于保留 3D 渲染的质感,而不是转化成你想要的 2D 艺术风格。

Step 6:设置参数并生成

  • ControlNet strength0.7(保留模型结构的同时允许 AI 发挥)
  • denoise0.85(较高 denoise 让 AI 有更多创作空间)
  • steps30
  • cfg7.5

Step 7:调试优化

  • 生成的图像与 3D 模型姿态不一致?→ 提高 ControlNet strength 到 0.85+
  • 生成的图像仍有 3D 渲染质感?→ 强化负面提示词中的 3d render, cgi, render
  • 模型结构细节丢失?→ 降低 ControlNet strength 到 0.5-0.6,给 AI 更多自由度

进阶玩法:渲染不同角度的 3D 模型(正面、侧面、背面),分别通过 ControlNet 生成 AI 图像,实现"多视图角色设计"。这在游戏角色概念设计时非常实用。


六、总结与下一篇预告

6.1 本章实操要点回顾与常见问题总结

通过本文的学习,你已经掌握了四大类 ComfyUI 教程示例的完整实战方法。让我们快速回顾核心要点:

基础示例(文生图与图生图)

  • ✅ 文生图:掌握正面/负面提示词编写技巧、核心参数(Steps/CFG/Sampler/Seed)的使用方法
  • ✅ 图生图:理解 denoise 参数的作用范围,会搭建 Load Image → VAE Encode → KSampler 工作流
  • ✅ 参数调优:Hires Fix、多模型对比、负面提示词模板、Batch Size 批量探索

ControlNet 示例

  • ✅ 理解 ControlNet 的"参考蓝图"原理及三大核心组件(模型、预处理器、Apply 节点)
  • ✅ 掌握 OpenPose(姿态)、Canny(边缘)、Depth(深度)等模型的适用场景
  • ✅ 会搭建多 ControlNet 串联工作流实现多维度控制

Image 示例(修复、超分、风格迁移)

  • ✅ 图片修复:遮罩编辑器的使用、Set Latent Noise Mask 的配置、denoise 分档策略
  • ✅ 图片超分:像素超分与潜空间超分的区别与组合使用
  • ✅ 风格迁移:图生图 + 风格提示词的完整操作流程

3D 示例

  • ✅ 了解 3D 模型导入方法和相关节点功能
  • ✅ 掌握 3D 渲染 + ControlNet 的联合工作流搭建

常见问题速查表:

问题现象 可能原因 解决方法
文生图全黑/全灰 模型未正确加载 检查 Load Checkpoint 是否有效;重新下载模型
图生图与原图完全一样 denoise 过低 将 denoise 提高到 0.5 以上
ControlNet 不生效 ControlNet 模型与基础模型不匹配(SD1.5 vs SDXL) 检查版本匹配
OpenPose 姿态错误 参考图人物太小或遮挡严重 使用清晰、完整的人物姿态图
修复区域颜色不匹配 denoise 过高或遮罩边缘过硬 降低 denoise 到 0.3-0.4;软化遮罩边缘
风格迁移后构图大变 denoise 过高 降低 denoise 到 0.5 以下
3D 模型加载失败 模型格式不兼容 转换为 .glb 或 .obj 格式;确认节点已安装

6.2 下一篇:实操精通(下)——视频/音频/Utility+Comfy Hub 生态

下一篇我们将继续深入实操,覆盖更多有趣且强大的功能:

  • 视频生成:用 ComfyUI 生成和编辑 AI 视频,包括图生视频、视频转绘等
  • 音频相关:AI 音频生成与识别节点,实现文生音频、音频转文字等
  • Utility 工具节点:图像处理、数学运算、逻辑控制等实用工具节点
  • Comfy Hub 生态:浏览、使用和发布工作流,融入 ComfyUI 社区

从静态图像到动态视频,从视觉到听觉,ComfyUI 的边界远比你想象的更广。下篇见!


官方参考链接

  1. 教程示例(全细分模块) → 学习与教程 → 教程示例 — 基础示例、ControlNet、Image、3D 等所有细分示例
  2. 内置节点(相关功能节点) → 内置节点 — Load Checkpoint、KSampler、VAE Decode 等核心节点文档
  3. ControlNet 节点 → 内置节点 → ControlNet — ControlNet 相关节点使用说明
  4. 遮罩编辑器 → 学习与教程 → 界面指南 → 遮罩编辑器 — 遮罩的创建与编辑方法
  5. ComfyUI Manager — 自定义节点管理器,安装 ControlNet 和其他节点必备
  6. ControlNet 模型库 (Hugging Face) — lllyasviel 官方 ControlNet 模型下载
  7. ComfyUI-3D-Pack — 3D 相关自定义节点包(根据实际节点替换链接)
  8. Comfy Cloud → Comfy Cloud — 云端部署方式无需本地配置
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐