ComfyUI LoRA 实战:加载、权重、多 LoRA 叠加与角色一致性

"ComfyUI 官方 LoraLoader 文档确认了 LoRA 目录、双输入输出、strength 参数范围和多节点链式加载方式。"
同一个角色 LoRA,画四张图,脸都不一样。权重从 0.5 调到 1.2,看图看不出明显变化。两个 LoRA 一叠加,画风开始打架。这些问题在 ComfyUI 里比在 SD WebUI 更常见,因为节点参数拆得更细,调参空间更大,但也更容易配错。排查时需要同时看 Load LoRA 节点参数、strength_model 与 strength_clip 的差异、多 LoRA 的连线和权重分配,还要核对底模、触发词与跨图一致性设置。
LoRA 基础概念与目录准备
LoRA(Low-Rank Adaptation)是一种轻量级权重适配方案。它不修改底模 checkpoint本身,而是在运行时叠加一层额外的权重。这层权重通常只有几十 MB,而底模动辄几GB。训练时只训练这一层,所以训练成本和存储成本都比从头训练一个 checkpoint 低很多。
LoRA 文件放哪里
ComfyUI 的标准路径是 ComfyUI/models/loras/,子目录也会被检测。下载时优先选择模型作者提供的 .safetensors 文件,放进这个目录后刷新模型列表;如果下拉列表仍未更新,再重启 ComfyUI。新文件会出现在 Load LoRA 节点的 lora_name 下拉列表里。不要只凭扩展名判断兼容性,还要核对模型卡标注的底模与用途。
LoRA 变体怎么处理
Lycoris、loha、lokr、locon 这些变体格式,用法和标准 LoRA 完全一样。只要文件放对目录,节点加载方式没有区别。区别主要在训练阶段:变体用不同的低秩分解策略,能进一步压缩文件体积或提升某些场景的表现。对使用者来说,操作流程一致。
Load LoRA 节点参数详解
Load LoRA 节点在底模输出的基础上叠加 LoRA 权重。节点左侧有两个输入端口,右侧有两个输出端口,中间三个参数控制具体加载行为。
输入与输出端口
| 端口 | 方向 | 类型 | 说明 |
|---|---|---|---|
| model | 输入 | MODEL | 接底模 Checkpoint Loader 输出的 MODEL |
| clip | 输入 | CLIP | 接底模 Checkpoint Loader 输出的 CLIP |
| model | 输出 | MODEL | 已叠加 LoRA 权重的 MODEL,接后续采样节点 |
| clip | 输出 | CLIP | 已叠加 LoRA 权重的 CLIP,接 Prompt节点 |
两个输出都必须正确连接到后续节点。如果只接了 model 而没接 clip,LoRA 的触发词响应会减弱甚至失效。
节点参数
| 参数 | 类型 | 范围 | 说明 |
|---|---|---|---|
| lora_name | 下拉选择 | 文件列表 | 从 models/loras/ 目录加载,刷新后可见新文件 |
| strength_model | 数值 | -100~100 | 控制 LoRA 对模型权重的影响,日常出图通常从 0~1 测试 |
| strength_clip | 数值 | -100~100 | 控制 LoRA 对 CLIP 文本编码的影响,日常出图通常从 0~1 测试 |
两个 strength 参数都接受负值,但负值不是日常调参的通用“减弱档”。不同 LoRA 对负值的响应并不一致,只有在固定 seed、确认兼容性后才值得单独测试。实际调参时,两个权重也不必完全相等,不同类型 LoRA 需要分别观察 model 与 clip 侧的变化。
strength_model vs strength_clip 实战区别
Load LoRA 节点有两个权重参数,而不是一个。调其中一个就够了,还是必须两个都动?
两个权重影响什么
strength_model 控制 LoRA 对图像生成的影响。它修改扩散模型的权重,直接影响画面细节、画风、质感、光影这些视觉层面。
strength_clip 控制 LoRA 对文本编码的影响。它修改 CLIP 文本编码器的权重,影响 prompt 的理解和触发词的响应强度。
model 权重决定 LoRA 风格能画多明显,clip 权重决定 LoRA 能多大程度”听懂”你的 prompt。两者的关系不是简单的”大权重=强效果”。
不同类型 LoRA 的典型配置
| LoRA 类型 | strength_model | strength_clip | 说明 |
|---|---|---|---|
| 角色型 | 0.8-1.0 | 0.6-0.8 | model 高确保角色特征明显,clip 低避免触发词过拟合 |
| 画风型 | 0.7-0.9 | 0.7-0.9 | 两者接近,平衡风格表现和 prompt 理解 |
| 概念型 | 0.6-0.8 | 0.8-1.0 | clip 高确保触发词响应,model 略低避免风格过强 |
以上是经验起点,具体效果要看 LoRA 的训练数据和触发词强度。
调参方法:同 prompt 同 seed 扫权重
- 固定 prompt、seed、CFG、sampling steps
- 只改 strength_model,扫 0.6 / 0.8 / 1.0 / 1.2 四个值
- 观察四张图的画风、细节、人物特征变化
- 选效果最明显但不炸图的值作为 model 起点
- 微调 strength_clip,观察触发词响应和 prompt一致性
clip 权重改动对画面影响比较间接,通常在 model 权重确定后才微调。如果 model 已经调到合适区间,画面风格对但人物脸崩,尝试降低 clip 权重 0.1-0.2。
触发词:如何查找与使用
LoRA 加载了,权重调了,图却没明显变化。很多时候不是因为 LoRA 失效,而是触发词没写或写错了位置。
触发词是什么
触发词是 LoRA 作者在训练时定义的关键词。它的作用是激活 LoRA 的核心特征。大部分角色 LoRA 和概念 LoRA 都需要触发词才能生效。画风型 LoRA 有的不需要触发词,有的有可选触发词来强化风格。
触发词缺失的直接后果是 LoRA 效果弱,甚至完全失效。画面可能只有一点点风格倾向,但角色特征、服装、发型这些核心元素都不出现。
如何查找触发词
- 打开 CivitAI 模型卡页面
- 找 “Trigger Words” 或 “Activation Text” 字段
- 复制触发词到 prompt
有些模型卡会把触发词写在描述里,而不是单独列出。需要仔细读一遍模型说明。也有部分 LoRA 不需要触发词,模型卡会明确写 “no trigger words required”。
触发词放在 prompt 哪个位置
把触发词与对应的角色或概念描述放在一起,并与其他关键词用逗号分隔。是否需要额外权重语法以模型卡和当前工作流为准,不要把词放在开头就当成必然更强。
示例 prompt 结构:
character_name, 1girl, long hair, blue eyes, white dress, ...
这里的 character_name 代表模型卡给出的 trigger token。标准 ComfyUI 工作流已经通过 Load LoRA 节点选中模型,不需要照搬 WebUI 的 <lora:文件名:权重> 语法;只有明确支持该语法的自定义节点工作流才例外。
触发词后接角色特征、场景、构图等描述。触发词和特征描述之间不要加其他风格化关键词,避免风格冲突稀释触发词权重。
权重区间:画风型 vs 角色型
LoRA 权重该设多少?很多人会从 1.0 开始试,然后发现图炸了或者看不出效果。不同类型 LoRA 的有效区间不一样。
权重区间参考
| LoRA 类型 | 推荐权重区间 | 起点建议 | 过高症状 |
|---|---|---|---|
| 画风型 | 0.5-0.9 | 0.75 | 色彩溢出、噪点增加、画风过强导致人物变形 |
| 角色型 | 0.7-1.2 | 0.8(知名角色) 1.0-1.1(小数据集训练) | 人物崩坏、五官夸张、特征过度放大 |
以上是经验起点,具体 LoRA 需实测。知名角色 LoRA 通常用较大数据集训练,权重 0.8 左右就能稳定出图。小数据集或个人训练的角色 LoRA,权重可能需要 1.0-1.1 才能激活特征。
扫权重法:快速找到最佳区间
- 固定 prompt、seed、CFG、sampling steps
- 设置 strength_model = 0.6,strength_clip = 0.8
- 生成第一张图,观察 LoRA 效果是否出现
- 改 strength_model 为 0.8,生成第二张图
- 改 strength_model 为 1.0,生成第三张图
- 改 strength_model 为 1.2,生成第四张图
- 对比四张图,选效果明显且不炸图的区间
- 在最佳区间内微调 ±0.1
如果 0.6 时完全看不出 LoRA 效果,可能触发词缺失或底模不匹配。如果 1.2 时画面炸裂、色彩崩坏,最佳区间可能在 0.7-0.9。扫完 model 权重后,再微调 clip 权重观察 prompt 响应。
扫权重法的前提是 prompt 和 seed 固定,这样四张图的差异才来自权重变化,而不是随机因素。
多 LoRA叠加:连线顺序与主次权重
想同时用角色 LoRA 和画风 LoRA,或者叠加多个角色 LoRA,就需要多 LoRA叠加。ComfyUI 的做法是节点链式串联。
链式串联连线方式
第一个 Load LoRA 节点的 model 输出和 clip 输出,分别接到第二个 Load LoRA 节点的 model 输入和 clip 输入。第二个 Load LoRA 的输出再接第三个 Load LoRA 的输入,依此类推。最后一个 Load LoRA 的输出接到采样节点(如 KSampler)。
官方工作流支持把多个 Load LoRA 节点链式串联。实际组合中,底模、LoRA 训练方式、权重和自定义节点都可能影响结果,因此不要假定顺序永远无差别;固定 seed 比较两种顺序,再决定最终链路。权重分配通常仍是决定主次关系的第一变量。
权重分配策略
| 叠加场景 | 权重配置 | 效果 |
|---|---|---|
| 两个 LoRA | 各 0.5-0.6 | 平衡叠加,不冲突 |
| 三个以上 LoRA | 主 0.8,次 0.3-0.5 | 主 LoRA主导,次 LoRA 辅助 |
| 角色型 + 画风型 | 角色 0.8-1.0,画风0.5-0.7 | 角色特征优先,风格不抢戏 |
两个 LoRA叠加时,如果都设 0.8-1.0,画面容易混乱:角色特征被稀释,风格互相打架。三个以上 LoRA叠加时,必须明确主次关系。一个主 LoRA 高权重(0.8左右),其余次 LoRA 低权重(0.3-0.5),避免特征互相覆盖。
叠加风险
画风冲突:两个画风型 LoRA叠加,风格不一致会导致画面撕裂感。角色特征淡化:叠加过多 LoRA,每个的权重又都不低,角色特征会被平均化。权重过高:多个 LoRA 权重都接近 1.0,画面容易炸图、色彩溢出、人物崩坏。
多 LoRA叠加前,先单独测试每个 LoRA 的最佳权重区间,再组合时按主次分配。不要直接把所有 LoRA 都设相同权重。
角色一致性配方
同一个角色 LoRA,画四张图,每张脸都不一样。这个问题在角色创作和插画系列里很常见。LoRA本身不保证角色一致,它只是提供一组特征权重。真正影响一致性的,是种子、prompt 结构和随机因素。
核心组合
LoRA + 固定 seed + 固定 prompt 结构是基础方案。每次生成时保持 seed、采样器、steps、CFG、尺寸和工作流不变,触发词、角色特征、场景描述的顺序与权重也不变。相同环境下这能提供可复现基线;开始修改场景、构图或控制节点后,角色仍可能漂移。
prompt 结构示例:
character_name, 1girl, long hair, blue eyes, white dress, school background, ...
每次生成时,只改场景描述部分,角色特征和触发词不动。
进阶:加 ControlNet
ControlNet 的姿势、深度或边缘控制可以固定构图与身体结构;如果重点是面部身份,还可以评估与当前底模兼容的参考图、IP-Adapter/FaceID 或面部细化工作流。它们和 LoRA 解决的问题不同,组合使用能进一步降低漂移。
具体做法是先保持 LoRA、seed 和 prompt 基线不变,再加入一个与底模匹配的控制工作流。强度没有通用答案,建议从中等值开始逐步比较,避免过度锁定导致画面僵硬。
局限说明
以上组合不承诺 100% 一致。同一角色跨图仍有随机性:表情、光影、细节都会变化。LoRA +固定种子 + 固定 prompt 能显著降低漂移,但不能让角色完全复刻。
漂移通常来自生成条件发生变化,例如 prompt、采样器、steps、CFG、尺寸、底模、LoRA 权重或控制节点不同;部分硬件与算子也可能带来非确定性。结构控制能锁定姿势或轮廓,但发型、服装、表情和背景细节仍可能变化。
角色一致性是个持续调试的过程,不是一次配置就能解决。需要根据具体 LoRA 和场景反复调整权重和 prompt 结构。
底模匹配:SD1.5 / SDXL / FLUX LoRA 对应
LoRA加载了但图没变化,一个常见原因是底模不匹配。SD1.5 LoRA 必须接 SD1.5 checkpoint,SDXL LoRA 必须接 SDXL checkpoint,FLUX LoRA 必须接 FLUX checkpoint。混用会导致静默失效或报错。
匹配规则
| LoRA 类型 | 对应底模 | 混用症状 |
|---|---|---|
| SD1.5 LoRA | SD1.5 Checkpoint | 静默失效,图像无变化,或效果很弱 |
| SDXL LoRA | SDXL Checkpoint | 维度不匹配报错,显存爆炸,图像崩坏 |
| FLUX LoRA | 对应的 FLUX 基础模型与文本编码器 | 加载失败、键名或维度不匹配、效果异常 |
SDXL LoRA 混用 SD1.5 底模时,可能直接报错,也可能没有明显效果。FLUX LoRA 也必须与对应的 FLUX 基础模型、文本编码器和工作流匹配;当前官方示例会根据工作流使用内置的 LoraLoaderModelOnly 等节点,不应把某个第三方节点名当成唯一入口。
如何确认底模
- 打开 CivitAI 模型卡
- 找 “Base Model” 或 “Compatible Model” 字段
- 确认是 SD1.5、SDXL 还是 FLUX
- 在 ComfyUI 里加载对应 checkpoint
部分 LoRA 会标注兼容多个底模,但实际效果可能有差异。优先用作者推荐的底模。
FLUX LoRA特殊说明
FLUX 与 SD1.5/SDXL 的模型结构和工作流不同,LoRA 必须匹配具体 FLUX 版本及其加载方式。当前 ComfyUI 官方 FLUX 示例会按工作流使用 LoraLoaderModelOnly,并分别加载 diffusion model、文本编码器和 VAE。
FLUX 生态仍在迭代。遇到加载失败时,先核对 ComfyUI 官方对应模型教程、LoRA 模型卡和基础模型版本,再检查节点与文件路径,不要仅凭一个旧教程里的节点名称排障。
排障清单:LoRA 不生效 / 效果弱
LoRA 加载后画面没变化,或效果很弱。以下是常见原因和排查顺序。
| 症状 | 可能原因 | 检查方法 |
|---|---|---|
| 图像完全无变化 | LoRA 未加载 | 检查节点连线:model 和 clip 是否都接上 |
| 图像完全无变化 | 权重设为 0 | 查看 strength_model 和 strength_clip 数值 |
| 效果很弱 | 权重太低(< 0.3) | 提高权重至 0.6-1.0,扫权重法测试 |
| 效果很弱 | 触发词缺失 | 打开 CivitAI 模型卡,查 Trigger Words,添加到 prompt |
| 完全失效 | 底模不匹配 | 确认 LoRA 类型(SD1.5/SDXL/FLUX),切换对应 checkpoint |
| 完全失效 | 目录错误 | 检查文件是否在 models/loras/ 目录下 |
| 完全失效 | 格式错误 | 确认文件是 .safetensors,非 .ckpt 或其他格式 |
| LoRA 文件列表里找不到 | 未刷新 ComfyUI | 重启 ComfyUI 或点击 Refresh 按钮 |
| 加载失败、键名或维度错误 | FLUX LoRA 与基础模型/工作流不匹配 | 核对 FLUX 版本、官方示例所用加载节点、文本编码器和模型卡 |
| 画风冲突、角色特征淡化 | 多 LoRA 权重分配不当 | 降低次 LoRA 权重,明确主次关系 |
排查顺序:先检查连线(model/clip 是否都接上),再检查权重数值,再看触发词,最后确认底模匹配和文件位置。大部分问题集中在权重过低和触发词缺失这两个环节。
下一步与延伸阅读
掌握了 LoRA 加载、权重调参和多 LoRA叠加后,可以继续深入几个方向。
相关文章
- ComfyUI 入门完整指南:回顾安装、模型目录、节点与第一次出图
- ComfyUI 工作流复用指南:导入工作流、补齐节点依赖和排查模型路径
- Stable Diffusion 模型选择指南:核对 SD1.5、SDXL、FLUX 路线与使用边界
- Stable Diffusion Prompt 模板指南:整理 prompt 结构、权重语法与迭代方法
- ControlNet 实战:姿势、线稿与深度控制(后续补齐正式链接)
进阶方向
多 LoRA 权重调度:使用 rgthree Power LoRA Loader 等节点,简化多 LoRA叠加流程,支持权重蒙版和局部应用。
LoRA 权重蒙版:只在画面局部区域应用 LoRA,避免全图风格化或角色特征覆盖。
训练自定义 LoRA:用 Kohya_ss 或其他工具训练角色 LoRA、画风 LoRA,掌握数据集准备、训练参数和导出流程。
LoRA 是 Stable Diffusion生态里最常用的适配方案,但调参和叠加需要实测。每个 LoRA 的最佳权重区间都不同,没有万能配方。先单独测试,再组合叠加,遇到问题按排障清单逐项检查。
如何在 ComfyUI 中加载并调试 LoRA
从文件放置、节点连线和触发词开始,逐步确定双权重、多 LoRA 组合以及角色一致性设置。
⏱️ 预计耗时: 30 分钟
- 1
步骤 1: 核对 LoRA 与底模
先在模型卡确认 LoRA 对应 SD1.5、SDXL 或具体 FLUX 版本,并记录触发词。 - 2
步骤 2: 放入 LoRA 目录
把模型作者提供的 LoRA 文件放进 ComfyUI/models/loras/,刷新模型列表并在 lora_name 中确认可见。 - 3
步骤 3: 连接 MODEL 与 CLIP
把基础模型的 MODEL 和 CLIP 接入 Load LoRA,再把两个输出分别接到采样和文本编码链路。 - 4
步骤 4: 固定条件扫描权重
固定 prompt、seed、sampler、steps、CFG 和尺寸,比较 0.6、0.8、1.0、1.2,再缩小区间微调。 - 5
步骤 5: 组合多个 LoRA
链式串联多个 Load LoRA,先单独验证每个 LoRA,再设置主次权重并比较不同顺序。 - 6
步骤 6: 记录结果并排障
保存底模、LoRA、触发词、权重和生成参数;无效果时按连线、权重、触发词、底模和文件路径顺序检查。
常见问题
ComfyUI 加载 LoRA 后为什么画面没变化?
LoRA 文件应该放在哪个目录?
strength_model 和 strength_clip 有什么区别?
多个 LoRA 在 ComfyUI 里怎么叠加?
怎样减少同一角色跨图漂移?
SD1.5、SDXL 和 FLUX 的 LoRA 可以混用吗?
LoRA 权重应该设多少?
15 分钟阅读 · 发布于: 2026年7月20日 · 修改于: 2026年7月21日
ComfyUI 与 Stable Diffusion 专题:入门、工作流、模型选择与提示词
如果你是从搜索进入这篇文章,建议顺手补上上一篇或继续下一篇,这样更容易把同一主题读完整。
上一篇
ComfyUI ControlNet 实战:用 OpenPose / Canny / Depth 精确控制构图与姿势
ComfyUI ControlNet 怎么用:从模型匹配、节点连接到 strength 与生效区间调参,并覆盖 OpenPose、Canny、Depth、多 ControlNet 叠加和常见不生效排障。
第 5 / 8 篇
下一篇
ComfyUI 高清放大与局部修复:Hires Fix、Upscale、Inpainting 与面部修复
从像素放大、Hires Fix 风格二次采样到 FaceDetailer 和手动 Inpainting,讲清 ComfyUI 出图后的提质路线、节点连线、参数边界与糊脸、接缝、蒙版外变化等排障方法。
第 7 / 8 篇



评论
使用 GitHub 账号登录后即可评论