ComfyUIで複数のLoRAを使うには、Load LoRAノードを直列につなぎ、前段のMODELとCLIPを後段の入力に渡します。干渉するかどうかは設定値だけでは分からないため、同じSeedで「Aのみ」「Bのみ」「A+B」「順序逆転」の4枚を並べて判断します。
情報確認日:2026年8月22日(日本時間)
結論:直列につなぎ、変数は一つずつ動かす
責任範囲
- 2つ以上のLoad LoRAノードをMODEL・CLIPの両方で連鎖させる配線
- 強度(
strength_model/strength_clip)を片方ずつ動かす比較手順 - 顔・服・画風が競合したときの症状と切り分け
- A→BとB→Aの順序を同じSeedで比べる方法
- 採用した組み合わせを後から再現できる記録項目
LoRAファイルの置き場所、Load LoRA 1個の基本配線、trigger wordの扱いはComfyUIでLoRAを使う方法で説明しています。この記事では1個目が正しく効いている状態を前提に、2個目以降を足すときの話だけを扱います。
複数LoRAを使う前に確認すること
足す前に確認するのは、すべてのLoRAが同じbase modelの系統向けかどうかです。1個なら「効かない」で済む不一致も、2個重ねると「どちらが原因で崩れたのか」が分からなくなります。
- 使うLoRAのModel Cardに書かれたbase modelが、Load Checkpointで選んだcheckpointと同じ系統である
- それぞれのLoRAを単体で試し、期待した特徴が出る強度の目安を把握している
- trigger wordが必要なLoRAは、その語をpromptに入れた状態で単体確認を済ませている
- 比較に使うSeed・prompt・sampler・解像度を1セット決め、途中で変えない
ここで単体確認を飛ばすと、後の比較表で「A+Bが崩れた」という結果が出ても、Aの不良なのか干渉なのかを判断できません。単体の確認方法はLoRA記事の手順と同じです。
2つのLoRAを直列につなぐ配線
公式ドキュメントのLoraLoaderの説明には、複数のLoRAを読み込みたい場合はノードを直接連鎖させる、と書かれています。1個目のLoad LoRAが出すMODELとCLIPを、2個目のLoad LoRAのmodelとclipに入れ、最後のノードの出力をKSamplerとCLIP Text Encodeに渡します。
Load Checkpoint
MODEL ─→ Load LoRA (A) ─→ Load LoRA (B) ─→ KSampler
CLIP ─→ Load LoRA (A) ─→ Load LoRA (B) ─→ CLIP Text Encode (positive / negative)
Load LoRA (A) Load LoRA (B)
- lora_name: A.safetensors - lora_name: B.safetensors
- strength_model: 1.0 - strength_model: 1.0
- strength_clip: 1.0 - strength_clip: 1.0
つなぎ間違いで多いのは、MODELだけを連鎖させてCLIPはcheckpointから直接Text Encodeに渡してしまう形です。この場合、BのCLIP側の学習内容が反映されず、promptに入れたtrigger wordが効きにくくなります。MODELとCLIPの線が2本とも最後のLoad LoRAを経由しているかを、実行前に目で追ってください。
ノード名について:画面上の表示名はLoad LoRA、内部のクラス名はLoraLoaderです(2026年8月時点の公式ドキュメントとソースで確認)。CLIPを変更しないLoraLoaderModelOnlyという派生ノードもありますが、この記事ではMODELとCLIPの両方を扱う標準のLoad LoRAで説明します。
強度の初期値は1.0のまま置かない
Load LoRAのstrength_modelとstrength_clipは既定値が1.0で、ソース上の許容範囲は-100.0〜100.0です。ただし公式ドキュメントには通常0〜1の範囲で使うと書かれています。2個を両方1.0で重ねると、効果が強く出過ぎたときにどちらを下げるべきか判断できず、最初の比較としては情報が少なくなります。単体確認で見つけた目安値から始めるほうが、後の調整で迷いません。
強度は一つずつ調整する
A・Bの両方を同時に動かすと、結果の変化をどちらに帰属させるかが決められません。Aを固定し、Bだけを0から上げていく、という一変数の比較にします。
- 1
Aを目安値で固定する
単体確認で採用したstrength_model / strength_clipをそのまま使う
- 2
Bを0・0.4・0.7・1.0で回す
Seed・prompt・stepsなど他の条件は変えない。B=0がA単体の基準画像になる
- 3
4枚を100%表示で見比べる
顔・手・服・背景・線の質を別々に見る。縮小表示では破綻を見落とす
- 4
Bの採用値を決めてから、Aを動かす
今度はBを固定し、Aを下げて全体の調和を確認する
記録は次の表に埋めます。数値は読者の環境ごとに変わるため、ここでは空欄にしています。
| A strength | B strength | Bの特徴は出たか | Aの特徴は残ったか | 破綻(手・文字・ノイズ) | 判定 |
|---|---|---|---|---|---|
| (固定) | 0.0 | — | 基準 | 基準 | |
| (固定) | 0.4 | ||||
| (固定) | 0.7 | ||||
| (固定) | 1.0 |
見るべきなのは「Bが出たか」だけではありません。Bを上げるにつれてAの特徴が薄れるなら、それが干渉の最初の兆候です。両方が残る値の幅が狭いほど、その組み合わせは扱いにくいと判断できます。
strength_modelとstrength_clipを分けて動かす場合
片方のLoRAが画風、もう片方がキャラクターという組み合わせでは、画風側のstrength_clipを下げてMODEL側だけ残す、といった調整が候補になります。LoRAはMODEL(画像を描く側)とCLIP(promptを読む側)の両方に重みを足すため、CLIP側を下げればprompt解釈への影響だけを弱められます。ただしこれも一度に動かすのは片方だけにし、表に列を足して記録してください。
LoRA同士が干渉したときの症状
干渉は「どちらかが消える」か「両方が混ざって別物になる」のどちらかの形で現れます。何を学習したLoRAを重ねたかで、出やすい症状が違います。
| 組み合わせ | 起きやすい症状 | 最初に試す切り分け |
|---|---|---|
| キャラクターA+キャラクターB | 顔立ちが平均化され、どちらでもない顔になる。髪色や目の色が入れ替わる | 片方のstrengthを0に戻し、単体の顔と比べる。同時に2人を描く用途なら別の手法(領域分け)を検討する |
| キャラクター+服装・衣装 | 服は出るが顔が崩れる、または服の細部がキャラ側の既定衣装に戻る | 衣装側のstrength_clipだけを下げる。promptの衣装指定とtrigger wordの順番を見直す |
| キャラクター+画風 | 線や塗りが変わるのと同時に、顔の特徴(輪郭・目)が画風側に引きずられる | 画風側のstrength_modelを段階的に下げる。顔だけ残したいならキャラ側を後段に置いて順序比較する |
| 画風A+画風B | 彩度やコントラストが極端になる、ノイズや二重線が増える | 合計が大きくなり過ぎていないか確認する。両方を0.5前後まで下げた状態から上げ直す |
症状が出たときに、promptを足して直そうとするのは避けてください。prompt側の変数が増えると、LoRAの干渉なのかpromptの効果なのかを切り分けられなくなります。直す順番は、まずstrengthを下げ、次に順序を入れ替え、promptの調整は最後に回します。
base modelが違うLoRAを混ぜない:系統の異なるLoRAは、Load LoRAで選択できても期待した効果が出ないか、画像全体が破綻します。干渉の切り分けを始める前に、Model Cardのbase model欄を全LoRAで照合してください。
順序で差が出るか
A→BとB→Aで結果が変わるかどうかは、組み合わせによって違います。LoRAの重みは順に足し込まれるため、理屈の上では加算の順序で最終結果が変わらない場合もありますが、実際の画像で差が出るかは試さないと分かりません。したがって、この記事では「順序は関係ない」とも「後ろが強い」とも断定せず、同じSeedで両方を出して判断する手順だけを示します。
- A→Bの配線で、採用した強度のまま1枚生成する
- 2つのLoad LoRAの
lora_nameと強度を入れ替え、B→Aにする。線のつなぎ替えより、値の入れ替えのほうが配線ミスが起きにくい - Seed・prompt・sampler・steps・CFG・解像度は一切変えずに、もう1枚生成する
- 2枚を並べ、差があるか、あるならどの要素(顔・服・画風・構図)に出たかを記録する
差が見えないなら、その組み合わせでは順序を気にする必要はありません。差が出るなら、どちらの要素を優先したいかで順序を決め、その判断を記録に残します。1枚だけで決めず、Seedを2〜3個変えて同じ傾向が続くかも確認してください。
再現してほしい比較:4枚を同一Seedで並べる
この記事で読者に再現してほしい比較は、次の4枚です。すべて同じSeed・prompt・sampler・steps・CFG・解像度で生成し、LoRA構成だけを変えます。
| No. | 構成 | A strength | B strength | 見るポイント | 観察結果 |
|---|---|---|---|---|---|
| 1 | Aのみ | 採用値 | 0.0 | Aの特徴の基準 | |
| 2 | Bのみ | 0.0 | 採用値 | Bの特徴の基準 | |
| 3 | A→B | 採用値 | 採用値 | 1・2の特徴が両方残るか | |
| 4 | B→A | 採用値 | 採用値 | 3と差があるか |
1と2は「本来出るべき特徴」の基準です。3で片方が消えていれば干渉、4が3と違えば順序依存、と判断します。結果は環境とLoRAの組み合わせで変わるため、この表を埋めた記録が、その組み合わせについての唯一の根拠になります。
採用した組み合わせを保存する
比較で決めた値は、workflowのJSONだけでは足りません。LoRAファイル名は同じでも版が違えば結果が変わるため、ファイルの同一性を示す情報と、比較の前提条件を一緒に残します。
combo_name: charA_styleB_v1
checked_at: 2026-08-22
checkpoint:
name:
sha256:
loras:
- order: 1
name: A.safetensors
version:
sha256:
strength_model:
strength_clip:
trigger_words:
- order: 2
name: B.safetensors
version:
sha256:
strength_model:
strength_clip:
trigger_words:
comparison:
seed:
sampler:
scheduler:
steps:
cfg:
size:
prompt_file:
workflow_file: workflows/charA_styleB_v1.json
notes: 順序A→Bを採用。B→Aでは顔がB寄りになった等
記録のポイントは3つです。順序を番号で残すこと、sha256でファイルの同一性を担保すること、比較に使ったSeedと条件を残すことです。この3つがあれば、後から同じ4枚を作り直して、LoRAの更新やcheckpointの変更で結果が変わったかを確認できます。Seedの固定方法と同じSeedでも結果が変わる条件、workflowを版管理で残す方法は、それぞれ別記事に分けています。
よくある質問
LoRAは何個まで重ねられますか?
ノードの数に上限はありませんが、増えるほど干渉の切り分けが難しくなります。3個以上にするときも、1個ずつ足して前段までの結果と比べる手順は変えないでください。
strengthを負の値にすると何が起きますか?
ソース上のtooltipには負の値も取れると書かれており、学習した方向と逆向きに重みを足すことになります。特定の特徴を打ち消す目的で試す例はありますが、効果は保証されないため、使う場合も同じSeedでの比較を前提にしてください。
LoRAを1つのファイルに結合してしまえば干渉は消えますか?
結合しても重みを足す点は同じなので、干渉そのものは消えません。結合は「決まった組み合わせを毎回配線する手間」を減らす手段として考え、比較で値を決めてから行うのが順序として安全です。
まとめ
複数LoRAは、Load LoRAを直列につなぎ、MODELとCLIPの両方を最後のノード経由でKSamplerとText Encodeに渡せば動きます。動くことと、狙いどおりに出ることは別です。Aを固定してBだけを動かし、Aのみ・Bのみ・A→B・B→Aの4枚を同じSeedで並べ、どの特徴が残りどれが消えたかを記録してください。
順序の影響も強度の正解も、組み合わせごとに違います。万能な値を探すより、4枚の比較と記録を残す手順を持つほうが、LoRAが増えても判断を再現できます。