「Prompt matrix」は、異なるプロンプトの組み合わせを一度に生成できる機能です。
プロンプトの組み合わせ結果を一度に確認できるため、さまざまな検証に使うことができます。
今回はこの「Prompt matrix」の使い方について、詳しく解説します。
Stable Diffusion Web UIのインストールがまだの方はこちらの記事を参考にしてみてください。
Stable Diffusion Web UIのPrompt matrixとは?
Prompt matrixは入力したプロンプトの組み合わせ結果を一度に得られる機能です。
例えば「1girl」は固定してさまざまな表情の確認がしたいとき、通常は「1girl, smile」「1girl, angry」など書き換えて生成します。
このやり方だと数が多ければ多いほど大変ですし、画像も1枚1枚生成されるため、確認もしにくいです。
このように異なるプロンプトを組み合わせたときの変化を、一回の生成で確認できるのがPrompt matrixです。
今回はこのPrompt matrixの使い方について詳しく解説します。
Prompt matrixの使い方
Prompt matrixはWeb UIの画面左下にあるScriptから選択できます。
プルダウンメニューを開いてPrompt matrixを選んでください。
プロンプト欄には、固定したいプロンプトを最初に記述します。
その後にそれぞれ組み合わせたいプロンプトをパイプ記号で区切って入力します。
1girl, winter clothes|smile|nighttime
上記を入力して画像生成すると「1girl, winter clothes」は固定され、他の要素を組み合わせた全ての結果が得られます。
- 左上:1girl, winter clothes
- 右上:1girl, winter clothes, smile
- 左下:1girl, winter clothes, nighttime
- 右下:1girl, winter clothes, smile, nighttime
なお、生成枚数はプロンプトの数をnとした場合、2^(n-1)で計算できます。
プロンプトの数 | 3 | 4 | 5 | 6 | 7 | 8 |
生成枚数 | 4 | 8 | 16 | 32 | 64 | 128 |
単純にプロンプトを1つ増やすと生成枚数が2倍になるので、処理が多くなります。
お使いの環境やスペックに合わせて無理をしないよう調整してください。
Prompt matrixで設定できるオプション
Prompt matrixにはシード値を変えたり、余白を入れたりできるオプションがあります。
- Put variable parts at start of prompt
- Use different seed for each picture
- Select prompt
- Select joining char
- Grid margins (px)
Put variable parts at start of prompt
これを直訳すると「可変部分をプロンプトの先頭に配置する」なので、先頭のプロンプトを固定しないオプションのように感じますが、現状具体的な使い方がわかりませんでした。
チェックの有無で画像生成の順番やプロンプトの配置が変わることもなかったため、こちらはわかり次第追記します。
Use different seed for each picture
生成される画像にそれぞれ違うシード値を与えるものです。
通常Prompt matrixで生成される画像は同じシード値が使われます。
同じシード値を使用することで、プロンプトの組み合わせによる変化を確認しやすくするためです。
ただ人によってはシード値を固定せず、異なる画像を生成したい方もいると思います。
その場合はこの「Use different seed for each picture」にチェックを入れれば、シード値が1ずつ増加し、それぞれ異なる画像が生成されます。
Select prompt
プロンプトとネガティブプロンプト、どちらの要素で画像を生成するか選べるものです。
ネガティブプロンプトにパイプで区切ったプロンプトを入力すれば、ネガティブプロンプトで全ての組み合わせ結果が得られます。
Select joining char
これはプロンプトを結合する記号をカンマと半角スペースどちらにするか選べるものです。
Prompt matrixでは「|(パイプ)」でプロンプトを区切るため、カンマや半角スペースで区切られたプロンプトは1つの要素として扱われます。
「girl,black hair」でカンマを選択した状態だと、「黒髪の少女」という1つの要素になります。
Grid margins (px)
マトリックスの間に余白を入れられる機能です。
pxはピクセルという単位のことで、5pxに設定するとこれくらいの余白が入ります。
Prompt matrixの使い方まとめ
今回はPrompt matrixの使い方について詳しく解説しました。
Prompt matrixを使うと1つのプロンプトを固定した状態で、それに複数のプロンプトを合わせた結果を確認することができます。
プロンプトの組み合わせによる違いを確認したいときに便利な機能です。
同じscrptの「X/Y/Z plot」でも似たようなことはできますが、プロンプトの検証であればこちらの方が使いややすかと思います。
目的や好みに合わせてプロンプトを検証し、理想の画像を目指してみてください。