StyleAligned ComfyUI 插件 - 保姆级教程
1. 插件简介
插件地址: https://github.com/brianfitzgerald/style_aligned_comfy
这个插件是基于 StyleAligned 技术开发的,简单来说就是一个"风格统一器"。想象一下,你有一张很喜欢的图片风格,比如一张油画风格的风景画,你想让 AI 生成的其他图片都保持这种油画风格。或者你想让一批图片的风格保持一致,不要出现有的像照片、有的像卡通这种混乱情况。
这个插件能给我们带来什么效果:
- 🎨 风格复制器:把一张图片的风格"复制"到新生成的图片上
- 🔄 批量风格统一:让一批图片的风格保持完全一致
- 🎯 精准控制:可以调节风格影响的强度,想要多像就多像
就像你有一个神奇的画笔,能把任何画作的风格"吸取"出来,然后用这个风格去画新的内容。
2. 如何安装
方法一:手动下载(推荐新手)
- 打开插件地址:https://github.com/brianfitzgerald/style_aligned_comfy
- 点击绿色的 "Code" 按钮
- 选择 "Download ZIP"
- 解压下载的文件
- 把解压后的文件夹复制到
ComfyUI/custom_nodes/目录下 - 重启 ComfyUI
方法二:Git 命令(适合有经验的用户)
cd ComfyUI/custom_nodes/
git clone https://github.com/brianfitzgerald/style_aligned_comfy.git
3. 节点详细解析
3.1 StyleAligned Sample Reference Latents 节点
这个节点是干嘛的?
这个节点就像一个"风格提取器"。你给它一张参考图片,它会把这张图片在生成过程中的每一步都记录下来,就像拍摄一部慢动作电影一样。这些记录下来的"中间状态"就是我们后面用来复制风格的"秘密配方"。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | MODEL类型 | 你正在使用的模型 | 这是你的"画师",决定了画画的基本能力 | 用于生成图像的基础扩散模型 | 连接你的主模型,比如SD1.5或SDXL |
| noise_seed | noise_seed | 整数 | 任意数字 | 这是"随机种子",就像掷骰子的结果,决定了随机性 | 控制噪声生成的随机种子 | 设置为123,每次用123都会得到相同的随机效果 |
| cfg | cfg | 浮点数 | 8.0 | 这是"听话程度",数字越大AI越严格按照你的描述画 | 分类器自由引导强度 | 设置8.0表示中等程度的听话,15.0表示非常听话 |
| positive | positive | CONDITIONING | 正面提示词 | 这是你告诉AI"我想要什么"的描述 | 正向条件引导信息 | 连接包含"beautiful landscape"等描述的提示词 |
| negative | negative | CONDITIONING | 负面提示词 | 这是你告诉AI"我不想要什么"的描述 | 负向条件引导信息 | 连接包含"blurry, ugly"等不想要效果的提示词 |
| sampler | sampler | SAMPLER | 采样器 | 这是"画画方法",不同方法画出来的效果略有不同 | 扩散模型的采样算法 | 使用DPM++或Euler等采样器 |
| sigmas | sigmas | SIGMAS | 噪声调度 | 这是"画画步骤表",告诉AI每一步要怎么画 | 噪声调度参数序列 | 通常从调度器节点获取,控制去噪过程 |
| latent_image | latent_image | LATENT | 潜在图像 | 这是AI画画的"画布",一开始是纯噪声 | 潜在空间中的图像表示 | 从空潜在图像或图像编码器获取 |
3.2 StyleAligned Reference Sampler 节点
这个节点是干嘛的?
这个节点是真正的"风格复制器"。它接收前面节点提取的"风格配方",然后用这个配方来生成新的图片。就像你有了一个大师的调色板和画法,现在可以用这套技法来画新的内容了。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | MODEL类型 | 你正在使用的模型 | 这是你的"画师",决定了画画的基本能力 | 用于生成图像的基础扩散模型 | 连接你的主模型,比如SD1.5或SDXL |
| share_norm | share_norm | 选择列表 | both | 这是"风格共享程度",决定多深层次地复制风格 | 控制归一化层的共享方式 | "both"表示全面共享,"group"或"layer"表示部分共享 |
| share_attn | share_attn | 选择列表 | q+k | 这是"注意力共享方式",控制AI关注细节的方式 | 控制自注意力机制中哪些组件被共享 | "q+k"适合大多数情况,"q+k+v"效果更强但可能影响质量 |
| scale | scale | 浮点数 | 1.0 | 这是"风格强度调节器",就像音量旋钮一样 | 风格对齐效果的缩放因子 | 1.0是标准强度,0.5是一半强度,1.5是加强版 |
| batch_size | batch_size | 整数 | 2 | 这是"一次画几张",决定同时生成多少张图片 | 批处理大小,同时生成的图像数量 | 设置为4表示一次生成4张风格一致的图片 |
| noise_seed | noise_seed | 整数 | 任意数字 | 这是"随机种子",就像掷骰子的结果,决定了随机性 | 控制噪声生成的随机种子 | 设置为456,每次用456都会得到相同的随机效果 |
| cfg | cfg | 浮点数 | 8.0 | 这是"听话程度",数字越大AI越严格按照你的描述画 | 分类器自由引导强度 | 设置8.0表示中等程度的听话,15.0表示非常听话 |
| positive | positive | CONDITIONING | 正面提示词 | 这是你告诉AI"我想要什么"的描述 | 正向条件引导信息 | 连接包含"a robot in the garden"等新内容描述的提示词 |
| negative | negative | CONDITIONING | 负面提示词 | 这是你告诉AI"我不想要什么"的描述 | 负向条件引导信息 | 连接包含"blurry, ugly"等不想要效果的提示词 |
| ref_positive | ref_positive | CONDITIONING | 参考正面提示词 | 这是原始参考图片的描述,帮助AI理解风格来源 | 参考图像对应的正向条件 | 连接描述参考图片内容的提示词 |
| sampler | sampler | SAMPLER | 采样器 | 这是"画画方法",不同方法画出来的效果略有不同 | 扩散模型的采样算法 | 使用DPM++或Euler等采样器 |
| sigmas | sigmas | SIGMAS | 噪声调度 | 这是"画画步骤表",告诉AI每一步要怎么画 | 噪声调度参数序列 | 通常从调度器节点获取,控制去噪过程 |
| ref_latents | ref_latents | STEP_LATENTS | 参考潜在状态 | 这是从第一个节点得到的"风格配方" | 参考图像在各个去噪步骤的潜在表示 | 连接StyleAligned Sample Reference Latents的输出 |
3.3 StyleAligned Batch Align 节点
这个节点是干嘛的?
这个节点是"批量风格统一器"。它不需要参考图片,而是让一批图片的第一张作为"老大",其他图片都跟着老大的风格走。就像一个班级里,第一个学生穿什么风格的衣服,其他学生都跟着穿类似风格的衣服。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | MODEL类型 | 你正在使用的模型 | 这是你的"画师",决定了画画的基本能力 | 用于生成图像的基础扩散模型 | 连接你的主模型,比如SD1.5或SDXL |
| share_norm | share_norm | 选择列表 | both | 这是"风格共享程度",决定多深层次地统一风格 | 控制归一化层的共享方式 | "both"表示全面统一,"group"或"layer"表示部分统一 |
| share_attn | share_attn | 选择列表 | q+k | 这是"注意力共享方式",控制AI关注细节的统一程度 | 控制自注意力机制中哪些组件被共享 | "q+k"适合大多数情况,"q+k+v"统一效果更强 |
| scale | scale | 浮点数 | 1.0 | 这是"风格统一强度",就像调节统一程度的旋钮 | 风格对齐效果的缩放因子 | 1.0是标准统一度,0.5是轻微统一,0.8是强统一 |
4. 使用技巧和建议
4.1 风格参考使用技巧
- 选择合适的参考图片:选择风格特征明显的图片作为参考,比如明显的油画风格、水彩风格等
- 调节风格强度:从scale=0.5开始尝试,如果风格不够明显就逐渐增加到1.0或1.2
- 注意力共享设置:大多数情况下使用"q+k"就足够了,只有在需要极强风格统一时才用"q+k+v"
4.2 批量生成技巧
- 批量大小建议:建议batch_size设置在2-4之间,太大可能导致显存不足
- 种子固定:如果想要可重复的结果,记得固定noise_seed
- CFG调节:风格对齐时可以适当降低CFG值到6-8,避免过度引导
4.3 参数组合建议
- 轻度风格化:share_norm="group", share_attn="q+k", scale=0.5
- 中度风格化:share_norm="both", share_attn="q+k", scale=1.0
- 强度风格化:share_norm="both", share_attn="q+k+v", scale=1.2
5. 常见问题解答
Q1:为什么生成的图片风格不够明显?
A: 可能的原因和解决方案:
- scale值太小,尝试增加到1.0-1.5
- share_norm设置为"disabled",改为"both"
- 参考图片风格特征不够明显,换一张风格更突出的参考图
Q2:生成的图片质量下降了怎么办?
A: 这通常是风格强度过高导致的:
- 降低scale值到0.5-0.8
- 将share_attn从"q+k+v"改为"q+k"
- 适当调整CFG值
Q3:批量生成时图片差异太大怎么办?
A: 检查以下设置:
- 确保share_norm设置为"both"
- 使用相同的noise_seed
- 适当增加scale值
Q4:显存不够用怎么办?
A: 优化建议:
- 减少batch_size到2或1
- 降低图片分辨率
- 使用更高效的采样器如DPM++ 2M
Q5:如何获得最佳的风格复制效果?
A: 最佳实践:
- 选择风格特征鲜明的参考图片
- 使用DDIM反转获取参考潜在状态
- 设置合适的scale值(通常0.8-1.2)
- 保持参考提示词和生成提示词的一致性
6. 工作流程示例
6.1 风格参考工作流程
- 准备参考图片 → 图片加载器
- 编码参考图片 → VAE编码器 → StyleAligned Sample Reference Latents
- 设置新内容提示词 → 文本编码器
- 风格化生成 → StyleAligned Reference Sampler
- 解码输出 → VAE解码器 → 保存图片
6.2 批量风格统一工作流程
- 加载模型 → StyleAligned Batch Align
- 设置提示词 → 文本编码器
- 批量生成 → 常规采样器(使用修改后的模型)
- 解码输出 → VAE解码器 → 保存图片
7. 高级应用场景
7.1 角色一致性生成
使用风格参考功能,可以让不同场景下的同一个角色保持视觉风格的一致性。
7.2 艺术风格迁移
将经典艺术作品的风格应用到现代内容上,创造独特的艺术效果。
7.3 品牌视觉统一
为品牌内容生成保持一致视觉风格的图片素材。
7.4 故事板制作
为动画或漫画制作风格统一的故事板图片。
总结: StyleAligned 插件是一个强大的风格控制工具,通过合理的参数设置和工作流程设计,可以实现精准的风格复制和批量风格统一。记住,好的效果需要耐心调试参数,建议从默认设置开始,根据实际效果逐步调整。
插件状态: 根据官方说明,此插件不再积极维护,建议寻找其他分支或类似项目以获得持续支持。