Stable Diffusionの機能の1つに「ワイルドカード」があります。
これはtxtファイルに記載されたプロンプトの中から、ランダムで特定の要素を呼び出せるというものです。
プロンプトのランダム入力ができると、大量に画像生成するときの効率化につながります。
今回はこのワイルドカードの導入方法と具体的な使い方について、ご紹介します。
・Stable Diffusion Web UIのインストールはこちら
Stable Diffusion Web UIのワイルドカードってどんな機能?
Stable Diffusion Web UIのワイルドカードは、txtファイルからプロンプトをランダムで呼び出せる機能です。
例えば、season.txtというファイルに1行ずつ「spring」「summer」「autumn」「winter」と記入します。
これでプロンプトに「__season__」と入力すると、txtに書いた4つのうち、どれかを画像に反映できるというものです。
この「__season__」の部分をワイルドカードと呼びます。
髪型や髪色だけなど、特定の要素のみランダムにでき、一枚生成するごとにプロンプトを書き換える必要がありません。
またワイルドカードを配布している方もいるため、そちらを導入、編集して使うこともできます。
なお、「Dynamic Prompts」という拡張機能を使うと、波括弧を使ったランダム入力が可能です。
要素が少数、または特定の要素の有・無をランダムにしたい場合は、Dynamic Promptsの方がなにかと便利です。
ワイルドカードと波括弧の両方を使いたい方は、Dynamic Promptsをおすすめします。
ワイルドカードの使い方
ワイルドカードのインストール
Stable Diffusion Web UIを起動して、Extensions→Install from URLを開いてください。
下記URLを入力してInstallをクリックします。
https://github.com/AUTOMATIC1111/stable-diffusion-webui-wildcards.git
installedのタブに行き、拡張機能がインストールされていることを確認して、UIをリスタートします。
これでインストールは完了です。
ワイルドカードで使用するtxtファイルの作成
次にワイルドカードを使用するためのtxtファイルを作成します。
今回は上記で紹介した季節を例に解説していきます。
まずはseason.txtを作って、中に「spring」「summer」「autumn」「winter」と入力し保存してください。
作成したtxtファイルを以下のパスに移動します。
stable-diffusion-webui\extensions\stable-diffusion-webui-wildcards\wildcards
これで準備は完了です。
ワイルドカードを使用して画像を生成する
ワイルドカードでtxtファイルの要素を呼び出すには、ファイル名をアンダーバー2つで挟みます。
nameというtxtファイルなら「__name__」、今回作成したseasonなら「__season__」です。
プロンプトに__season__と入力して画像を生成してみてください。
夏っぽい画像が生成され、プロンプトでsummerが選ばれているのがわかります。
Batch countを9にして生成すると、春だけ出現しませんでしたが、それぞれの季節がランダムで入力されました。
このようにワイルドカードを使えば、特定の要素をランダムで入力できます。
ワイルドカードを使うメリットは?
一番のメリットは生成効率化です。
特定の要素をランダムで呼び出せば、1枚生成するごとにプロンプトの書き換えがいらないため、生成時間を短縮できます。
また使い方によっては、いろいろ応用が可能です。
例えば__color__で色を呼び出せるようにした場合、髪色や服、オブジェクトなどいろいろなものに使用できます。
- __color__ hair
- __color__ shirt
- __color__ box
他にも制服+学校など、複数の要素をセットにして呼び出すことも可能です。
リストに要素をセットで入力して、__situation__で呼び出すなど。
- school uniform, class room
- businesssuit, office
- volleyball unifrom, volleyball court
他にも「どんな画像になるか」「この要素は反映されるか」など検証する場合にも便利です。
オリジナルリストを作っていろいろ試してください。
ワイルドカードの作成、または導入する方法
ランダム生成は便利ですが、ワイルドカードで呼び出すリストの作成は少し手間だという方もいると思います。
ここではワイルドカードの作成、導入方法について解説します。
ChatGPTで作る
何らかのリストを作りたいとき、チャットボット型のAIにお願いすると便利です。
ChatGPT以外でも使えますが、今回はChatGPTを例に紹介します。
例えばデザートをランダムにしたいとき、「いろいろな種類のデザートを一行ずつ英単語でください」と入力すると以下のように返してくれます。
これをコピペしてtxtと保存しておけば、デザートをランダム化することが可能です。
自分で翻訳したり、どこかから探したりするよりも、ChatGPTのようなAIを使った方が効率よくワイルドカードを作れます。
Civitaiからダウンロードする
ワイルドカードはCivitAIで配布されているものがあります。
おそらく個人や他の提供サイトで配布しているところもありますが、Civitaiが一番探しやすいです。
以下のリンクからダウンロードできます。
wildcard Stable Diffusion AI Models | Civitai
しかし、誰かが作成したワイルドカードは、不要なプロンプトが多く存在します。
自分が知らないプロンプトや新しい画像生成を学ぶという目的なら問題ありませんが、狙った画像を生成するという意味ではあまり使えません。
不要なプロンプトが多いと、理想の画像を生成するのに時間がかかってしまうからです。
ですので、ランダムの範囲を制限したい場合は、自分で作成した方が確実です。
ワイルドカードの使い方まとめ
今回はワイルドカードの導入方法と使い方について、ご紹介しました。
ワイルドカードはプロンプトをランダムで入力できる
ワイルドカードを使うと時短になる
ワイルドカードは工夫次第でいろいろ応用できる
ワイルドカードChatGPTで作る簡単
さまざまな種類の画像を一括で大量に生成する場合、ワイルドカードは必須といっても過言ではありません。
初期のころはランダム入力がどのように役に立つのかピンと来ていなかったのですが、現在は外すことができない拡張機能となりました。
工夫次第でいろいろなことに役立つので、ぜひ使ってみてください。