ComfyUI_Style_Aligned插件保姆级教程
1. 插件简介
插件地址: https://github.com/leeguandong/ComfyUI_Style_Aligned
这个插件是一个神奇的"风格复制机"!想象一下,你有一张很喜欢的图片风格,比如一张梦幻的插画,然后你想让AI生成的其他图片都保持这种风格。这个插件就像一个"风格印章",通过共享qkv的方式来zero shot得到相似图,风格一致图生成,reference方法。
简单来说,它能让你的AI生成图片保持风格一致性,就像用同一支画笔、同一种颜料画出来的效果一样。无论你想生成什么内容,都能保持相同的艺术风格。
2. 如何安装
方法一:使用ComfyUI Manager(推荐)
- 打开ComfyUI,点击Manager按钮
- 在插件列表中搜索"Style_Aligned"
- 点击安装,等待完成后重启ComfyUI
方法二:手动安装
- 打开ComfyUI的安装文件夹
- 进入
custom_nodes文件夹 - 在命令行中输入:
git clone https://github.com/leeguandong/ComfyUI_Style_Aligned.git - 重启ComfyUI
3. 节点详解
3.1 SA SDXL Model Loader(模型加载器)
这个节点就像一个"模型管家",专门负责加载SDXL模型。它是整个风格对齐流程的第一步,就像开始作画前先准备好画笔一样。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
| :— | :— | :— | :— | :— | :— | :— |
| 模型名称 | ckpt_name | 下拉选择 | 任意SDXL模型 | 选择你要用的AI画图模型,就像选择用哪支画笔 | 指定要加载的SDXL检查点文件 | 选择你下载好的SDXL模型文件 |
3.2 SA Scheduler Loader(计划器加载器)
这个节点像一个"绘画节拍器",控制AI画图的节奏和步骤。它决定了AI是快速出图还是慢慢雕琢。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
| :— | :— | :— | :— | :— | :— | :— |
| 调度器名称 | scheduler_name | 下拉选择 | DPM++ 2M Karras | 选择AI画图的"节奏",就像选择音乐的节拍 | 指定扩散过程的采样调度器 | 一般用DPM++系列效果比较好 |
3.3 SA Controlnet ModelLoader(控制网络模型加载器)
这个节点是个"精准指挥家",当你想让AI按照某种特定结构(比如人物姿势、建筑轮廓)来画图时,它就发挥作用了。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
| :— | :— | :— | :— | :— | :— | :— |
| 控制网络模型 | control_net_name | 下拉选择 | 根据需求选择 | 选择一个"结构指导师",告诉AI要按什么样的结构来画 | 加载特定的ControlNet模型文件 | 比如选择pose模型来控制人物姿势 |
3.4 SA Depth(深度图加载器)
这个节点是个"立体感制造师",它能读取图片的深度信息,让AI知道画面中哪里是前景,哪里是背景。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
| :— | :— | :— | :— | :— | :— | :— |
| 深度图输入 | depth_image | 图片文件 | 任意深度图 | 提供一张"立体地图",告诉AI画面的前后关系 | 输入用于深度控制的深度图像 | 上传一张黑白深度图,白色是近景,黑色是远景 |
3.5 SA Inversion(图片反转器)
这个节点是个"时光倒流机",它能把一张现成的图片"倒推"回AI的起始状态,这样就能提取出图片的风格信息。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
| :— | :— | :— | :— | :— | :— | :— |
| 输入图片 | input_image | 图片文件 | 任意图片 | 把你想要模仿风格的图片"拆解",找出它的风格秘密 | 对输入图像进行DDIM反转处理 | 上传一张你喜欢风格的图片 |
| 反转步数 | inversion_steps | 数字 | 50 | 拆解图片的精细程度,数字越大越精细但越慢 | 执行反转过程的步数 | 50步通常足够,太多会很慢 |
3.6 SA Handler(风格对齐处理器)
这个节点是整个插件的"大脑",它负责把风格信息应用到生成过程中,确保所有图片都保持相同风格。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
| :— | :— | :— | :— | :— | :— | :— |
| 共享注意力 | share_attn | 下拉选择 | q+k | 决定AI"注意力"的分享方式,就像决定画家关注画面的哪些部分 | 指定自注意力机制中哪些组件被标准化 | q+k平衡质量和效果,q+k+v效果更强但质量可能下降 |
| 共享标准化 | share_norm | 下拉选择 | both | 决定AI"标准化"的分享范围,影响风格一致性的强度 | 指定是否在批次间共享标准化 | both效果最强,group或layer适用于特定情况 |
| 风格强度 | scale | 数字 | 1.0 | 风格对齐的强度,就像调节"风格复制"的浓度 | 应用风格对齐效果的比例 | 1.0是标准强度,可以调节到0.5-1.5之间 |
3.7 SA SDXL Kampler(文字生图采样器)
这个节点是个"文字画家",它根据你的文字描述来生成图片,同时保持设定的风格。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
| :— | :— | :— | :— | :— | :— | :— |
| 随机种子 | seed | 数字 | 任意数字 | 控制生成结果的随机性,同样的种子会生成相同的图 | 控制噪声生成的随机种子 | 固定种子可以复现结果 |
| 采样步数 | steps | 数字 | 20-50 | AI画图的"细致程度",步数越多越精细但越慢 | 扩散过程的采样步数 | 20步快速预览,50步高质量 |
| 引导强度 | cfg | 数字 | 7-12 | AI对你文字描述的"听话程度",数字越大越听话 | 分类器自由引导强度 | 7-12之间效果较好 |
| 正面提示词 | positive_prompt | 文字 | 描述内容 | 告诉AI你想要画什么,就像给画家下订单 | 描述期望生成内容的文本 | "a beautiful cat, high quality" |
| 负面提示词 | negative_prompt | 文字 | 不想要的内容 | 告诉AI你不想要什么,就像告诉画家别画什么 | 描述不希望出现内容的文本 | "blurry, low quality, bad anatomy" |
3.8 SA SDXL Transfer Kampler(图生图采样器)
这个节点是个"图片改造师",它能根据一张现有图片为基础,按照你的要求进行改造,同时保持风格一致。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
| :— | :— | :— | :— | :— | :— | :— |
| 输入图片 | input_image | 图片文件 | 任意图片 | 提供一张"底图",AI会在这基础上进行改造 | 作为生成起点的输入图像 | 上传你想要改造的图片 |
| 降噪强度 | denoise | 数字 | 0.3-0.8 | 决定AI改造图片的"大胆程度",数字越大改变越多 | 控制对原图的保持程度 | 0.3轻微改动,0.8大幅改造 |
| 随机种子 | seed | 数字 | 任意数字 | 控制改造结果的随机性,同样的种子会产生相同改造 | 控制噪声生成的随机种子 | 固定种子便于调试参数 |
| 采样步数 | steps | 数字 | 20-50 | AI改造图片的"精细程度",步数越多越精细但越慢 | 扩散过程的采样步数 | 20步快速,50步精细 |
| 引导强度 | cfg | 数字 | 7-12 | AI对你改造要求的"听话程度",数字越大越听话 | 分类器自由引导强度 | 7-12之间效果较好 |
| 正面提示词 | positive_prompt | 文字 | 改造要求 | 告诉AI你想把图片改造成什么样 | 描述期望改造效果的文本 | "turn into anime style" |
| 负面提示词 | negative_prompt | 文字 | 不想要的效果 | 告诉AI改造时要避免什么 | 描述不希望出现的改造效果 | "keep original face" |
3.9 SA SDXL Controlnet Kampler(控制网络采样器)
这个节点是个"精准雕刻师",它结合了风格对齐和精确控制,让你既能保持风格一致,又能精确控制生成内容的结构。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
| :— | :— | :— | :— | :— | :— | :— |
| 控制图片 | control_image | 图片文件 | 控制图 | 提供一张"结构指导图",告诉AI按什么结构来画 | 用于ControlNet引导的控制图像 | 上传姿势图、边缘图等控制图 |
| 控制强度 | control_strength | 数字 | 0.5-1.5 | 控制图的"指导力度",数字越大AI越严格按照控制图来画 | ControlNet的影响强度 | 1.0标准强度,可根据需要调节 |
| 随机种子 | seed | 数字 | 任意数字 | 控制生成结果的随机性,同样的种子会生成相同的图 | 控制噪声生成的随机种子 | 固定种子便于对比效果 |
| 采样步数 | steps | 数字 | 20-50 | AI画图的"细致程度",步数越多越精细但越慢 | 扩散过程的采样步数 | 30步是比较好的平衡点 |
| 引导强度 | cfg | 数字 | 7-12 | AI对你文字描述的"听话程度",数字越大越听话 | 分类器自由引导强度 | 配合ControlNet使用时可以稍微调低 |
| 正面提示词 | positive_prompt | 文字 | 描述内容 | 告诉AI你想要画什么,配合控制图使用 | 描述期望生成内容的文本 | "a person dancing, high quality" |
| 负面提示词 | negative_prompt | 文字 | 不想要的内容 | 告诉AI你不想要什么,避免生成质量问题 | 描述不希望出现内容的文本 | "distorted, bad hands, blurry" |
4. 使用技巧和建议
4.1 风格提取技巧
- 选择合适的参考图:选择风格特征明显的图片作为参考,避免过于复杂的图片
- 调整反转步数:风格简单的图片可以用较少步数(30步),复杂风格需要更多步数(50-100步)
4.2 参数调节建议
- 风格强度控制:初学者建议从0.8开始尝试,效果太强可以降到0.5-0.7
- 共享设置:大多数情况下使用默认的"q+k"和"both"就够了
- 采样步数:20-30步通常足够,超过50步提升有限但耗时很长
4.3 工作流程建议
- 先用SA Inversion处理参考图片
- 设置SA Handler的基本参数
- 使用SA SDXL Kampler生成第一批图片
- 根据效果调整参数
- 批量生成最终图片
5. 常见问题解答
Q1: 为什么生成的图片风格不够一致?
A: 可能是风格强度设置过低,尝试将scale参数调高到1.0-1.2,或者将share_attn改为"q+k+v"。
Q2: 图片质量下降怎么办?
A: 风格对齐强度过高可能影响质量,尝试降低scale参数到0.6-0.8,或者将share_attn改回"q+k"。
Q3: 处理速度太慢怎么办?
A: 减少采样步数到20-30步,降低反转步数到30-50步,这样能显著提高速度。
Q4: 控制网络不起作用?
A: 检查控制图片是否正确预处理,确保control_strength参数在0.8-1.2之间。
Q5: 生成结果不稳定?
A: 固定随机种子(seed)参数,这样可以在调试时保持结果的一致性。
6. 进阶使用技巧
6.1 批量风格转换
使用SA SDXL Transfer Kampler配合不同的denoise值,可以实现从轻微风格调整到完全风格转换的效果。
6.2 结合其他插件
这个插件可以与其他ComfyUI插件很好地结合使用,比如:
- 配合放大插件进行高分辨率风格转换
- 结合动画插件制作风格一致的动画序列
- 与面部修复插件结合保持人物特征
6.3 风格混合实验
通过调整不同的参数组合,可以实现多种风格的混合效果,创造出独特的艺术风格。
这个插件就像给你的AI画家配备了一个"风格记忆器",让它能够记住并复制你喜欢的任何艺术风格。通过合理的参数调节和工作流程安排,你可以创造出风格统一、质量优秀的艺术作品系列。记住,多练习和实验是掌握这个工具的关键!