
ComfyUIの条件付けの組み合わせ|Combine・Concat・Average・ステップの範囲
*2026年9月29日に確認した内容です。ComfyUI の公式ドキュメントの組み込みのノードの説明(ConditioningCombine・ConditioningConcat・ConditioningAverage・ConditioningSetTimestepRange・ConditioningZeroOut・ConditioningMultiply・CreateHookLora・SetClipHooks・CreateHookKeyframe・SetHookKeyframes・ConditioningSetProperties ほか)によります。これらのページの説明は、AI で作られたものです。画面と画像は、編集部の PC(Windows 11・NVIDIA GeForce RTX 4060)のポータブル版(Python ごと1つのフォルダに入った Windows 向けの ComfyUI。ComfyUI v0.37.0・フロントエンド 1.52.7・画面の表示は日本語)で作りました。
ComfyUI では、プロンプトを CLIP Text Encode(プロンプトの文を条件付けに変えるノード)で変えた条件付け(CONDITIONING。モデルに作りたいものを伝えるデータ)を、ノードで組み合わせられます。まとめる(Combine)・つなぐ(Concat)・平均する(Average)の3つのノードがあります。ConditioningSetTimestepRange では、条件付けが効くステップ(KSampler がノイズを取り除く1回ごと)の範囲を決められます。フックのノードを使うと、LoRA や条件付けを、画像を作る途中から効かせることもできます。
複数のプロンプトの条件付けを組み合わせる
条件付けを組み合わせるノードは、ノードライブラリ(画面の左のサイドバーの「ノード」)の「モデル」→「条件付け」→「変換」の分類にあります。どのノードも、2つの条件付けを受け取り、1つの条件付けを出します。出力は、KSampler(ノイズを取り除いて画像を作るノード)の「ポジティブ」などにつなぎます。
この記事では、2つのプロンプトを組み合わせて比べました。1つは「a modern living room interior, large windows, natural light, wooden floor, sofa」(室内)、もう1つは「japanese tatami room interior, shoji screens, low table」(和室)です。モデルは SD1.5、ほかの設定はシード 42・ステップ 20・CFG 7.0・euler・normal・512×512 です。

3つのノードとも、室内のプロンプトを1つ目の入力(「条件付け_1」「条件付け先」)に、和室のプロンプトを2つ目の入力(「条件付け_2」「条件付け元」)につなぎました。編集部の試しでは、Combine と Concat は和室に寄り、Average は床と天井が室内と和室の中間のような画像になりました。
混ぜる:Conditioning (Combine)
Conditioning (Combine)(画面の名前は「条件付け(組み合わせ)」)は、「条件付け_1」と「条件付け_2」の2つの条件付けを、1つにまとめるノードです。公式ドキュメントによると、2つはリストとしてつなげて結合され、同じ重みで扱われます。
つなぐ:Conditioning (Concat)
Conditioning (Concat)(画面の名前は「条件付け(連結)」)は、「条件付け元」の条件付けを、「条件付け先」の条件付けの後ろにつなげるノードです。公式ドキュメントによると、「条件付け先」が土台になり、そこに「条件付け元」の情報を足します。
平均する:Conditioning (Average)
Conditioning (Average)(画面の名前は「条件付け平均」)は、2つの条件付けを、決めた割合で混ぜるノードです。公式ドキュメントによると、「条件付け先の強度」(0.0〜1.0・初めの値 1.0)が「条件付け先」の割合で、値を変えると2つの中間の結果になります。公式ドキュメントは、2つのプロンプトの間をなめらかに移ることと、絵柄を混ぜることを使い方に挙げています。
効くステップの範囲を決める:ConditioningSetTimestepRange
ConditioningSetTimestepRange(画面の名前は「条件付けタイムステップ範囲」)は、条件付けが効くステップの範囲を、ステップ全体に対する割合(0.000〜1.000)の「開始」と「終了」で決めるノードです。
編集部は、和室のプロンプトを 0.000〜0.500、室内のプロンプトを 0.500〜1.000 にしました。2つを Conditioning (Combine) でまとめ、KSampler の「ポジティブ」につなぎました。

できた画像は、和室のプロンプトだけの画像とほとんど同じになりました。この組み合わせでは、前半に効かせたプロンプトで構図が決まり、後半の室内のプロンプトはほとんど表に出ませんでした。
条件付けを0にする・強さを変える
条件付けを加工するノードは、ほかに次の2つがあります。
| ノード(画面の名前) | 説明 |
|---|---|
| ConditioningZeroOut(条件付けゼロアウト) | 公式ドキュメントでは、条件付けの中の pooled_output(条件付けの一部の値)を0にして影響をなくすとしている。ComfyUI のプログラム(nodes.py)では、条件付けの本体も、pooled_output なども0にする |
| ConditioningMultiply(コンディショニング(乗算)) | 公式ドキュメントでは、条件付けの値に、決めた係数(multiplier・初めの値 1.0・-100.0〜100.0)をかけて、影響を大きくしたり小さくしたりする |
画像の決まった範囲やマスク(白黒で範囲を示す画像)の中だけに条件付けを効かせるノード(ConditioningSetArea・ConditioningSetMask など)もあります。使い方は、「ComfyUIの範囲を指定した構図|Area Composition・GLIGEN」の記事で解説します。
フックでLoRAと条件付けを切り替える
フックは、LoRA(モデルに絵柄などを足す軽いファイル)や条件付けの設定を、画像を作る途中の決まった時点から効かせたり、強さを変えたりするための仕組みです。フックのノードは、ノードライブラリの「高度な機能」→「フック」の分類にあり、画面では [BETA] の札が付いていました。
編集部は、LoRA を、ステップの後半だけ効かせるワークフローを組みました。
- 「フックLoRAを作成」(CreateHookLora)を置き、LoRA のファイルと強さ(strength_model 1.00・strength_clip 1.00)を決める
- 「フックキーフレームを作成」(CreateHookKeyframe)を2つ置き、1つめの「フックKF」を2つめの「前のフックキーフレーム」につなぐ。1つめは強度倍数 0.00・開始パーセント 0.000、2つめは強度倍数 1.00・開始パーセント 0.500 にする
- 「フックキーフレームを設定」(SetHookKeyframes)を置き、「フック」に手順1の「フック」を、「フック_kf」に手順2の2つめの「フックKF」をつなぐ
- 「CLIPフックを設定」(SetClipHooks)を置き、「クリップ」に「チェックポイントを読み込む」の「CLIP」を、「フック」に手順3の「フック」をつなぐ
- 「CLIPフックを設定」の「CLIP」を、ポジティブとネガティブの両方の「CLIPテキストエンコード(プロンプト)」の「クリップ」につなぐ
- 画面の右上の「実行する」を押す

同じシードで、LoRA を付けない画像・後半だけ効かせた画像・はじめから効かせた画像を比べました。

後半だけ効かせた画像は、LoRA を付けない画像とほとんど同じでした。はじめから効かせた画像は、窓の割付けが変わり、手前に家具が増えました。
編集部の試しでは、ポジティブだけにフックを付けた CLIP を使い、ネガティブには付けなかったとき、画像が色の粒だらけに崩れました。ポジティブとネガティブの両方に、フックを付けた同じ CLIP を使うと、崩れませんでした。
フックのノードには、次のものがあります。
| 分類 | ノード(画面の名前) | 公式ドキュメントの説明 |
|---|---|---|
| 作る | CreateHookLora(フックLoRAを作成) | LoRA のファイルと、モデル・CLIP の強さ(-20.0〜20.0)からフックを作る。2つの強さが0なら作らない |
| 作る | CreateHookLoraModelOnly(フックLoRA(モデルのみ)) | モデルだけに効く LoRA のフックを作る |
| 作る | CreateHookModelAsLora(フックモデルをLoRAとして作成)・モデルのみの版 | チェックポイントの重みを LoRA として使うフックを作る |
| 付ける | SetClipHooks(CLIPフックを設定) | CLIP にフックを付ける。apply_to_conds(初めは true)で、できる条件付けにもフックを付ける |
| 付ける | ConditioningSetProperties(条件付けプロパティ設定)・ConditioningSetPropertiesAndCombine・PairConditioning 系 | 条件付けに、強さ・範囲・マスク・フック・タイムステップの範囲を付ける。Pair 系はポジティブとネガティブを一緒に扱う |
| 時間 | CreateHookKeyframe(フックキーフレームを作成) | 決めた割合の時点からの、フックの強さの倍数を決める |
| 時間 | CreateHookKeyframesFromFloats・CreateHookKeyframesInterpolated | 数のリストから、または開始と終了の強さの間を補って、キーフレームを並べて作る |
| 時間 | SetHookKeyframes(フックキーフレームを設定) | フックにキーフレームを付ける |
| 時間 | ConditioningTimestepsRange(タイムステップ範囲) | 開始と終了の割合から、その範囲と前後の範囲の3つを作る |
| まとめる | CombineHooks(フックを組み合わせる [2]・[4]・[8]) | 複数のフックを1つにまとめる |
プロンプトの書き方は、「ComfyUIのプロンプトと重み|CLIP Text Encode・語の強さ」の記事で解説しています。LoRA を普通に読み込む方法は、「ComfyUIのLoRAの読み込み|Load LoRA・強さ」の記事で解説しています。
会員登録(無料)
記事やテーマのお気に入り・学習履歴・フォローが使えます。
この記事について
PERSC編集部が、建築の制作に関わる知識を実務目線で整理しています。内容は公開・更新日時点の情報にもとづきます。誤りや古い情報にお気づきの場合はお問い合わせよりご連絡ください。


