「1度の連続生成で、赤色髪・黄色髪・青色髪の3つの内、どれか1つをランダムで毎回生成させたい…」とか
「画像生成した後に、1つだけ呪文を入れ替えて再度生成するのが面倒…呪文を入れ替える手間を省きたい…」
と困ったことはありませんか?
拡張機能である「Dynamic Prompts」を使用すると
それら2つの困りごとを解決することができます。
「Dynamic Prompts」は
例えば、「Tシャツ」「ブラウス」「ドレス」の呪文の中から
毎回ランダムで呪文1つを選ばせて、合計10枚を1度に連続生成させたい時に使用したりします。
もう1つ使い方があり、例えば、赤色の髪を生成した後に、次の黄色の髪を生成したい場合
プロンプト内にある「red hair」の呪文を「yellow hair」に変えてから、再度生成する必要があるので手間がかかってしまいます。
「Dynamic Prompts」を使用すると、1枚目は赤色の髪である「red hair」で生成して
2枚目は黄色の髪である「yellow hair」を1度に連続で生成することができるので
再度呪文を入れ替えて生成する手間を省くことができます。
便利な機能なので、是非記事を参考にして「Dynamic Prompts」を利用してみてください。
この記事では、Dynamic Promptsを使ってランダムに画像生成させる方法について解説します。
何度も呪文を入れ替える手間を省けるようになる
Dynamic Promptsの導入方法

「Dynamic Prompts」の拡張機能は、インストールして導入する必要があります。
導入方法は、右上にある「Extensions」をクリックしてください。
「Available」をクリックしてから「Load from:」ボタンを押してください。

検索内で「dynamic prompts」と入力してください。
ゆっくり入力しないと表示されない場合があるので、ゆっくり入力してください。
「Dynamic Prompts prompting」項目の右側にある「Install」ボタンをクリックしてインストールしてください。

「Installed」をクリックしてください。
「sd-dynamic-prompts」がインストールされているか確認してください。

「Settings」をクリックしてから、「Reload UI」ボタンをクリックして
「Stable Diffusion Web UI」を再起動してください。
これで「Dynamic Prompts」の導入は完了です。

Dynamic Promptsの使い方

「Dynamic Prompts」は2つの使い方あり
予め入力していた呪文をランダムで連続生成させる方法と
呪文を順番よく生成させる方法があります。
ここでは、それら2つの使い方について詳しく解説します。
ランダムで生成する
「Dynamic Prompts」の右側にある、逆三角形をクリックして開いてください。
「Dynamic Prompts enabled」にチェックを入れることで、使用することができます。

プロンプト内にランダムで生成したい呪文を記載します。
記載方法ですが、例えば「ピンク髪」「青髪」「白髪」をランダム生成したい場合は以下のように呪文を入力します。
{pink hair | blue hair | white hair}
・呪文の外側には{}を入れるようにしましょう。
・1つの呪文を入力したら | を入れて区切るようにしてください。

次に「Batch count」項目で、連続生成する枚数を設定してください。
ここでは「5」の設定にして1度に5枚生成してみます。

以下の画像は生成した結果になります。
「ピンク髪」「青髪」「白髪」がランダムで5枚画像生成されています。
このように、1度にランダムで複数枚を画像生成することが出来るので、是非使用してみてください。

順番よく生成する
先ほどはランダムで生成する方法でしたが
次は、呪文を書いた順番通りに画像生成させる方法になります。
「Conbinatorial generation」にチェックを入れることで
予め記載した呪文を順番通りに生成することができます。

以下の画像は生成した結果になります。
プロンプト内に入力した「ピンク髪」「青髪」「白髪」で順番よく3枚画像生成できています。
「Conbinatorial generation」を使用した場合は
「Batch count」で設定した数値は無効になり、呪文を記載した分の枚数が連続生成されます。

連続生成枚数を変更する方法
「Max generations」項目では、最大の生成枚数設定になります。
例えば、数値を「2」に設定して画像生成すると、「ピンク髪」「青髪」の2枚を連続生成することができます。

全ての呪文を同じ枚数ずつ画像生成する方法
「Combinatorial batches」では、入力した呪文を全て同じ枚数ずつ画像生成したい場合に設定します。
例えば、プロンプト内に「ピンク髪」「青髪」「白髪」の呪文を入力してから
「Combinatorial batches」の数値を「2」に設定して生成した場合は
「ピンク髪→2枚」「青髪→2枚」「白髪→2枚」で、それぞれ同じ枚数で画像生成することが出来ます。

Seedを固定して生成する方法
画像生成する全てのSeedを固定したい場合は
「Advanced options」の右側にある逆三角形をクリックしてから、「Fixed seed」にチェックを入れてください。
以下の画像のように、Seedを全て固定して画像生成することが出来ます。

まとめ

以上で、ランダムで画像生成させる「Dynamic Promtps」の使い方について解説しました。
・ランダムで連続生成できる
・順番良く連続生成できる
「Dynamic Prompts」を使用すると
再度別の呪文に入れ替えてから生成する手間を省くことができるので
非常に便利な機能です。
是非参考にして「Dynamic Prompts」を利用してみてください。