MENU

Stable Diffusion WebUI 『Dynamic Prompts』でランダムする方法

こんにちは、タカムネ(@takamune_ai)です。

この記事では、Stable Diffusion WebUIの拡張機能『Dynamic Prompts』を使ってランダム生成する方法をご紹介します。

目次

Dynamic Promptsとは?

Dynamic Promptsとは、Stable Diffusion WebUIの拡張機能の一つです。

Dynamic Promptsを導入することによって、指定した複数のプロンプトのなかから、ランダムで1つを選択して、画像生成することができます。(厳密には1つ以上を選択することも可能)

例えば、キャラのデザインやキャラのポーズなど、いくつかのパターンを試したいときに便利で、使っている方も非常に多いのではないかと思います。

Dynamic Promptsの導入方法

STEP

Stable Diffusion WebUIの「Extensions(拡張機能)」タブ-「Availlable(拡張機能リスト)」タブの「Load from:(読込)」をクリックします。

STEP

表示されたリストから「Dynamic prompts」を探して、右側にある「Install」をクリックします。

STEP

「Installed(インストール済み)」タブをクリックして、一覧に「Dynamic prompts」があることを確認します。

STEP

念のため「Apply and restart UI(適用してUIを再起動)」をクリックして、再起動します。

STEP

「txt2img」タブで、下のほうに「Dynamic prompts」の項目があれば、導入ができています。

タブを開くと、「Dynamic Prompts enabled(有効化)」というチェックがあるので、チェックが入っていることを確認します。(デフォルトでオンのはず)

これで準備完了です。

Dynamic Promptsの使い方

Dynamic Promptsを使い方は、基本的な構文を参照いただければ十分かなと思います。

「重み付け」「複数選択」というオプションもありますが、あんまり使う機会はないかも。

基本的な構文

Dynamic Promptsの基本的な構文は、中括弧で全体を囲んで、複数のプロンプトを「|」で区切ります。

{A|B|C}

例 {black|green|blue} hair

これで、プロンプトのどれか1つが、ランダムで適用されます。

重み付け

それぞれのプロンプトに「数値::」つけることで、選択率に重み付けすることもできます。

{数値::A|数値::B|数値::C}

例 {0.7::black|0.3::green|0.2::blue} hair

なお、数値の合計は、必ずしも1にする必要はありません。

複数選択

先頭に「数値$$」をつけることで、複数のプロンプトを適用することもできます。

{数値$$A|B|C}

例 {2$$chocolate|vanilla|strawberry}
⇒要素のうち、2つが適用される

数値を「-」でつなげることで、選択数に範囲を持たせることもできます。

{数値-数値$$A|B|C}

例 {1-2$$chocolate|vanilla|strawberry}
⇒要素のうち、1つ、または、2つが選択される

Dynamic Promptsの使用例

具体的にDynamic Promptsの使用例をご紹介します。

使わせていただいたモデルは、Vすき焼き様(@Vsukiyaki_AIArt)の「ShiratakiMix」です。

キャラデザイン

キャラの印象を大きく左右する「髪色」「髪型」「目の色」をランダム生成してみます。

プロンプトは、以下の通りです。

●プロンプト

//品質向上
masterpiece,

//キャラの人数
1girl,solo,

//髪色
{black|green|blue|red|pink} hair,

//髪型
{long hair|short hair|bob cut|ponytail|twintail},

//目の色
{black|green|blue|red|pink} eye,

//画角
face only,

分かりやすいように、改行・コメントを入れていますが、これはなくてもよいです。なお、そのままコピペしても機能しますが、改行・コメントなしの場合と結果が変わる場合があります。

●ネガティブプロンプト

(easynegative:1.0),(worst quality,low quality:1.2),(bad anatomy:1.4),(realistic:1.1),nose,lips,adult,fat,sad, (inaccurate limb:1.2),extra digit,fewer digits,six fingers,(monochrome:0.95)

ネガティブプロンプトは、「ShiratakiMix」の配布ページに記載されていたものを参考にしました。ネガティブプロンプトについては、別記事でご紹介します。

いくつか画像を生成した結果が、以下の通りです。

わかりやすいように、アングルは顔のアップを指定しています。

こんな感じでイメージをつかんで、自分好みをキャラを作っていくのも楽しいですね。

色移りについて

以下のように色が指定通りにならないことがあります。

  • 黒髪を指定したのに、目の色と同じピンク髪になった
  • 黒髪の一部が、青色の目に影響されて、部分的に青色になった

このように、色が影響しあうことはよくあります。

この回避方法などについては、別の記事で紹介しようと思います。

キャラのポーズ

今度は、ある程度キャラの要旨を固定したうえで、ポーズをランダム生成してみます。

プロンプトは、以下の通りです。ネガティブプロンプトは、先ほどと同様です。

●プロンプト

//品質向上
masterpiece,

//キャラ全般
1girl,solo,black hair,short hair,blue eye,

//ポーズ
{sit|head tilt|claw pose},

//画角
fullbody,

今回指定したのは、「sit(座る)」「head tilt(首を傾ける)」「claw pose(ガオーポーズ)」です。

いくつか画像を生成した結果が、以下の通りです。

わかりやすいように、アングルは全身を指定しています。

今回は、割とざっくりと指定したので、同じポーズでも状況がかなり異なりますね。

また、ポーズは、画像のサイズによっても、見え方が変わってきます。

最終的には、キャラデザインやポーズだけでなく、服装や背景なども決めて、完成に近づけていくことになると思います。

タカムネ

プロンプトは、ざっくり指定して大量に画像を生成してみるのもアリ。予想外の画像ができたりもするので、面白いです。

ワイルドカードの使い方

Dynamic Promptsがさらに便利に使える機能として、「ワイルドカード」があります。

事前に、プロンプトのリストを作成しておくことで、簡単な指定方法でDynamic Promptsが使えます。

ワイルドカードは、以下の2種類の方法がありますので、順番に説明します。

  • 標準のコレクションを使用
  • 自分でテキストファイルを作成

標準のコレクションを使用

標準でワイルドカード用の「コレクション」と呼ばれるリストが用意されています。

これを使うには、「Wildcards Manager(ワイルドカードの管理)」タブの「select a collection(コレクションを選択)」のプルダウンから、目的のコレクションを選択します。

今回は「devilkkw」を選択して、「Copy collection(コレクションをコピー)」をクリックします。

ツリーが追加されるので、今回はそのなかにある「devilkkw/animals/animals_categories」をクリックします。

右側の「Wildcards file」という項目にある「__devilkkw/animals/animals_categories__」がワイルドカードです。

試しに、このワイルドカードをプロンプトに張り付けて画像を生成してます。

このワイルドカードは、動物がリストされているようですね。

自分でテキストファイルを作成

やりたいことが明確に決まっている場合は、自分でリストを作ったほうがいいです。

テキストファイルを新規で作成して、以下のようにプロンプトを改行して記載します。

black
green
blue
red
pink

そして、以下のフォルダ配下に、テキストファイルを保存します。

テキストファイルの保存場所

C:\stable-diffusion-webui\extensions\sd-dynamic-prompts\wildcards

ファイル名はなんでもいいですが、この名前をあとで入力することになるので、シンプルなものが望ましいです。ここでは「color.txt」としました。

これで、準備完了です。WebUIが起動中のときは、一度リロードする必要があります。

ワイルドカードの指定方法

ワイルドカードの指定方法は、テキストファイル名(拡張子なし)を「__」で囲みます。

先ほどのプロンプトをワイルドカードで置き換えると、以下のようになります。

//品質向上
masterpiece,

//キャラの人数
1girl,solo,

//髪色
__color__ hair,

//髪型
{long hair|short hair|bob cut|ponytail|twintail},

//目の色
__color__ eye,

//画角
face only,

ワイルドカードを使うことで、入力の手間が省けるので、効率アップ!

同じワイルドカードを複数個所でも使えます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次