ComfyUIでプロンプトのリストを順に回すのは、以前は意外と面倒だったので、自分でノードを作りました。Prompt Cyclerでは、テキストの各行がそれぞれ独立したプロンプトです。ワークフローを実行すると、次の1行が使われます。数百回の実行をキューに入れれば、数百の異なる画像が得られます。
テキストを出力するだけなので、どのモデルでも動作します。私は通常Fluxで使いますが、ここでは非常に基本的なモデルである素のStable Diffusion 1.5でデモするので、画像はあまり良くありません。
ポイント
- 入手: GitHubのtenitsky/tenitsky-prompt-cycler-simple、無料。
ComfyUI/custom_nodesに解凍またはcloneして、再起動します。 - 使い方: 1行に1つのプロンプト。promptの出力をCLIP Text Encodeに入れます。
- モード: sequentialまたはrandom。reset_cycleで、最初の行から始め直します。
- おまけ: rgthreeのDisplay Anyが現在のプロンプトを表示し、Concatenateノードがすべての行に固定の被写体を足します。
インストール
このノードは、まだComfyUI Managerにありません。GitHubから、どちらの方法でもインストールできます。
- ZIP: Code → Download ZIPをクリックして、
ComfyUI/custom_nodesフォルダに解凍します。 - git:
cd ComfyUI/custom_nodes git clone https://github.com/tenitsky/tenitsky-prompt-cycler-simple.git
ComfyUIが最新なら、pip install -r requirements.txtは不要です。ComfyUIを再起動してください。
custom_nodesに解凍します。ComfyUIが初めてなら、ComfyUIのノードの基本とテキストから画像へから始めてください。
接続する
- キャンバスをダブルクリックしてPrompt Cyclerを検索します(Tenitsky Prompt Cycler Simpleと表示されます)。サンプルのプロンプトが最初から入っています。
- そのpromptの出力をCLIP Text Encodeノードのテキスト入力に接続し、それをいつもどおりKSamplerのポジティブ入力に接続します。
- 実行します。実行のたびに次の行が使われます。
設定は次のとおりです。
| 設定 | 役割 |
|---|---|
| seed / control after generate | incrementのままにして、実行のたびに進むようにします |
| cycle_mode | sequentialはリストを順に進み、randomは行をランダムに選びます |
| reset_cycle | 最初の行から始め直します |
| テキストボックス | プロンプトを、1行に1つ、好きなだけ |
ノードは、現在の行の番号であるcycle_indexも出力します。
現在のプロンプトを見る
rgthreeのDisplay Anyを追加して、promptを接続すると、どの行が実行されているか分かるので便利です。
すべてのプロンプトに同じ被写体を足す
すべてのシーンに特定のキャラクターを入れるには、Concatenateノードを追加します。
- そこに被写体を入力します。例:cat posing in front。
- サイクラーのpromptをstring_bとして接続します。
- STRING出力を、テキストエンコーダーとDisplay Anyに接続します。
- delimiterをスペースに設定します。最初に忘れて、「in fronta space station」になりました。
これで、どのシーンでも、すべての画像に猫が登場します。
連結と長いリストを組み合わせれば、何千ものプロンプトを実行できます。
作った理由
これは私にとって救いになりました。以前は、同じ仕事のために、テキストファイル、プロンプトリスト、複数入力のある別のconcatenateノード、プレビューと、ノードの連鎖全体を使っていました。当時は、それを圧縮してシンプルにする方法を知りませんでした。
大きなプロンプトリストを安く実行する方法は、1枚0.001ドル未満で何千ものAI画像をご覧ください。3Dレンダリングに適用した、以前の複数ノードの方法は、プロンプトリスト:1つの3Dレンダリングを多くのアートスタイルでをご覧ください。
他のノードのアイデアがあれば、動画のコメントに残してください。役立ちそうなら、作って共有するかもしれません。
動画版を見る (3:17)
上の内容はすべて動画でも説明しています。画面を見ながら進めたい方はこちらをどうぞ。 動画は英語です。
よくある質問
ComfyUIで、画像ごとに異なるプロンプトを実行するにはどうしますか?
Prompt Cyclerノードに1行に1つのプロンプトを入れ、そのpromptの出力をCLIP Text Encodeノードに接続します。実行のたびに次の行が使われます。行数と同じ数の実行をキューに入れてください。
リスト内のすべてのプロンプトに、同じ被写体を足せますか?
はい。被写体をConcatenateノードに入れ、サイクラーのpromptをもう一方の文字列として接続し、区切り文字をスペースにして、結果をテキストエンコーダーに送ります。
Prompt Cyclerは、ComfyUI Managerにありますか?
まだありません。GitHubからインストールしてください。ZIPをcustom_nodesにダウンロードするか、git cloneを使います。
FluxやSDXLでも使えますか?
テキストを出力するだけなので、どのモデルでも動きます。私は通常Fluxで使い、デモではSD 1.5を使っています。

