Stable Diffusionで複数のプロンプトをまとめて実行する方法

画像生成

Stable Diffusionで、複数のプロンプトをまとめて実行したいときがあると思います。

そんなときに使えるのがAUTOMATIC1111版の Stable Diffusion web UI に組み込まれているPrompts from file or textbox です。

これを使えば複数のプロンプトをまとめて実行できます。

ここでは Prompts from file or textbox の使い方を詳しく説明します。

Prompts from file or textboxとは?

Prompts from file or textboxは、AUTOMATIC1111版の Stable Diffusion web UI(以下、web UI)に標準的に組み込まれているスクリプトです。

これを使えば、プロンプトをその都度テキストボックスに入力しなくても、テキストにまとめたプロンプトを一括で実行できます。

Prompts from file or textboxの使い方

Prompts from file or textbox のスクリプトは、web UIに最初から組み込まれています。

そのため、拡張機能をインストールする必要はありません(ありがたい)。

web UIで「txt2img」のタブを開き、画面を下にスクロールし「Script」のドロップダウンを探します。

Scriptのドロップダウンをクリックすると「Prompts from file or textbox」が出てくるので、これを選択します。

選択すると、以下の画面が出てきます。

ここで、複数のプロンプトを実行する方法は2つあります。

  1. 「List of prompt inputs」のテキストボックスにプロンプトを改行して書く
  2. 「Upload prompt inputs」に事前に用意したテキストファイルをアップロードして実行する

1の場合は「List of prompt inputs」のテキストボックスに複数のプロンプトを改行して書きます。

2の場合は、複数のプロンプトを書いたテキストファイルを事前に用意してweb UIにアップロードします。

実行したいプロンプトが2〜10個くらいなら「1」の「List of prompt inputs」のテキストボックスに書く方法が簡単です。

数十行以上のプロンプトを一括で実行する場合は「2」のテキストファイルをアップロードする方がやりやすいです。

それぞれの方法を詳しく解説しましょう。

1. 複数のプロンプトを改行して書く

「List of prompt inputs」に複数のプロンプトを改行して書くと、それぞれのプロンプトが別のものとして実行されます。

たとえば、以下の2つのプロンプトを改行して書いてみましょう(このとき、カンマ区切りではなく開業で入力することに注意しましょう)

  1. black cat
  2. white cat

こうすると1回の実行で2つのプロンプトが実行され、合計2枚の画像が生成されます。

実行した結果が以下です。

1枚目の画像が黒猫で、2枚目の画像は白猫になっています。

改行して書いたプロンプトがそれぞれ実行されていることがわかりますね。

このとき、いつものプロンプトのテキストボックスに書いたプロンプトは無視されます。

今回、いつものプロンプトエリアには何も書いていません。

結果として「List of prompt inputs」に書いた内容だけが画像に反映されています。

プロンプトエリアに「dog, bear, mouse」など関係のないことを書いて実行した場合はどうでしょうか。

以下が実行した結果ですが、出てきた画像は猫だけです。

いつものプロンプトエリアが無視されることがわかりますね。

※ただし、ネガティブプロンプトはそのまま適用されます。

複雑なプロンプトをまとめて実行する

上記では「black cat」と「white cat」という単純なプロンプトでしたが、カンマ区切りで書いた長いプロンプトも同じようにまとめて実行できます。

たとえば、以下の3つのプロンプトをまとめて実行してみましょう。

  1. black cat, with glasses(メガネを掛けた黒猫)
  2. white cat, with hat(帽子を被った白猫)
  3. pink cat, jumping into pond(池に飛び込むピンクの猫)

これらをそれぞれ改行して「List of prompt inputs」に書きます。

実行するとそれぞれのプロンプトが別個に実行されて、3枚の画像が生成されます。

それぞれのプロンプトの意を汲んだ画像が生成されました。

このように「List of prompt inputs」に複数のプロンプトを改行して書くだけで、それぞれのプロンプトを個別に実行できます。

事前に用意したテキストファイルを読み込んで実行する

「List of prompt inputs」のテキストエリアにプロンプトを書くのではなく、事前に用意したテキストファイルをアップロードして、複数のプロンプトを実行することもできます。

こちらもやり方は簡単です。

テキストエリアに書くときと同じようにテキストファイルに複数のプロンプトを改行して書きます。

あとは、それをアップロードするだけです。

ここでは次のテキストファイル(prompts.txt)を用意しました。

これを「Upload prompt inputs」のエリアにドラッグドロップします。

これでプロンプトが読み込まれます。

同じように複数のプロンプトを実行できます。

シード値を連番にする(Iterate seed every line)

「Iterate seed every line」にチェックを入れると、生成される画像のシード値が連番になります。

生成された画像を見ると、以下のようにシード値(119152016X)が連番になっています。

シード値を固定する(Use same random seed for all lines)

「Use same random seed for all lines」にチェックを入れると生成される画像のシード値が固定されます。

以下のように生成された画像のシードが同じ値(121952605)になっていますね。

プロンプトごとに異なるシードを使う

どちらのチェックボックスにもチェックを入れない場合、改行ごとに異なるシード値が使われます(これが初期設定です)。

以下のように、それぞれ異なるシード値が使われることがわかります。

プロンプトをテンプレート化して実行するには?

今回紹介した方法で、複数のプロンプトをまとめて実行することができます。

しかし、異なるたくさんのプロンプトを事前にテキストに書き出しておく必要があります。

もっと複雑なプロンプトを使う場合や、プロンプトの特定のキーワードだけを変えて実行したい場合は不便です。

たとえば、以下のように猫の画像を生成する複雑なプロンプトを書いたとします。

(RAW photo, 8k, masterpiece, best quality), white cat, small, cute, black hat

ここで、猫の帽子の色(black hat)だけを変えて10パターン(10色)の画像を生成したい場合、以下のような長いテキストファイルを用意する必要があります。

// このプロンプトで帽子の色(black hat)を変えて10パターン生成したい場合
(RAW photo, 8k, masterpiece, best quality), white cat, small, cute, black hat
(RAW photo, 8k, masterpiece, best quality), white cat, small, cute, white hat
(RAW photo, 8k, masterpiece, best quality), white cat, small, cute, red hat
(RAW photo, 8k, masterpiece, best quality), white cat, small, cute, blue hat
(RAW photo, 8k, masterpiece, best quality), white cat, small, cute, green hat
(RAW photo, 8k, masterpiece, best quality), white cat, small, cute, purple hat
(RAW photo, 8k, masterpiece, best quality), white cat, small, cute, yellow hat
(RAW photo, 8k, masterpiece, best quality), white cat, small, cute, gold hat
(RAW photo, 8k, masterpiece, best quality), white cat, small, cute, silver hat
(RAW photo, 8k, masterpiece, best quality), white cat, small, cute, pink hat

これはちょっと大変です。

基本的なプロンプトは同じなので「帽子の色」だけを変えたいところです。

以下のようなテンプレートが使えればよさそうです。

// [X]に帽子の色を入れる
(RAW photo, 8k, masterpiece, best quality), white cat, small, cute, [X] hat

実は「StylePile」という拡張機能を使えば、このように特定のキーワードだけを書き換えて複数のプロンプトを実行できます。

複数のプロンプトをテンプレ化してまとめて実行する方法ではこの方法を解説しています。

まとめ

今回は、AUTOMATIC1111版の Stable Diffusion web UI に組み込まれている Prompts from file or textbox を使って、複数のプロンプトをまとめて実行する方法を紹介しました。

画像生成の実験をしたいときや、いろんなパターンを一括で試したいときに便利なので、ぜひ使ってみてください。

記事の内容にわからないことがある方は以下のアカウントに気軽にDMしてください!

@sti320a

また、最新の技術の活用方法など役に立つツイートを心がけているので、ぜひフォローしてもらえると嬉しいです!

タイトルとURLをコピーしました