Prompt Cycler:ComfyUIでプロンプトのリストを、画像1枚につき1つずつ実行する

私の無料のカスタムノードは、テキストボックスの各行を独立したプロンプトに変え、実行のたびに次の行へ進みます。インストール方法、接続方法、現在のプロンプトの表示、Concatenateノードですべての行に固定の被写体を足す方法を紹介します。

Anton Tenitsky2026年10月13日約8分で読めます動画版は下にあります

このガイドはAIで英語から翻訳したもので、誤りを含む可能性があります。英語の原文を読む。

プロンプトのリストを入れ、cycle modeをsequentialに設定したComfyUIのPrompt Cyclerノードと、日没の砂漠の岩の地形を生成した画像

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を再起動してください。

Codeメニューを開き、Download ZIPをハイライトしたGitHubのリポジトリページ
Code → Download ZIPの後、custom_nodesに解凍します。

ComfyUIが初めてなら、ComfyUIのノードの基本とテキストから画像へから始めてください。

接続する

  1. キャンバスをダブルクリックしてPrompt Cyclerを検索します(Tenitsky Prompt Cycler Simpleと表示されます)。サンプルのプロンプトが最初から入っています。
  2. そのpromptの出力をCLIP Text Encodeノードのテキスト入力に接続し、それをいつもどおりKSamplerのポジティブ入力に接続します。
  3. 実行します。実行のたびに次の行が使われます。

設定は次のとおりです。

設定 役割
seed / control after generate incrementのままにして、実行のたびに進むようにします
cycle_mode sequentialはリストを順に進み、randomは行をランダムに選びます
reset_cycle 最初の行から始め直します
テキストボックス プロンプトを、1行に1つ、好きなだけ

ノードは、現在の行の番号であるcycle_indexも出力します。

現在のプロンプトを見る

rgthreeのDisplay Anyを追加して、promptを接続すると、どの行が実行されているか分かるので便利です。

テキスト「cat posing in front a space station orbiting a distant planet」を表示したDisplay Any (rgthree)ノード
Display Anyが、使われているプロンプトを表示します。ここでスペースがないのは、後述の区切り文字の問題です。

すべてのプロンプトに同じ被写体を足す

すべてのシーンに特定のキャラクターを入れるには、Concatenateノードを追加します。

  1. そこに被写体を入力します。例:cat posing in front。
  2. サイクラーのpromptをstring_bとして接続します。
  3. STRING出力を、テキストエンコーダーとDisplay Anyに接続します。
  4. delimiterをスペースに設定します。最初に忘れて、「in fronta space station」になりました。
最初の文字列がcat posing in front、サイクラーをstring_bに接続し、delimiter欄が空のConcatenateノード
Concatenateが、各行の前に固定の被写体を置きます。delimiterはスペースに設定します。

これで、どのシーンでも、すべての画像に猫が登場します。

左にプロンプトリストを置いた、山の湖の前の岩に座る白黒の猫のSD 1.5画像
「Cat posing in front」とリストの次の行で、山の湖の猫になりました。素のSD 1.5なので、品質は基本的です。

連結と長いリストを組み合わせれば、何千ものプロンプトを実行できます。

作った理由

これは私にとって救いになりました。以前は、同じ仕事のために、テキストファイル、プロンプトリスト、複数入力のある別のconcatenateノード、プレビューと、ノードの連鎖全体を使っていました。当時は、それを圧縮してシンプルにする方法を知りませんでした。

Text Concatenate、文字列ノード、Inspire packのBindノード、ノートがある、以前のSDXLバッチワークフロー
以前に使っていたもの:今は1つのノードが担う仕事に、多くのノード。

大きなプロンプトリストを安く実行する方法は、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を使っています。

Anton Tenitsky は コンピュータグラフィックスで15年以上の経験を持つ3Dアーティストで、Nickelodeon、Gameloft、Marvel Rivalsをはじめ多くのクライアントと仕事をしてきました。 プロフィールを見る

関連ガイド