呪文(プロンプト)のランダム化の拡張機能 Dynamic prompts【Stable Diffusion】
「Stable Diffusion Dynamic Prompts extension」は、プロンプト入力欄の指定した文字列をランダムに出力するweb UI用の拡張機能です。 この拡張機能を使えば、予め指定したプロンプト内の文字列をランダムに組み合わせてから、画像を生成することができます。
- インストールはwebUI上で行うことができるため導入が簡単
- 指定した文字列をランダムに選びプロンプトを生成してくれる
- 単語ではなく、文字列に対して作用するので、かなり自由度は高い
- ワイルドカードをつかうことで値を大量にいれたりできて効率化
- ワイルドカード自体もランダムで選ぶことも可能
- 構文は入れ子にできるため、複雑なプロンプトを作成できる
- ADetailerのような別にプロンプト入力欄がある場合には使えない(調査中)
構文ガイド
Syntax Guideから抜粋
基本的な使い方
リストの中からひとつを選びます。
{猫|犬|狐}
値の数に制限はないですが、多い場合はワイルドカードを使いましょう。
注意としては、たくさんの画像を出力しても均等に値が分散するわけでもなく必ず偏りが起こります。
ワイルドカードとは?
値の数が増えたりすると管理が大変だったり、プロンプトの文字数が増えすぎてしまいます。 そこでワイルドカードを使って効率化することができます。
ワイルドカードは2種類あります。
- UI上から値のリストを管理する(Wildcards Manager)
- テキストファイルを指定の場所に入れる方法
テキストファイルでの管理は、リストを配布してる人のを利用できたりと活用方法が広がります。
ランダムの調整ができる
値の出現頻度を調整できます。数値は0.1~1が目安。省略すると1になります。
{数値::猫|数値::犬|数値::狐}
値の出現頻度を調整するだけで、割合を変えるというのとちょっと違うようなので注意。
複数の値を選ぶ
例文では3つの値から2つ選びます。値の数より選ぶ数を多くしても値の数以上にはなりません。
{2$$ 猫|犬|狐}
リストの中から指定した数の分だけを値を選びます。
複数選んだときの区切り文字指定する
また選ばれた値と値の間に区切り文字を入れることも出来ます。
{2$$ and $$猫|犬|狐}
例文ではandになってますが、自由に指定できます。この状態だと「猫and犬」みたいになります。
複数の値を選ぶ範囲を指定する
選ばれる数の範囲も変更することができます。
{1-2$$ and $$猫|犬|狐}
例文の場合は、3つの値から1~2の値を選びます。
使用例
ダイナミックプロンプトは入れ子にしたり、強調に入れたり、空欄作ったり、何個か選んだり、LoRA にも使える。
強調に使う
強度がランダムに変わる
(twintails:{1.1|1.2|1.3}),
空欄を作る
入力しなければ空白がそのまま出るので、この場合は1/3の確率で twintails が出る
{twintails, | | }
入れ子にする
1/3の確率で出しつつ、出る時は強度もランダムに変化、LoRA も指定可能
{<lora:shojovibe_v11:{0.1|0.2|0.3}>,||}