メインコンテンツへ移動
AIチュートリアル

ComfyUIでQwen Image 2.1の参照画像とプロンプトフレーズを制御する

ComfyUI-qwen_img_2_1_enhancerのインストールと使用方法を学び、Qwen Image 2.1のワークフローで参照画像の強度を調整し、ポジティブプロンプトとネガティブプロンプトに重み付きフレーズを適用します。

ComfyUIでQwen Image 2.1の参照画像とプロンプトフレーズを制御する

ComfyUI-qwen_img_2_1_enhancerの機能

ComfyUI-qwen_img_2_1_enhancerは、ComfyUIでネイティブQwen Image 2.1ワークフローを使用するための2つのノードを追加します。これらのノードを使うと、個々の参照画像のアテンション優先度を制御したり、指定したプロンプトフレーズを強調または抑制したりできます。

各ノードは個別に使用することも、同じワークフローで組み合わせて使用することもできます。テキスト埋め込みの再スケーリング、参照ピクセルの合成、元画像の変更ではなく、ネイティブQwen Image 2.1トランスフォーマー内のアテンションスコアを調整します。

  • Qwen Image 2.1 Reference Strength: 選択した参照画像のアテンション優先度を変更します。
  • Qwen Image 2.1 Edit — Phrase Weights: ポジティブおよびネガティブプロンプトに重み付きフレーズ構文を追加し、コンディショニングと潜在出力を生成します。

要件とインストール

ネイティブなQwen Image 2.1対応のComfyUIに加え、動作するQwen Image 2.1モデル、テキストエンコーダー、VAEのセットアップが必要です。このカスタムノードに追加のPythonパッケージやComfyUIコアファイルの編集は必要ありません。

  1. ターミナルを開き、ComfyUIのカスタムノードディレクトリに移動します。
cd ComfyUI/custom_nodes
  1. リポジトリをクローンします。
git clone https://github.com/capitan01R/ComfyUI-qwen_img_2_1_enhancer.git

ノードのインストールまたは更新後にComfyUIを再起動します。再起動後、ノードメニューで2つのQwen Image 2.1 enhancerノードを検索してください。

参照画像の強度を調整する

Qwen Image 2.1 Reference Strengthノードは、接続された1枚の参照画像へのアテンションを制御します。モデルとオプションのLoRAローダーの後に追加し、そのMODEL出力をサンプラーに接続します。

Load Diffusion Model -> LoRA loaders (optional) -> Reference Strength -> sampler

参照画像とVAEを、ネイティブのText Encode Qwen Image 2.1ノードまたは付属のPhrase Weightsエンコーダーに接続します。参照画像の選択は、エンコーダーに接続された画像の順序に従います。空の画像入力はスキップされます。

Reference Strengthの入力

  • model: 適用済みのLoRAを含むQwen Image 2.1モデル。
  • reference_index: 調整する参照画像。1は1番目、2は2番目に接続された画像を選択します。
  • strength: アテンション確率の倍率。デフォルト値は1.2です。

強度値の解釈

  • 1.0はネイティブの参照重み付けを維持します。
  • 1.0より大きい値は、選択した参照画像の優先度を高めます。
  • 0.0から1.0の間の値は、優先度を下げます。
  • 0.0は選択した参照画像の潜在トークンへの直接的なアテンションをブロックします。ただし、画像に関する情報がコンディショニングの別の場所に残る場合があります。

この調整は参照画像全体に適用されます。複数の参照画像を制御するには、複数のReference Strengthノードを連結します。同じインデックスを繰り返し指定した場合、後の設定が前の強度を置き換えます。インデックスを1.0に設定すると、その調整が解除されます。

重み付きプロンプトフレーズを適用する

ネイティブのText Encode Qwen Image 2.1ノードの代わりにQwen Image 2.1 Edit — Phrase Weightsを使用します。ネイティブQwen Image 2.1 CLIP、参照画像、VAEを接続します。その後、ノードのpositive、negative、latent出力をサンプラーに送ります。

このエンコーダーにMODEL接続は必要ありません。モデルは通常どおりサンプラーへ接続します。

フレーズの重み付け構文

単語またはフレーズを括弧で囲み、コロンを追加して、0以上の重みを指定します。

Add (warm lighting:1.3) and (soft shadows:1.1).
  • 1.0はネイティブのフレーズ重み付けを使用します。
  • 1.0より大きい値は、フレーズの優先度を高めます。
  • 0.0から1.0の間の値は、フレーズの優先度を下げます。
  • 0.0は、選択したフレーズのトークンへのアテンションを強く抑制します。

ポジティブプロンプトとネガティブプロンプトの重みは独立しています。調整されるのは指定した出現箇所だけなので、完全な単語またはフレーズを、入れ子にしない別々のセクションで使用してください。

Phrase Weightsの接続と出力

  • clip: CLIPタイプqwen_imageで読み込んだネイティブQwen Image 2.1テキストエンコーダー。
  • prompt: オプションの重み付きフレーズを含むポジティブプロンプト。
  • negative_prompt: 独自のオプションの重み付きフレーズを含むネガティブプロンプト。
  • vae: ネイティブQwen Image 2.1 VAE。Reference Strengthと組み合わせる場合に必要です。
  • resolution: 参照画像のリサイズ先。デフォルトは1024です。0にすると、参照画像を32の倍数に丸めた元の寸法に近いサイズで保持します。
  • images: 参照画像。必要に応じて追加の画像ソケットが表示されます。
  • positiveおよびnegative: サンプラー用のコンディショニング出力。
  • latent: リサイズ後の最初の参照画像を基準にサイズ設定された空の潜在。
  • phrase_report: 整形済みプロンプト、重み、選択したトークン行を表示するオプションのJSONテキスト。

2つのノードを組み合わせて使用する

画像参照とプロンプトフレーズの両方を制御するワークフローでは、モデルをReference Strengthに通し、Phrase Weightsのコンディショニングおよび潜在出力をサンプラーに接続します。

MODEL -> Reference Strength -------------------------> sampler MODEL

CLIP + VAE + images -> Phrase Weights
                           |------------------------> sampler positive
                           |------------------------> sampler negative
                           `------------------------> sampler latent_image

結果を比較する際は、他の設定を固定したまま、一度に1つの調整項目だけを変更してください。これにより、視覚的な違いが参照の優先度によるものか、フレーズの優先度によるものかを判断しやすくなります。

高度なヒントと制限事項

どちらのノードも、数学的なアテンション調整を適用します。正の重み w に対して、選択されたアテンションスコアにはソフトマックスの前に log(w) が加算されます。これにより、正規化を維持したまま、アテンションの相対的な優先度が変化します。

  • 強度またはフレーズの重みを 2.0 にしても、目に見える効果が必ず2倍になるわけではありません。
  • 非常に大きな値は他の指示や参照を圧倒し、編集の柔軟性を低下させる可能性があります。
  • Reference Strengthは参照画像のキーを選択し、Phrase Weightsはマークされたフレーズに属するテキストキーを選択します。
  • ネイティブのプレフィックスキャッシュは保持されます。
  • アテンションバックエンドは加算マスクをサポートしている必要があります。
  • フレーズマッピングにはトークナイザーの完全なピースが必要で、textual-inversion埋め込みには対応していません。
  • フレーズエンコード後にコンディショニングのトークン行を変更すると、フレーズマッピングが無効になる可能性があります。

実用的な調整では、まずネイティブ値の 1.0 から始め、少しずつ変更してください。どのプロンプトトークンが選択されたかを確認する必要がある場合は、任意の phrase_report を確認します。

まとめ

ComfyUI-qwen_img_2_1_enhancerは、ComfyUIのコアファイルを変更せずに、Qwen Image 2.1の編集ワークフローを細かく制御できます。カスタムノードをインストールし、Reference Strengthで個々の画像を優先し、Phrase Weightsでプロンプトフレーズを強調または抑制してください。視覚的な参照とテキスト指示を連携して制御する必要がある場合は、両方のノードを組み合わせます。

このプロジェクトはMITライセンスの下で公開されています。