ComfyUI - XY Grid Demos - XY anything

詳細

ファイルをダウンロード

モデル説明

これらのワークフローは、単独のユーティリティとして、または既存のワークフローに追加して使用できます。

XYグリッド - デモワークフロー

XYグリッドノードとテンプレートは、AI Revolution Discordサーバーの複数のユーザーから寄せられた要件に基づいて、Comfyrollチームによって設計されました。

このコードは、LEv145によるノードを基に構築されています。

これらのノードは、あらゆるワークフロー内で任意のパラメータのペアをXYグリッドとして使用できます。

テンプレートの主な使用ケースは以下の通りです:

  • モデルとLoRAの組み合わせを評価する
  • サンプラー設定を評価する
  • ワークフロー内の任意のパラメータのペアを評価する
  • マスクやディテール設定を微調整する
  • ノイズパターンのバッチを生成する

XYノードはSDXLまたはSD1.5で使用できます。

テンプレート一覧

  • Demo 1a - XYリスト - 半色调
  • Demo 1b - フォルダーからXY - 半色调
  • Demo 2a - XY補間 - Ksampler
  • Demo 2b - フォルダーからXY - Ksampler
  • Demo 3a - XYリスト - モデルとLoRA
  • Demo 3b - XYリスト - モデルとLoRA
  • Demo 4a - XY補間 - FreeU
  • Demo 4b - フォルダーからXY - FreeU
  • Demo 5a - XYインデックス - モデルとプロンプト
  • Demo 5b - XYインデックス - モデルとプロンプト
  • Demo 5c - XYインデックス - モデルとプロンプト
  • Demo 5d - XYインデックス - モデルとプロンプト
  • Demo 6a - XYリスト - モデルとプロンプト

上記のテンプレートからXYグリッドノードをコピーし、既存のワークフローに貼り付けて使用できます。

XYグリッドの方法

3つの基本的な方法があります:

XYリスト

  • 任意の2つのウィジェットをXYグリッドとして使用できます。
  • 以下のデータタイプのウィジェットが対象です:
    • 整数(CR String To Numberノードを使用)
    • 浮動小数点(CR String To Numberノードを使用)
    • テキスト/文字列
    • コンボボックス(CR String To Comboノードを使用)

XY補間

  • 任意の整数または浮動小数点ウィジェットのペアをXYグリッドとして使用できます。
  • スタート値とステップに基づいて、ノードが自動的に値を計算します。

XYインデックス

  • 以下の特殊な使用ケースに使用できます:
    • ファイルからデータを抽出し、列と行に割り当てるためのXYインデックスを生成

インデックスの理解

これらのCR XYノードは、反復的なワークフローで使用されることを目的としています。上記の3つの方法は、それぞれ反復ごとにインクリメンタルなインデックスを生成するためのプリミティブノードを必要とします。

XYノードを使用する際は、常にインデックスを1(0ではなく)から開始してください。これにより、グリッド計算が大幅に簡素化されます。

インデックスは、各反復ごとにXとY座標を計算するために使用されるカウンターです。

XYグリッドを設定する際は、まず必要な列数と行数を決定してください。

それらを掛け合わせて最終インデックスを計算します。

例:3列 × 4行 = 12枚の画像 → 最終インデックスは12

画像の生成を開始するには、Comfyメニューのバッチ数を設定する必要があります。

まず「Extra options」にチェックを入れ、「View Queue」を有効にし、バッチ数に最終インデックスを入力してください。これにより、各画像が一意のXとYの組み合わせを使用して12枚生成されます。

Save Imageノードのファイル名プレフィックスにはサブフォルダーを含める必要があります。例えば、「TestImages/CR」は画像をComfyUI\output\TestImagesに保存し、各画像に「CR」をプレフィックスとして付与します。

XYグリッド画像の生成方法

XYグリッド画像を生成するには、以下の2つの方法があります:

  • 別のワークフローを使用して画像を生成する(例:Demo 1b、2b)
  • 同じワークフロー内で生成する(例:Demo 3b、4a、5d)

初心者および中級者には、別ワークフロー方式を推奨します。

両方の方法で、以下の設定が必要です:

  • XYグリッド画像に結合する画像が含まれるフォルダー

    • これはComfyUI\outputのサブフォルダーである必要があります(例:ComfyUI\output\TestImages)
    • 単一ワークフロー方式の場合、このフォルダーはメインワークフローのSave Imageノードのサブフォルダーと同じでなければなりません
  • 画像の開始インデックスと終了インデックス

    • 開始インデックスは通常0
    • 終了インデックスは通常(列数)×(行数)
  • 各列と各行に表示する注釈

  • グリッド画像の出力フォルダー(例:ComfyUI\output\XY grids)

    • これは画像フォルダーとは異なる必要があります
  • 出力画像形式(例:webp、jpg、png、tif)

PNG画像はjpgやwebpに比べてサイズが大幅に大きくなるため、生成に時間がかかります。webp形式を推奨します。

画像セットの中央から一部の行だけを出力したい場合は、開始インデックスと終了インデックスを調整して目的の行のみを選択できます。例:50枚の画像が5列で配置されている場合、開始インデックス0、終了インデックス50では10行の画像が生成されます。しかし、開始インデックスを21、終了インデックスを40に設定すると、出力グリッドには5〜8行目のみが含まれます。

注釈の設定方法

注釈は現在、以下の2つの方法で設定できます:

  • XYリストまたはXY補間ノード内
  • XYからフォルダーノード内

2ワークフロー方式を使用する場合、XYからフォルダーノードに注釈を手動で入力する必要があります。

単一ワークフロー方式では、XYリストまたはXY補間ノードが注釈を自動生成し、出力ノードに渡します。両ノードとも、注釈の前後にテキストを追加できます(x-prepend-annotation および y_prepend_annotation)。例:値10に「cfg」を前置すると「cfg 10」になります。

今後、ファイルから注釈を読み込むノードの追加を予定しています。

単一ワークフローの動作仕組み

単一ワークフロー方式では、インデックスが終了インデックスと等しくなった時点でグリッド画像を生成します。例:バッチ数25で25枚の画像を生成する場合、インデックスが25に達したときにXYグリッド画像が生成されます。これはXYリスト(Demo 3a参照)またはXY補間(Demo 4a参照)から自動的にトリガーされるか、CR Triggerノード(Demo 5d参照)でトリガーできます。

デモワークフロー

デモ1 - 半色调

  • このデモはXYリスト方式を使用
  • 5×7の半色调画像グリッドを生成
  • XYグリッドは別のワークフローで出力

デモ2 - Ksampler

  • このデモはXYリスト方式を使用
  • KsamplerのCFGとステップに基づく5×5のグリッドを生成
  • XYグリッドは別のワークフローで出力

デモ3 - モデルとLoRA

  • このデモはXYリスト方式を使用
  • 選択されたモデルとLoRAに基づく5×4のグリッドを生成
  • XYグリッドの出力ノードは同じワークフローに含まれる

デモ4 - FreeU

  • このデモはXY補間方式を使用
  • FreeUのb1とb2パラメータに基づく4×4のグリッドを生成
  • XYグリッドの出力ノードは同じワークフローに含まれる

画像フォルダーからいつでも直接XYグリッドを生成できます。

デモ5 - モデルとプロンプト

  • このデモはXYインデックス方式を使用

  • インデックスを使用して、2つのファイルからモデルとプロンプトのデータをクロス結合

  • ファイルから取得したモデルとプロンプトに基づく4×4のグリッドを生成

    • ダウンロードには3つの例ファイルが含まれる:

      • SDXL Models.txt
      • SDXL Prompts.txt
      • SDXL Model config.txt(Demo 5c用)
    • 既存のモデルを使用するには、またはモデルのサブフォルダーを変更するには、またはプロンプトを変更するには、これらの例ファイルを編集できます

  • XYグリッドの出力ノードはDemo 5dに含まれる

Demo 5b

Demo 5c - ファイルからの行の分割により複数のウィジェットを更新する例

Demo 5d - XYグリッドの出力ノードを含む

これはDemo 5dの出力です

デモ6 - モデルとプロンプト

  • このデモはXYリスト方式を使用
  • モデルとプロンプトのデータをクロス結合
  • 大量の画像を生成し、XYグリッドに組み立て可能

ノード

  • CR XYリスト

    • インデックスを入力に変換し、プリミティブノードを接続
    • リスト値はコンマで区切る
      • 例:0.4, 0.5, 0.6, 0.7,
  • CR XY補間

    • インデックスを入力に変換し、プリミティブノードを接続
    • リスト値はコンマで区切る
      • 例:0.4, 0.5, 0.6, 0.7,
  • CR XYインデックス

    • インデックスを入力に変換し、プリミティブノードを接続
  • CR XYからフォルダー

    • 複数の設定が可能
    • トリガー、x_annotation、y_annotationを入力に変換するオプションあり
    • トリガーを入力として使用しない場合、必ず有効化(true)してください。そうでないとノードは何も行いません
    • 注釈リストの値はセミコロンで区切る
      • 例:prompt 1; prompt 2; prompt 3; prompt 4
  • CR XYグリッド画像保存

    • トリガーは入力として変換するか、ウィジェットとして使用可能
    • トリガーを入力として使用しない場合、必ず有効化(true)してください。そうでないとノードは何も行いません

ヒント

  • プリミティブノードのインデックスは常に1(0ではなく)から開始してください。これにより、列と行に基づくインデックス計算が簡単になります。
  • ファイル入力と行の分割を使用して、各軸で複数の値を制御できます(Demo 5C参照)
  • 1次元での画像比較用に、1列または1行のグリッドを生成できます
  • XとYは異なるノードに接続できます
  • 上記のテンプレートからXYグリッドノードをコピーして、既存のワークフローに貼り付けることができます
  • フォルダー内の既存の画像からXYグリッド画像を構築できます。例:他のワークフローで適切な順序で画像を生成した場合、CR XYからフォルダーCR XYグリッド画像保存を使用して組み立てられます

インストール

  • ワークフローをダウンロードしてください

  • 以下のカスタムノードをインストールまたはアップデートしてください

初回使用時

  • 上記のリストからテンプレートを選択してください

  • 画像シリーズの出力フォルダを ComfyUI/output のサブフォルダとして作成してください(例: 'XY test')

  • グリッド画像の出力フォルダを ComfyUI/output に作成してください(例: 'XY grids')

  • チェックポイントモデルとLoRA(該当する場合)を選択してください

  • テスト実行を行ってください

  • ワークフローとしてコピーを保存してください

既知の問題

  1. CR XY Save Grid Image ノードは、グリッドの最後の画像を時々見落とすことがあります。これはノードの処理順序に起因する可能性があります。簡単な回避策として、最後のイテレーションを再実行してください。たとえば、25枚の画像グリッドで最後の画像が欠落している場合は、Primitiveノードの値を25にリセットし、バッチカウントを1に設定して実行してください。

  2. プレビュー機能での CR XY Save Grid Image ノードは、ComfyUI/temp フォルダを探します。見つからない場合、現在はエラーが発生します。この問題は次のパッチで修正されます。回避策として、手動でtempフォルダを作成してください。

  3. list index out of range

    Primitiveノードのインデックスが最後の画像のインデックス(終了インデックス)より大きい場合に、このエラーが発生することがあります。このシナリオ用のエラーメッセージを今後追加します。

  4. キューを実行するために Ctrl-Enter を押すと、イテレーションが実行されない場合があります。必ずキューボタンを直接押してください。

問題対応

CivitAIの記事をご覧ください

トラブルシューティングガイド

クレジット

Grockster、King Lord、THM — 要件の協力およびノードのベータテストにご協力いただき、ありがとうございます

LEv145 — オリジナルのコードを提供いただき、ありがとうございます

このモデルで生成された画像

画像が見つかりません。