Stable Diffusion Automatic1111 WebUIで「ワイルドカード」を使ってみよう。

こんにちは。Stable Diffusionを使ってAI画像を作成してますか?
ある程度お気に入りの画像が作成できてくると、今度はそのバリエーションを増やしたくなるモノです。
通常は、プロンプトを書いて、画像生成して、ちょっとプロンプトを変えて、また画像生成して…という繰り返し。でも、これって時間かかりますよね。
はじめから、ある程度のバリエーションをプロンプトに指定できて、一気に複数枚作成できたらどんなに楽か…そう、「ワイルドカード(不特定の文字列を指定するときに使うための記号)」のような使い方が……
それ、できます!
これを可能にしてくれるのが「Dynamic Prompts」という拡張機能です。
はじめに
「ワイルドカード」とは
画像を作成するときに、ポーズや洋服、背景などをいろんなパターンで生成したいときに、毎回プロンプトを記述するのではなく、「ワイルドカード」を使うことで、ランダムに複数のプロンプトを自動で組み合わせて画像生成してくれる優れモノのです。
例えば、「背景」を「都会、海、未来、競技場、学校」や、「洋服」を「オフィススーツ、水着、サイバーパンク、トレーニングウェア、制服」のように記述したプロンプトの中から、ランダムに組み合わせたプロンプトで画像を生成してくれるイメージです。
「Dynamic Prompts」のインストール
利用するのはいつも通り、AUTOMATIC1111版web UIでの利用を前提とします。
web-ui を起動したら、Extensions タブを選択し、拡張機能管理画面を開きます。
Availableタブを選択し、Load from:ボタンをクリックします。
インストール可能な拡張機能リストが表示されるので
検索用テキストボックスに wildcard と入力すると検索します。
Dynamic Promptsが検索できたら、右のAction欄のInstallボタンをクリックします。
インストールが完了すると「installed into xxxx」が表示されます。
installedタブの一覧に「sd-dynamic-prompts」があるのを確認したら、Apply and restart UI ボタンを押して再起動します。
「Wildcard Manager」タブが追加され、下の方には「Dynamic Prompts ▼」が増えています。
「▼」をクリックして展開すると、いくつかの設定項目があります。
「Dynamic Prompts enabled」をチェックすることで「ワイルドカード」の機能が利用できるようになります。
「Combinatorial generation」は、指定されたワイルドカードの全組み合わせについて画像生成を行ってくれます。
その下の「Max generations (0 = all combinations - the batch count value is ignored)」は、Combinatorial generation」で求められる全組み合わせに対して、実行回数を指定することができます。
「ワイルドカード」を使ってみる
構文を使ってみる
プロンプトの指定は簡単です。{ xxxx | xxxx } のように 最初と最後を "{", "}" でくくって、単語や指定文字を" | " (前後に半角スペース)で区切って記述するイメージです。(本来の構文では、対象数や重みが指定できるようですが割愛します)
今回は、「AI JKモデル:ひなたん」で服装を変えてみます。
プロンプトはこんな感じです。
ファイルを使ってみる
ワイルドカード便利だけど、毎回考えるのは…、毎回メモに保存したり、コピペしたり面倒くさいな…
なら、ファイルに保存しておきましょう。
ワイルドカードファイル(ファイル名.txt)としてテキストファイルを作成・保存して、それをプロンプトに利用できます。
ファイルの書き方は至って簡単です。1行ごとにテキスト文字を記述するだけです。先ほどのプロンプトをファイルに記載してみます。
作成したファイルを「5TypesOfClothing.txt」という名前で以下のフォルダに保存します。
C:\Users\hi_sa\stable-diffusion\webui\extensions\sd-dynamic-prompts\wildcards |
※[C:\Users\hi_sa\]は各自の環境に読み替えてください。
Wildcards Manager タブを選択し、ワイルドカードファイル管理画面を開きます。
先ほど保存したファイルを読み込ませるためにRefresh wildcardsボタンをクリックします。
先ほど作成したワイルドカードファイル「5TypesOfClothing」が表示されます。
ファイル名がリンクになっているので、クリックすると、右側に、プロンプトに記載する表記(半角のアンダーバー2つを前後に入れて、「__」➕ファイル名➕「__」)と、ファイルの内容が表示されます。
このWildcards fileの欄に記載された内容をプロンプトにコピペします。こんな感じです。
このプロンプトで、先ほどと同じ結果を得ることができます。
※すでに多くのWildcardsファイルが作成されているので、ダウンロードして利用すると、さらにさまざまなバリエーションで画像生成ができるようになります。
まとめ
ワイルドカードを使うことで、プロンプトを考える時間を短縮でき、またファイルをダウンロードしてワイルドカードを使うことにより、今まで見たことがないような英単語や英語表現と、そこから生成される画像に驚かされたりします。
ワイルドカード、是非試してみてください。
Stable Diffusionをはじめ、様々なAIが常に進化していますので、チェックしながら最新にトライしてみてください。
きっとあなたにぴったりのAIが見つかると思います。