Stable Diffusionの拡張機能『Dynamic prompts』でワイルドカードを使う方法!

Stable Diffusion

Stable Diffusionで同じ構図ばかりの画像ができてしまう…そんな経験はありませんか?

服装や髪型、背景などをランダムに変えてもっとバリエーションを出したいときに便利なのが、「ワイルドカード」機能です。

『Dynamic prompts』を使えば、テキストを自動で入れ替えて多様な画像を生成することができます。

今回は、このワイルドカードを使える拡張機能『Dynamic prompts』の導入から使い方までを丁寧に紹介していきます!

監修者プロフィール
沖@AI画像生成
Xで5万人のフォロワーをかかえる、画像生成クリエイター。Stable Diffusionを中心に、様々な画像生成AIや動画生成AIを駆使し、コンテンツを制作。画像生成に関連する講演会なども多数こなす。AI画像制作の仕事も募集中。

Stable Diffusionの『ワイルドカード』とは?

Stable Diffusion WebUIの拡張機能Dynamic promptsの機能の一つで、テキストファイルの中からランダムにプロンプトを拾って画像を生成できます。

例えば、同じ構図で服装や髪型だけを変えたい場合に便利です。

また、背景をランダムに変えてバリエーションを増やしたいときにも活用できます。

詳細はこちらからご確認ください。

『ワイルドカード』の使い方

それでは、具体的に『ワイルドカード』の使い方を以下の流れでみていきましょう!

  1. Stable Diffusion WebUIを立ち上げる
  2. 拡張機能(Dynamic prompts)を導入
  3. ワイルドカード用のファイル導入
  4. ワイルドカードを使う・作る

①Stable Diffusion Web UIを立ち上げる

Stable Diffusion WebUI を立ち上げてください。

もしも、まだ使用環境が整っていない方がいたら、この記事を参考にして環境を構築してください。

②拡張機能「Dynamic prompts」を導入する

拡張機能「Dynamic prompts」の導入は以下の手順となります。

  1. Stable Diffusion の Extensions のタグを選択
  2. Install from URL を選択
  3. URL for extension’s git repositoryに以下のURLを貼り付け 
    https://github.com/adieyal/sd-dynamic-prompts.git
  4. Installをクリック

「sd-dynamic-prompts」のダウンロードはこれで終了です。

1度リロードをしてください。

③『ワイルドカード』用のファイルを導入する

『ワイルドカード』を使用するには事前にテキストファイルの準備が必要です。

Dynamic promptsから呼び出せるワイルドカードもありますが、あまり実用性はありません。

実用的なものはCivitAIに作成済みのテキストファイルがいくつか無料配布されていますので、それを使う方法もあります。

以下はCivitAIからダウンロード可能なワイルドカードの一部です。

代表的なワイルドカード

ダウンロードしたテキストファイルは「stable-diffusion-webui」>「extensions」>「sd-dynamic-prompts」>「wildcards」フォルダの中に入れてください。

CivitAIのワイルドカード素材をダウンロードするには、ログインが必要な場合があります。
事前にアカウント登録しておくとスムーズです。

④『ワイルドカード』を使う・作る

試しにDynamic promptsのデフォルトで呼び出せるワイルドカードを使ってみましょう。

上部タグからWildcards Manager を選択します。

Collection Actions を開き、今回はartistsを選択し Copy Collection を押します。

これでartistsのファイルが呼び出しできました。

このartistsを開いていくとartists/Japanese Art/ukiyoeのワイルドカードがあるのでこれを使って画像を生成していきます。

ワイルドカードを使うためには、専用の構文を使う必要があります。

__ワイルドカード名__

左右のアンダーバーはそれぞれ2本連続で記述してください。

ではtxt2imgで画像を生成します。プロンプトは

__artists/Japanese Art/ukiyoe__

Batch sizeは6にしました。

次にDynamic promptsのパラメーターを設定します。

Dynamic Prompts enabledにチェックを入れて、有効にします。

以上の条件で画像を生成すると、

それぞれの画像はワイルドカードartists/Japanese Art/ukiyoe内にあったものから選択されます。

生成された画像のプロンプトはそれぞれ

Miyagawa Chōki, Tsukioka Yoshitoshi, Katsushika Ōi, Toyohara Kunichika, Torii Kiyohiro, Tsukioka Yoshitoshi

となります。(モデルが学習できいないものは表現できないようです。)

また、ワイルドカードは自分で作成した物を使うことができます。

その場合は通常のテキストファイルで作成しても良いですし、Wildcards Manager のタグから既存のワイルドカードを編集して使うこともできます。

テキストファイルを使わないで『ワイルドカード』を使用する場合

Dynamic promptsはワイルドカードを使わないで、プロンプトの中からランダムで選択できる専用の構文があります。

最も基本的な構文(呪文A~Cの中からランダムに1つだけ選ぶ)は次のとおりです。

{ 呪文A | 呪文B | 呪文C }

呪文を半角の|で区切り、それを半角の{}で囲むだけです。

Dynamic Prompts enabled を有効化し、プロンプトに

{ cat | dog | bird }

このように書くと

cat , dog , bird から一つが選択された画像が生成されます。

①複数を選択する

呪文の中からランダムに複数を選択することもできます。

その場合の構文は次のとおり。

{ 選択する数 $$ 呪文A | 呪文B | 呪文C }

具体例は次のような感じです。

a girl { 2$$ glasses | earrings | hair ribbon}

この場合は、メガネ、イヤリング、リボンの中から2つ選択された画像が生成されます。

②「and」で結合する

My favourite ice-cream flavours are {2$$ and $$chocolate|vanilla|strawberry}

このように書くと、2$$ と $$ の部分にそれぞれ1語が選択され

  • My favourite ice-cream flavours are chocolate and vanilla
  • My favourite ice-cream flavours are chocolate and strawberry
  • My favourite ice-cream flavours are vanilla and chocolate

のようにandで結合されたプロンプトで画像を生成することができます。

③選択する数をランダムにする

以下の構文で選択数をランダムにすることができます。

My favourite ice-cream flavours are {1-2$$ and $$chocolate|vanilla|strawberry}

このようにプロンプトを描いた場合

  • My favourite ice-cream flavours are chocolate
  • My favourite ice-cream flavours are strawberry
  • My favourite ice-cream flavours are vanilla
  • My favourite ice-cream flavours are chocolate and vanilla
  • My favourite ice-cream flavours are chocolate and strawberry
  • My favourite ice-cream flavours are vanilla and chocolate

このように1語もしくは2語を選択したプロンプトで画像が生成されます。

④重みを付ける

選択されるプロンプトの割合を変更することもできます。

{0.5::summer|0.1::autumn|0.3::winter|0.1::spring}

このように書くと、夏:5 秋:1 冬:3 春:1 の割合で選択されます。

Dynamic promptsについては独自の構文がまだまだ沢山あります。

詳しく知りたい方はこちらから学習してください。

「Wildcards Manager」を使う方法

Wildcards Managerを使うと、ワイルドカードの中から必要なものを探したり、ワイルドカードを編集することができます。

上部ダグからWildcards Managerを選択し、ヘアスタイルを変更できるワイルドカードを探してみましょう。

Search in wildcard namesに “hair” と入力します。

そうすると、髪型に関するワイルドカードの一覧が選ばれるので、その中から一つを選びましょう。

右側にワイルドカード内のプロンプトが表示されるので、確認しながら今回はdevilkkw/body-1/hair_styles_shorを選びました。

さらに中身も編集してしまいましょう。

File editorをそのまま書き換えて、下にあるSave wildcardsを押します。

これで画像を生成すると・・・

中からランダムに髪型を選んで画像を生成してくれます。

服装のワイルドカードや表情のワイルドカードを作ってしまえば、かなり便利に使えそうですよね。

まとめ

いかがでしたでしょうか?

Stable Diffusionの拡張機能『Dynamic prompts』でワイルドカードを使う方法について解説してきました。

今回のポイントをまとめると、以下のようになります。

  • Dynamic promptsはプロンプトをランダムにできるツールです。
  • ワイルドカードを使うと、髪型だけ、服装だけ、表情だけを変えることも可能です。

Dynamic promptsはかなり多機能な拡張機能です。

うまく使いこなせば、きっとあなたの制作を助けてくれると思います。

ぜひ活用してみてください!

romptn aiが提携する「SHIFT AI」では、AIの勉強法に不安を感じている方に向けて無料オンラインセミナーを開催しています。

AIを使った副業の始め方や、収入を得るまでのロードマップについて解説しているほか、受講者の方には、ここでしか手に入らないおすすめのプロンプト集などの特典もプレゼント中です。

AIについて効率的に学ぶ方法や、業務での活用に関心がある方は、ぜひご参加ください。

\累計受講者10万人突破/