Tutorial Lesson

ControlNet 是什么

ComfyUI保姆级零基础教程 58 浏览 2026-07-08 更新 免费阅读

一、为什么只有 Prompt 不够?

仅靠文字 Prompt,模型对 精确结构 的控制有限:

  • 指定 Exact 姿势(手臂角度、站姿)→ 常随机;

  • 复制线稿/边缘/深度 → 构图易漂;

  • 建筑透视、房间布局 → 难稳定;

  • 人物骨架 → 易多手多腿。

ControlNet 通过 额外条件图(或从参考图提取的条件)约束生成,使 结构跟参考走,内容跟 Prompt 走


二、ControlNet 是什么?(通俗版)

ControlNet 是一类 附加神经网络,在扩散采样时 修改 MODEL 的行为,使其生成结果 符合某种空间条件

概念

说明

条件图

边缘图、深度图、骨架图等(常从参考图预处理得到)

ControlNet 权重

.safetensors 模型文件,放 models/controlnet/

Apply 节点

把条件注入 KSampler 前的 MODEL / CONDITIONING 链

类比:Prompt 是 「画什么主题」;ControlNet 是 「线条/骨架/深度必须长这样」透明描稿


三、与 Prompt、LoRA 的分工

手段

主要控制

Prompt

主体、风格、颜色、氛围、质量词

LoRA

画风/角色/概念的微调

ControlNet

空间结构:姿势、轮廓、深度、线稿

IP-Adapter

参考图的 风格/内容/人脸(第 6-5 节,与 ControlNet 互补)

组合常见:Prompt 描述场景 + OpenPose 锁姿势 + IP-Adapter 锁风格。


四、ComfyUI 中的基本流程

[参考图 Load Image]
        ↓
[预处理器]  →  条件图 (IMAGE)
        ↓
[Load ControlNet Model]
        ↓
[Apply ControlNet]  ← MODEL + CONDITIONING + control_image
        ↓
   修改后的 MODEL / CONDITIONING
        ↓
[KSampler] → [VAE Decode] → 出图

两条线并行:

  1. Checkpoint → MODEL / CLIP → Prompt → KSampler;

  2. 参考图 → 预处理 → ControlNet Apply → 注入 到 MODEL 或 CONDITIONING(视节点版本)。


五、预处理器(Preprocessor)

原始照片 rarely 直接进 ControlNet,往往先 提取 条件:

类型

预处理产出

Canny

边缘线

Depth

深度图

OpenPose

人体骨架

Lineart

线稿

ComfyUI 常用 ControlNet Aux / AUX Preprocessor 类节点,或 Apply 节点内置选项。


六、ControlNet 强度与生效区间

Apply ControlNet 节点常见参数:

参数

含义

strength

条件约束有多强,0–1

start_percent / end_percent

采样过程的 哪一段 启用 ControlNet(0–1 表示去噪进度)

  • strength 过高 → 僵硬、贴原图过死;

  • 过低 → 控不住;

  • 仅在前半段启用 → 先定结构,后半让 Prompt 润色细节(常见技巧)。


七、适用场景(何时用 ControlNet)

适合

不太需要

指定人物姿势

纯文字随机构图即可

线稿上色

抽象背景

保持房间深度/透视

只要风格词

复制照片构图重绘

简单 icon

建筑/产品设计结构

 


八、模型与 SD 版本

  • SD1.5 ControlNet 不能用于 SDXL Checkpoint,反之亦然;

  • 文件名常含 sd15 / sdxl

  • Flux 等有 专用 ControlNet,需单独下载与工作流

路径:

ComfyUI/models/controlnet/

九、与 img2img 的关系

方式

控制来源

img2img + denoise

原图像素 latent,整体软约束

ControlNet

显式边缘/深度/骨架,结构硬约束

同时使用:img2img 保留色调 + ControlNet 锁姿势。


十、常见误解

误解

事实

ControlNet = 复制整张图

只约束 条件类型(边/深度等),不是像素拷贝

有 ControlNet 不用写 Prompt

Prompt 仍决定 画什么

一个 ControlNet 万能

不同类型不同用途(6-2 选型)

参考图越好出图越好

预处理器质量、strength 都影响

推荐教程

继续学习相关章节