ComfyUI_VisualStylePrompting 插件保姆级教程
1. 插件简介
插件地址: https://github.com/ExponentialML/ComfyUI_VisualStylePrompting
这个插件就像是一个神奇的"风格复制机"!它能让你的AI画画时,参考一张图片的风格特点,然后把这些特点应用到新的画面上。就好比你给AI看了一张水彩画,然后告诉它"我要画一只猫,但是要用这张水彩画的风格",AI就能画出水彩风格的猫咪。
主要功能:
- 风格迁移(把一张图片的绘画风格复制到另一张图片上)
- 参考图像引导生成(用一张图片来指导AI画画的风格)
- 精细控制风格应用的强度和范围
- 支持部分风格迁移(只复制某些特定的风格元素)
能带来什么效果:
- 让AI学会模仿特定的绘画风格
- 保持画面内容的同时改变艺术风格
- 创造出风格一致的系列作品
- 实现更精准的艺术风格控制
2. 如何安装
- 打开终端或命令提示符
- 进入你的 ComfyUI 安装目录下的
custom_nodes文件夹 - 运行以下命令:
git clone https://github.com/ExponentialML/ComfyUI_VisualStylePrompting.git
- 重启 ComfyUI
3. 节点详细解析
3.1 ApplyVisualStyle 节点(应用视觉风格)
这个节点就像一个"风格魔法师",它能把一张参考图片的艺术风格"抽取"出来,然后"注入"到你要生成的新图片中。就像把一个画家的绘画技巧教给AI,让AI用同样的风格来画新的内容。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | MODEL类型 | - | 要使用的AI绘画模型,就像选择哪个画家来画画 | 用于生成图像的扩散模型 | 连接你的主要绘画模型,比如SD1.5 |
| clip | clip | CLIP类型 | - | 文字理解器,帮AI理解你的描述文字 | CLIP文本编码器 | 连接对应模型的CLIP编码器 |
| reference_latent | reference_latent | LATENT类型 | - | 参考图片的"内在特征",就像图片的DNA | 参考图像的潜在空间表示 | 把参考图片通过VAE编码后连接这里 |
| reference_cond | reference_cond | CONDITIONING类型 | - | 描述参考图片内容的文字,告诉AI这张图片是什么 | 参考图像的文本条件 | 写上参考图片的描述,比如"油画风景" |
| positive | positive | CONDITIONING类型 | - | 你想要生成的图片描述,告诉AI你要画什么 | 正向提示条件 | 写上你想要的内容,比如"一只可爱的小猫" |
| negative | negative | CONDITIONING类型 | - | 你不想要的效果描述,告诉AI避免什么 | 负向提示条件 | 写上不想要的内容,比如"模糊,低质量" |
| enabled | enabled | True/False | True | 是否启用风格迁移功能,就像开关一样 | 是否启用视觉风格提示功能 | 设为True开启风格迁移,False关闭 |
| denoise | denoise | 0.0-1.0 | 1.0 | 重绘强度,就像调节"改变程度"的旋钮 | 去噪强度,控制生成的随机性 | 1.0是完全重新生成,0.5是半重绘 |
| input_blocks | input_blocks | True/False | False | 是否在"输入层"应用风格,影响图片的基础结构 | 是否在输入块应用注意力交换 | 开启后会影响图片的基本构图和形状 |
| skip_input_layers | skip_input_layers | 0-48 | 24 | 跳过多少个输入层不应用风格,数字越大跳过越多 | 输入块中跳过的层数 | 设为0表示所有输入层都应用风格 |
| middle_block | middle_block | True/False | False | 是否在"中间层"应用风格,影响图片的细节处理 | 是否在中间块应用注意力交换 | 开启后会影响图片的中等细节 |
| skip_middle_layers | skip_middle_layers | 0-2 | 1 | 跳过多少个中间层不应用风格 | 中间块中跳过的层数 | 通常保持默认值1 |
| output_blocks | output_blocks | True/False | True | 是否在"输出层"应用风格,影响图片的最终效果 | 是否在输出块应用注意力交换 | 开启后会影响图片的最终视觉效果 |
| skip_output_layers | skip_output_layers | 0-72 | 24 | 跳过多少个输出层不应用风格 | 输出块中跳过的层数 | 数字越小,风格应用越强烈 |
| init_image | init_image | IMAGE类型 | 可选 | 初始图片,作为生成的起点(可选) | 可选的初始图像输入 | 如果有基础图片想要改造,可以连接这里 |
4. 使用技巧和建议
4.1 新手入门建议
- 从简单开始:先用默认设置,只改变参考图片和描述文字
- 描述要准确:reference_cond要准确描述参考图片,positive要清楚描述想要的结果
- 逐步调整:先看默认效果,再慢慢调整各个参数
4.2 参数调整技巧
-
风格强度控制:
- 想要强烈的风格效果:减少skip_output_layers的数值
- 想要温和的风格效果:增加skip_output_layers的数值
-
风格应用范围:
- 只要表面风格:只开启output_blocks
- 要深层风格:同时开启input_blocks和middle_block
- 要完整风格迁移:三个blocks都开启
-
描述文字技巧:
- reference_cond要简洁准确,重点描述风格特征
- positive要详细描述想要的内容,但避免风格描述冲突
4.3 常见应用场景
- 艺术风格迁移:把照片变成油画、水彩画等艺术风格
- 风格统一:让多张图片保持相同的艺术风格
- 创意设计:结合不同的内容和风格创造新作品
5. 常见问题解答
Q1: 为什么风格迁移效果不明显?
A: 可能的原因和解决方法:
- 检查enabled参数是否设为True
- 减少skip_output_layers的数值,让更多层参与风格迁移
- 确保reference_cond准确描述了参考图片的风格特征
- 尝试开启input_blocks或middle_block
Q2: 生成的图片质量很差怎么办?
A: 尝试以下解决方法:
- 检查negative提示是否包含了质量控制词汇
- 调整denoise参数,可能设置得太高或太低
- 确保参考图片质量良好
- 检查模型是否适合当前的风格类型
Q3: 风格迁移太强烈,覆盖了原本内容怎么办?
A: 可以这样调整:
- 增加skip_output_layers的数值
- 关闭input_blocks,只保留output_blocks
- 调整denoise参数到较低值(如0.7-0.8)
- 在positive提示中强调想要保留的内容特征
Q4: 处理速度很慢怎么办?
A: 优化建议:
- 不要同时开启所有blocks,根据需要选择
- 适当增加skip层数,减少处理的层数
- 使用较小尺寸的参考图片
- 确保硬件配置足够
Q5: 不同风格的参考图片效果差异很大?
A: 这是正常现象,建议:
- 针对不同类型的参考图片调整参数
- 抽象艺术风格可能需要更多的input_blocks参与
- 写实风格可能只需要output_blocks就足够
- 多尝试不同的skip层数设置
6. 推荐工作流程
6.1 基础风格迁移流程
- 加载参考图片 → VAE编码 → reference_latent
- 编写参考图片描述 → CLIP编码 → reference_cond
- 编写目标内容描述 → CLIP编码 → positive
- 连接ApplyVisualStyle节点
- 连接采样器进行生成
6.2 高质量风格迁移流程
- 准备高质量参考图片
- 精心编写准确的描述文字
- 先用默认参数测试效果
- 根据结果调整blocks和skip参数
- 多次迭代优化参数设置
6.3 批量风格统一流程
- 选定一张风格参考图片
- 固定reference_latent和reference_cond
- 只改变positive描述生成不同内容
- 保持ApplyVisualStyle参数不变
- 批量生成风格统一的系列作品
7. 高级应用技巧
7.1 多层次风格控制
- 浅层风格:只开启output_blocks,获得表面的色彩和纹理风格
- 深层风格:开启input_blocks,影响构图和基本形状
- 全面风格:三个blocks全开,获得最完整的风格迁移
7.2 风格强度精细调节
- 通过调整skip参数实现渐进式风格应用
- skip_output_layers从24逐渐减少到0,观察风格强度变化
- 找到最适合的风格强度平衡点
7.3 创意组合应用
- 结合ControlNet实现结构+风格的双重控制
- 配合LoRA模型增强特定风格效果
- 使用多个ApplyVisualStyle节点实现风格混合
8. 注意事项
8.1 兼容性说明
- 目前主要测试了SD1.5系列模型
- 其他模型可能需要调整参数
- 建议先在SD1.5上熟悉后再尝试其他模型
8.2 性能考虑
- 这个节点会增加显存占用
- 处理时间会比普通生成更长
- 建议在性能允许的情况下使用
8.3 效果预期
- 风格迁移效果因参考图片而异
- 需要多次尝试找到最佳参数组合
- 描述文字的质量直接影响最终效果
9. 总结
ComfyUI_VisualStylePrompting插件是一个强大的风格迁移工具,虽然只有一个节点,但功能非常丰富。通过精细的参数控制,你可以实现从温和到强烈的各种风格迁移效果。
关键成功要素:
- 准确的描述文字:这是效果好坏的关键
- 合适的参数设置:需要根据具体需求调整
- 高质量的参考图片:直接影响风格迁移的质量
- 耐心的参数调试:找到最佳效果需要多次尝试
记住,这个插件就像学习一门艺术技巧,需要时间和练习才能掌握。多实验,多观察效果变化,你会发现它的强大之处!