Apply ControlNet 应用ControlNet节点
目前文档是原来 Apply ControlNet(Advanced)
节点的说明,最早的 Apply ControlNet
节点已被重命名为 Apply ControlNet(Old)
,但 comfyui.org 为了保证兼容性,在你下载到的许多工作流文件夹里应该还可以看到 Apply ControlNet(Old)
节点,但是目前你已经无法通过搜索或者节点列表看到 Apply ControlNet(Old)
节点,所以请使用 Apply ControlNet
节点。
此节点将 ControlNet 应用于给定的图像和条件,根据控制网络的参数和指定的强度调整图像的属性,比如 Depth、OpenPose、Canny、HED等等。
Apply ControlNet 文档说明
- 类名:
ControlNet应用
- 类别:
条件
- 输出节点:
False
使用 controlNet 要求对输入图像进行预处理,由于ComfyUI 初始节点不带处理器和 controlNet 模型,所以请先安装ContrlNet预处理器这里下载与处理器和contrlNet 对应的模型。
Apply ControlNet 输入类型
参数名称 | 数据类型 | 作用 |
---|---|---|
positive | CONDITIONING | 正向条件数据,来自CLIP文本编码器或者其它条件输入 |
negative | CONDITIONING | 负向条件数据,来自CLIP文本编码器或者其它条件输入 |
control_net | CONTROL_NET | 要应用的controlNet模型,通常输入来自 controlNt加载器 |
image | IMAGE | 用于 controlNet 应用的图片,需要经过预处理器处理 |
vae | VAE | Vae模型输入 |
strength | FLOAT | 用来控制网络调整的强度,取值0~10。建议取值在0.5~1.5之间比较合理,越小则模型会发挥越高的自由度,越大则会被限制得越严格,过高会出现很诡异的画面。你也可以通过自己测试来调整这个值,用来微调控制网络对图像产生的影响。 |
start_percent | FLOAT | 取值 0.000~1.000,确定开始应用controlNet的百分比,比如取值0.2,意味着ControlNet的引导将在扩散过程完成20%时开始影响图像生成 |
end_percent | FLOAT | 取值 0.000~1.000,确定结束应用controlNet的百分比,比如取值0.8,意味着ControlNet的引导将在扩散过程完成80%时停止影响图像生成 |
Apply ControlNet 输出类型
参数名称 | 数据类型 | 作用 |
---|---|---|
positive | CONDITIONING | 经过ControlNet 处理后的正向条件数据,可以输出到下一个ControlNet 或者 K采样器等节点 |
negative | CONDITIONING | 经过ControlNet 处理后的负向条件数据,可以输出到下一个ControlNet 或者 K采样器等节点 |
如果要使用T2IAdaptor样式模型,请改用Apply Style Model
节点
ComfyUI ControlNet 使用示例
访问下面的页面查看示例
- ComfyUI OpenPose controlNet使用示例
- ComfyUI Depth controlNet使用示例
- ComfyUI Canny controlNet使用示例
- ComfyUI Multi ControlNet使用示例
ControlNet 阶段控制设置说明
在节点的设置中你可以看到有 start_percent
和 end_percent
两个参数,这两个参数可以用来控制 ControlNet 在生成过程中的应用阶段,在使用 ControlNet 时
- 你可以先设置
start_percent
和end_percent
为默认的 0.000 和 1.000,然后根据需要调整这两个参数的值,来查看应用的效果
下面是对于阶段控制的一些图例说明
1. 各类型ControlNet阶段控制参数配置参考
类型 | 推荐权重 | 阶段范围 | 关键预处理参数 | 最佳应用场景 | 特别技巧 |
---|---|---|---|---|---|
Canny | 0.8-1.2 | 0.0-0.4 | 阈值:100/200, 锐化15% | 建筑/产品设计 | 透明材质开启Invert,复杂结构分段处理 |
HED | 0.6-0.9 | 0.2-0.7 | 高斯模糊σ=1.5, 平滑20% | 人像/服装设计 | Anime模式适合二次元,Realism模式保留真实细节 |
MLSD | 0.7-1.0 | 0.3-0.8 | 最小线长15px, 角度容差15度 | 工程制图 | 墙面倾斜时权重+0.2,玻璃幕墙降权0.3 |
Depth | 0.7-1.0 | 0.2-0.9 | MiDaS大模型, 3D映射 | VR/医学可视化 | 近景增强模式提升主体细节,ZoeDepth适合微距场景 |
Normal | 0.5-0.8 | 0.4-1.0 | 分辨率2048px, 环境光遮蔽0.3 | 产品渲染 | 金属材质开启Specular,多光源合成增强立体感 |
Scribble | 0.4-0.7 | 0.5-1.0 | SoftEdge模糊3px, 色相容差15% | 概念设计 | 渐变区域使用50%透明度蒙版,Pantone色库保持品牌一致性 |
Lineart | 0.6-0.9 | 0.3-1.0 | 抗锯齿开启, 线宽±2px | 角色原画 | Anime模式线稿简化,Realism模式保留复杂褶皱 |
OpenPose | 0.9-1.1 | 0.0-0.3 | 25点骨骼, 手部细节增强 | 动态捕捉 | 运动模糊补偿防止残影,武术动作提升权重至1.2 |
Segmentation | 0.8-1.0 | 0.0-0.7 | ADEPT 2.0, 蒙版羽化10px | 广告合成 | 天空区域降权0.2,建筑边缘锐化+20% |
Tile | 0.3-0.6 | 0.4-0.9 | 256x256分块, 重复率30% | 材质生成 | Variation随机化增加自然感,砖墙纹理开启无缝拼接 |
2. 经典场景配置模板
2.1、建筑可视化设计
控制类型 | 权重 | 阶段范围 | 预处理参数 | 调整技巧 |
---|---|---|---|---|
Canny | 1.0 | 0.0-0.4 | 阈值100/200 | 玻璃幕墙开启Invert |
Depth | 0.8 | 0.2-0.7 | MiDaS大模型 | 中景区域增强20% |
MLSD | 0.6 | 0.5-0.9 | 最小线长20px | 倾斜墙体权重提升至0.8 |
2.2、游戏角色设计
控制类型 | 权重 | 阶段范围 | 预处理参数 | 动态调节 |
---|---|---|---|---|
OpenPose | 1.0 | 0.0-0.3 | 完整骨骼 | 第20步后降权至0.7 |
Lineart | 0.7 | 0.4-1.0 | Anime模式 | 装备区域权重+0.1 |
Scribble | 0.5 | 0.5-1.0 | SoftEdge模糊2px | 色块边界强度设为0.3 |
2.3、产品概念设计
控制类型 | 权重 | 阶段范围 | 预处理参数 | 材质优化 |
---|---|---|---|---|
HED | 0.9 | 0.0-0.3 | 高斯模糊σ=1.5 | 金属表面开启Specular |
Normal | 0.7 | 0.2-0.6 | 分辨率2048x2048 | 塑料材质降权至0.5 |
Depth | 0.6 | 0.5-0.9 | 近景增强 | 背景虚化强度1.2 |
2.4、医学可视化
控制类型 | 权重 | 阶段范围 | 预处理参数 | 精度控制 |
---|---|---|---|---|
Scribble | 0.8 | 0.0-0.5 | 红色标注线 | 器官边界容差±2px |
Depth | 0.7 | 0.4-0.8 | CT扫描模式 | 分层间距0.1mm |
Lineart | 0.9 | 0.7-1.0 | Ultra Detail | 血管路径精度1px |
2.5、电影场景合成
控制类型 | 权重 | 阶段范围 | 预处理参数 | 氛围营造 |
---|---|---|---|---|
Seg | 0.9 | 0.0-0.6 | ADEPT模型 | 天空区域降权0.2 |
Shuffle | 0.6 | 0.3-0.8 | 色温5500K | 霓虹灯区权重0.8 |
Depth | 0.7 | 0.5-1.0 | 动态范围压缩 | 前景锐化强度1.5 |
2.6、电商广告设计
控制类型 | 权重 | 阶段范围 | 预处理参数 | 商业优化 |
---|---|---|---|---|
Canny | 1.2 | 0.0-0.4 | 边缘锐化+15% | 反光材质增强模式 |
Scribble | 0.7 | 0.3-0.7 | Pantone色库 | 品牌色容差±5% |
Inpaint | 0.5 | 0.6-1.0 | 羽化半径15px | 文字区域保护蒙版 |
复制说明:完整选中从第一个
#
到本行内容,确保包含所有表格与流程图
3. 专家级调整策略
3.1 阶段权重衰减模型
生成进度 | 控制类型 | 衰减曲线 | 公式示例 |
---|---|---|---|
0-30% | 结构控制 | 恒定强度 | strength = 1.0 |
30-70% | 空间控制 | 线性衰减 | strength = 1.0 - (step-30)/40*0.5 |
70-100% | 细节控制 | 逆向增强 | strength = 0.5 + (step-70)/30*0.5 |
3.2 多ControlNet冲突解决方案
冲突类型 | 可视化表现 | 解决策略 |
---|---|---|
结构-空间冲突 | 物体漂浮/透视错误 | 设置阶段间隔≥0.15 |
空间-细节冲突 | 材质扭曲/反光异常 | 添加区域遮罩隔离控制范围 |
结构-细节冲突 | 关键特征丢失 | 提升结构控制强度20% |
4. 常见问题速查
Q1:控制效果突然消失?
✅ 检查end_percent是否过早结束(建议≥0.8)
✅ 确认没有其他ControlNet覆盖该区域
Q2:生成结果出现重影?
✅ 降低阶段重叠度(建议≤20%)
✅ 为冲突ControlNet设置排除遮罩
Q3:显存不足如何优化?
✅ 采用阶梯式阶段配置(示例:0.0-0.3 → 0.4-0.6 → 0.7-1.0)
✅ 降低非关键ControlNet的分辨率至512px
相关资源
Apply ControlNet (OLD) 旧版本节点说明
这个节点为早期版本的 Apply ControlNet 节点,目前节点相关选项已更新,为了保证兼容性在 ComfyUI 中如果你下载了使用旧版本节点的工作流则会显示为此节点,你可以更换为新的 Apply ControlNet 节点。
Apply ControlNet (OLD) 输入类型
参数名称 | 数据类型 | 作用 |
---|---|---|
条件 | CONDITIONING | 条件数据,来自CLIP文本编码器或者其它条件输入(如另一个条件节点的输入) |
control_net | CONTROL_NET | 要应用的controlNet模型,通常输入来自 controlNt加载器 |
image | IMAGE | 用于 controlNet 应用的图片,需要经过预处理器处理 |
强度 | FLOAT | 用来控制网络调整的强度,取值0~10。建议取值在0.5~1.5之间比较合理,越小则模型会发挥越高的自由度,越大则会被限制得越严格,过高会出现很诡异的画面。你也可以通过自己测试来调整这个值,用来微调控制网络对图像产生的影响。 |
Apply ControlNet (OLD) 输出类型
参数名称 | 数据类型 | 作用 |
---|---|---|
条件 | CONDITIONING | 经过ControlNet 处理后的条件数据,可以输出到下一个ControlNet 或者 K采样器等节点 |