ComfyUI-InstanceDiffusion 插件保姆级教程
1. 插件简介
插件地址: https://github.com/logtd/ComfyUI-InstanceDiffusion
这个插件是干嘛的呢?简单来说,它就像是给你的 AI 画图工具装了一个"精准定位器"。
想象一下,你要画一个视频,里面有好几个人在不同位置走来走去。普通的 AI 画图工具就像一个近视眼画家,经常把人画错位置,或者把张三画成了李四的样子。而这个 InstanceDiffusion 插件就像给画家戴上了眼镜,让它能够:
- 精确追踪每个人物:就像给每个人贴了个标签,AI 知道谁是谁
- 控制人物位置:你说让张三站左边,李四站右边,AI 就乖乖照做
- 保持人物一致性:从头到尾,张三还是那个张三,不会突然变脸
这个插件特别适合制作:
- 多人物的视频动画
- 需要精确控制角色位置的场景
- 人物需要保持一致外观的连续画面
2. 如何安装
方法一:手动下载安装
- 打开你的 ComfyUI 安装文件夹
- 找到
ComfyUI/custom_nodes/这个文件夹 - 把下载的插件文件夹放进去
- 重启 ComfyUI
方法二:用 Git 命令安装(推荐)
cd ComfyUI/custom_nodes/
git clone https://github.com/logtd/ComfyUI-InstanceDiffusion.git
下载必需的模型文件
这个插件需要三个特殊的"大脑文件"才能工作,就像汽车需要发动机一样:
| 模型名称 | 下载地址 | 放置位置 | 作用说明 |
|---|---|---|---|
| fusers.ckpt | 点击下载 | ComfyUI/models/instance_models/fuser_models/ | 负责把不同信息融合在一起,像个调色师 |
| position_net.ckpt | 点击下载 | ComfyUI/models/instance_models/positionnet_models/ | 负责记住每个人物的位置,像个导航仪 |
| scaleu.ckpt | 点击下载 | ComfyUI/models/instance_models/scaleu_models/ | 负责调整画面细节,像个美颜相机 |
注意: 如果文件夹不存在,需要手动创建这些文件夹。
3. 节点详细解析
3.1 DownloadInstanceDiffusionModels 节点 - 一键下载模型助手
这个节点是干嘛的?
这就像一个贴心的管家,帮你自动下载和加载所有需要的模型文件。如果你懒得手动下载那三个模型文件,用这个节点就对了!它会自动检查你电脑里有没有这些文件,没有的话就自动下载。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| use_segs | use_segs | True/False | True | 是否使用分割功能,就像开启"精准识别模式" | 控制是否启用语义分割来提高人物识别精度 | 一般保持 True,除非你发现识别有问题才改成 False |
| fusers_scale | fusers_scale | 0.0-10.0 | 1.0 | 融合强度调节器,就像调节"混合程度" | 控制特征融合的强度系数 | 1.0 是标准值,如果效果太强烈可以调到 0.5-0.8 |
3.2 LoadInstancePositionNetNode 节点 - 位置记忆大师
这个节点是干嘛的?
这个节点就像一个专门记位置的小助手。它会加载一个特殊的"位置记忆器",让 AI 知道每个人物应该出现在画面的哪个位置。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model_filename | model_filename | 文件列表 | position_net.ckpt | 选择位置记忆器文件,就像选择导航地图 | 指定要加载的PositionNet模型文件 | 通常只有一个选项,直接选就行 |
| use_segs | use_segs | True/False | True | 是否开启精准定位模式 | 是否使用语义分割来增强位置检测 | True 让定位更准确,False 速度更快但可能不够精确 |
3.3 LoadInstanceFusersNode 节点 - 信息融合专家
这个节点是干嘛的?
这个节点就像一个调色师,负责把不同的信息(比如人物特征、位置信息、文字描述)巧妙地混合在一起,让最终的画面更加协调自然。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model_filename | model_filename | 文件列表 | fusers.ckpt | 选择融合器文件,就像选择调色盘 | 指定要加载的Fusers模型文件 | 通常只有一个选项,直接选择即可 |
| fusers_scale | fusers_scale | 0.0-10.0 | 1.0 | 融合强度调节器,控制混合的"浓度" | 控制特征融合的强度系数 | 1.0 是标准值,太高会过度融合,太低效果不明显 |
3.4 LoadInstanceScaleUNode 节点 - 画质优化师
这个节点是干嘛的?
这个节点就像一个专业的修图师,负责让画面看起来更清晰、更自然。它会在生成过程中不断调整细节,确保最终效果达到最佳状态。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model_filename | model_filename | 文件列表 | scaleu.ckpt | 选择画质优化器文件,就像选择滤镜 | 指定要加载的ScaleU模型文件 | 通常只有一个选项,直接选择即可 |
3.5 ApplyScaleUModelNode 节点 - 画质应用器
这个节点是干嘛的?
这个节点就像一个"安装器",把刚才加载的画质优化师安装到你的主要绘画模型上。就像给相机装上一个高级镜头一样。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | MODEL类型 | 连接你的主模型 | 主要的绘画大脑,就像相机机身 | 输入的基础扩散模型 | 从 Load Checkpoint 节点连过来 |
| scaleu | scaleu | SCALEU类型 | 连接ScaleU模型 | 画质优化器,就像高级镜头 | 从LoadInstanceScaleUNode输出的ScaleU模型 | 从上面的 LoadInstanceScaleUNode 连过来 |
3.6 InstanceDiffusionTrackingPromptNode 节点 - 智能指挥官
这个节点是干嘛的?
这是整个插件的核心大脑!它就像一个聪明的导演,能够理解你的文字指令,然后告诉 AI:"第1个人应该站在左边说话,第2个人应该在右边挥手"。它把你的文字描述和人物追踪信息完美结合。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| positive | positive | CONDITIONING类型 | 连接正面提示词 | 你想要的效果描述,就像给导演的"要求清单" | 正向条件编码,描述期望生成的内容 | 从 CLIP Text Encode 节点连过来 |
| negative | negative | CONDITIONING类型 | 连接负面提示词 | 你不想要的效果描述,就像"禁止清单" | 负向条件编码,描述不希望出现的内容 | 从 CLIP Text Encode 节点连过来 |
| clip | clip | CLIP类型 | 连接CLIP模型 | 文字理解器,就像翻译官 | CLIP模型用于编码文本提示 | 从 Load CLIP 节点连过来 |
| tracking | tracking | TRACKING类型 | 连接追踪数据 | 人物位置追踪信息,就像GPS定位 | 包含每帧中人物位置和ID的追踪数据 | 需要其他追踪插件提供 |
| positionnet | positionnet | POSITIONNET类型 | 连接位置网络 | 位置记忆器,就像导航系统 | PositionNet模型用于位置编码 | 从 LoadInstancePositionNetNode 连过来 |
| fusers | fusers | FUSERS类型 | 连接融合器 | 信息融合器,就像调色盘 | Fusers模型用于特征融合 | 从 LoadInstanceFusersNode 连过来 |
| positive_text | positive_text | 多行文本 | 空白 | 详细的正面描述文字,支持特殊格式 | 包含实例标识符的正向提示文本 | 例如:"[0:0]一个穿红衣服的女孩在跳舞" |
| negative_text | negative_text | 多行文本 | 空白 | 详细的负面描述文字,支持特殊格式 | 包含实例标识符的负向提示文本 | 例如:"[0:0]模糊的脸,变形的手" |
特殊文本格式说明:
在 positive_text 和 negative_text 中,你可以使用特殊格式 [类别ID:追踪ID]描述文字:
[0:0]表示第0类的第0个对象[0:-1]表示第0类的所有对象- 例如:
[0:0]一个穿蓝色衣服的男人在走路就是给第一个人的专门描述
4. 使用技巧和建议
4.1 新手入门建议
-
先用一键下载节点:如果你是第一次使用,建议先用
DownloadInstanceDiffusionModels节点,它会自动帮你搞定所有模型文件。 -
参数从默认开始:所有参数都先用默认值,等熟悉了再慢慢调整。
-
文本格式要注意:在写 positive_text 时,记得用
[类别:追踪]描述的格式,这样 AI 才知道你在说哪个人。
4.2 进阶使用技巧
-
fusers_scale 调节技巧:
- 如果人物特征混乱,试试把值调低到 0.5-0.8
- 如果效果不够明显,可以调高到 1.2-1.5
- 超过 2.0 通常会产生奇怪的效果
-
use_segs 选择建议:
- 追踪简单场景(人物清晰、背景简单):可以设为 False 提高速度
- 追踪复杂场景(多人、复杂背景):建议设为 True 提高精度
-
文本提示词技巧:
- 每个人物的描述要尽量详细和独特
- 避免使用模糊的词汇,比如"某个人"、"那个东西"
- 可以包含动作、服装、表情等具体描述
4.3 常见工作流程
- 加载模型 →
DownloadInstanceDiffusionModels或分别加载三个模型 - 应用优化 →
ApplyScaleUModelNode把优化器装到主模型上 - 设置追踪 →
InstanceDiffusionTrackingPromptNode配置人物和描述 - 连接采样器 → 把处理好的条件连到 KSampler
5. 常见问题解答
Q1: 为什么我的节点显示红色错误?
A: 最常见的原因是模型文件没有下载或放错位置。检查一下:
- 模型文件是否下载完整
- 文件夹路径是否正确
- 文件名是否正确(注意大小写)
Q2: 生成的图片中人物位置不准确怎么办?
A: 可能的解决方案:
- 检查追踪数据是否正确
- 尝试把
use_segs设为 True - 调整
fusers_scale参数 - 确保文本描述格式正确
Q3: 插件运行很慢怎么办?
A: 优化建议:
- 如果场景简单,把
use_segs设为 False - 降低
fusers_scale值 - 确保你的显卡内存足够
- 考虑降低生成分辨率
Q4: 文本格式 [0:0] 是什么意思?
A: 这是人物标识格式:
- 第一个数字是类别ID(比如 0=人类,1=动物)
- 第二个数字是追踪ID(同一类别中的第几个个体)
- -1 表示该类别的所有个体
- 例如:
[0:0]= 第一个人,[0:1]= 第二个人
Q5: 需要什么其他插件配合使用?
A: 推荐配合使用的插件:
- KJNodes:提供边界框功能
- ComfyUI-TrackingNodes:提供视频追踪功能
- AnimateDiff-Evolved:制作动画视频
- VideoHelperSuite:处理视频文件
6. 总结
ComfyUI-InstanceDiffusion 插件是一个强大的人物追踪和控制工具,特别适合制作需要精确控制多个角色的视频内容。虽然初次使用可能觉得复杂,但掌握了基本用法后,它能大大提升你的创作效率和质量。
记住几个关键点:
- 先用一键下载节点简化安装过程
- 参数从默认值开始,逐步调整
- 文本描述要使用正确的格式
- 配合其他追踪插件使用效果更佳
希望这个教程能帮助你快速上手这个强大的插件!如果遇到问题,记得先检查模型文件和参数设置,大部分问题都能迎刃而解。
节点列表:
- DownloadInstanceDiffusionModels - 一键下载模型助手
- LoadInstancePositionNetNode - 位置记忆大师
- LoadInstanceFusersNode - 信息融合专家
- LoadInstanceScaleUNode - 画质优化师
- ApplyScaleUModelNode - 画质应用器
- InstanceDiffusionTrackingPromptNode - 智能指挥官