プロンプトをランダム化する拡張機能「Dynamic prompts」衣装プロンプト配布あり(stable diffusion)

今回は拡張機能「Dynamic prompts」の紹介と、
最後に服装装飾を纏めたwildcardsの配布してます。

プロンプトをランダム化する拡張機能」ぐらいの認識でしたが、
そのランダム化が思っていた以上でした。

設定が難しいですがテキスト生成AIを搭載してプロンプトの作成も出来ます。

Dynamic promptsとは

プロンプトのランダム化目的としたプロンプトの生成など
複数の機能が1つのセットになった拡張機能です。

今回はランダム化の使い方を中心に紹介していきます。

導入手順

GitHub - adieyal/sd-dynamic-prompts: A custom script for AUTOMATIC1111/stable-diffusion-webui to implement a tiny template language for random prompt generation
A custom script for AUTOMATIC1111/stable-diffusion-webui to implement a tiny template language for random prompt generation - GitHub - adieyal/sd-dynamic-prompt...

こちらのGitHubからgit Codeをコピーします(1枚目)

Web UIのextensionsからinstall From URLを開き、
コードを張り付けてinstallを押し(2枚目)
installedタブからapply and restart UIを押して再起動します。

Wildcardsにプロンプトを入れる

dynamic promptは保存したプロンプトを呼び出すのですが、
まずはwildcardsという場所にtxtファイルを入れる必要があります。

txtファイルは簡単で、1行ごとに1つの抽選結果となってます。

wildcardsは有志によってフォルダを配布されてるのですが、
どのワードで使うか」「どのファイルに何が入ってるか
自分の環境でそのプロンプトが反映されるかどうか
内容がそもそも目的の物かどうか

というのが分かりづらいため、一概にオススメするのは難しいです。

目的とした内容を探す手伝いになるよう
Civitaiのwildcards一覧へのリンクを掲載してます。

Civitai | Share your models

chatGPT等で総当たり形式に出力させた内容が使えるので

この辺りは好み・やり方が分かれます。

wildcards manager

Web UIに「wildcards manager」のタブが追加されており、
Fire editorを編集する事で、再起動なしでtxtファイルを弄れます。

思うような効果の無かったプロンプトを消したり、
入れたいプロンプトを追加したり、内容を変えたり出来ます。

※txtのファイル名は変更できません。

左上の赤い線の所にtxtファイルのタイトルの一部を入れると
関連する名前のtxtファイルを検索できます。

ここでは名前にnoteと入れる事で、他のファイル名と混ざらない
キーワードのような使い方をしてます。

右上の青い線は「プロンプト欄に入力するトリガーワード」です。
タイピングが厄介なファイル名はここからコピーできます。

dynamic promptsの使い方

呼び出したいwildcardsの前と後ろにアンダーを2つ付けます。
「色を保存したcollar.txt」を呼び出したい場合は

__collar__

使用例:(__collar__ hair:1.1)

コマンド

dynamic promptswildcardsだけでなく、

プロンプトからランダム化させる内容を組む事も出来ます。

{}で囲った範囲を|で分けるとランダム化になり

{red|blue|green}
で「赤、青、緑の中からどれか一色」という抽選になります。

コマンド+wildcards

{}の中にはwildcardsを入れる事も出来ます
こちらの投稿で紹介してる水着を入れてるとした場合

{__bikini__|__leotard__|__swimsuit__}
で「ビキニ類、レオタード類、水着類の中からどれか1種類」になります。

複数を選ぶ

任意の数字と$$と入力すると複数選択されます。

{2$$ bikini|leotard|swimsuit}
と組むと「ビキニ、レオタード、水着の中からどれか2つ」になります。

Andで繋げる

2$$ and $$でプロンプトが「1つ目 and 2つ目」へと繋がります。

{2$$ and $$ red|blue|green}
andandなどの組み合わせになります。

確率を変える

::と入力すると選択確率を変えられます。

{0.1:: bikini|0.2:: leotard|0.1:: swimsuit}
この場合、ビキニ:1、レオタード:2、水着:1の割合で出るようになります。

同じwildcardsは別の結果になる

(__collar__ hair),(__collar__ eyes)と
同じcollarを入力しても別々の結果となり、赤髪青目のようになります。

wildcardsにwildcardsを入れる

{__bikini__|__leotard__|__swimsuit__}のように
wildcardsの組み合わせを記入したwildcardsも動きます。

結果を1つだけに絞る事で、ランダム化ボタンも作れます。

「服をお任せにしたい」「髪の長さや色を変えたい」

と目的に応じたランダム化が高いレベルで行えます。

セッティング画面

Web UIのsettingタブにあるDynamic promptsの項目です。

拡張機能タブは設定項目が左下の方にあるので、見えなくなってる場合もあります。

上の3つのチェック

  • プロンプト内の2つ以上のスペースを1つにする
  • 生成した画像にdynamic promptsについても保存する
  • 生成と一緒に.txtも保存する

中央の入力部分はwildcardsの設定です。

下の5つのチェックは真ん中の3つ目が重要で

wildcards内で重複してる同じ内容は同一の物として扱い、
選ばれる確率を他と均一にします。

例えばcollar.txtにredが2つ入ってた場合、それを1つとして扱います。

chatGPT等を使った大量のテキスト生成による重複をこの設定で防ぎます。

機能紹介

今回は使いませんでしたが、wildcards以外の機能についても紹介します。

  • Dynamic Prompts enabled
    起動チェック、デフォルトでONです。
  • Combinatorial generation
    プロンプトやwildcardsの組み合わせを定めた数まで行います。
  • Combinatorial batches
    上を繰り返す回数を設定します。
  • prompt magic
    テキスト作成AIを使ってプロンプトを作ります。
  • Need help?
    dynamic promptsの使い方が英語で書かれてます。
  • Jinja2 templates
    スクリプトを作成できる設定ですがハイレベルなユーザー向けで、
    専門知識が無い人は触れない方がいいです。
  • Advanced options
    Fixed seedにチェックを入れる事でseed値を固定します。

衣服・装飾のwildcards配布

プロンプト一覧ページnoteで紹介した物が入ってます。

中身はこうなってます。

パッと見は多いですが、wildcards managerでの使い方を説明します。

使い方

Web UIのwildcards managerタブを開きます。

左上に「note0」と入力して候補に出てくるtxtファイルは
wildcardsを入れたwildcardsです。

  • note001tops
    ジャケット、ベスト、シャツ類など上衣。
    一番右のnote102costumeはタキシードなどの上下服です。
  • note002bottom
    デニム、ジーンズ、パンツ、スカート類など下衣。
  • note003dress
    オールインワン、ワンピース、ドレスなど上下一体服。
  • note004swimsuit
    ビキニ、レオタード、その他水着の着衣スタイル。
  • note005national_costume
    民族衣装、アメリカンやモロッカンなど〇〇風やスタイル。
  • note006Decoration
    服の質感や装飾。
    これをプロンプトに複数記入する事で質感・装飾を盛り込む事が出来ます。
  • note007randomHat
    帽子などの被り物
  • note008head_accessory
    上の内容に頭の装飾品も混ぜてます。

左上に「note1」と入力して候補に出てくるtxtファイルはnote0の中身で
服や衣装、質感プロンプトを各種で分けてます。

txtファイル内のプロンプト追加・変更はこの項目から行います。

以下はnote1に入れてないtxtファイルの紹介です。

  • note133maid
    メイド服。
  • note123dress_brand
    ウェディングドレスのブランド名。
  • note137fashion_brand
    ファッションコーデやアイテムのブランド名。
  • note138Swimsuit_Brand
    水着のファッションブランド名。
  • note139Competitive_swimsuit_brand
    競泳水着などスポーツ用品のブランド名。

txtファイル名で始まるnoteは、
他で入れたtxtファイルと名前順が混ざらない固有のワードとしてます。

自身の使い方に合うようファイル名・内容を変更してください。

まとめ

ランダム化はEasy-prompt-selectorにもありましたが、

こちらはランダム化に特化しただけあって機能が多彩です。

「どう応用するか」「何処をランダムにするか」
使い方にセンスや発想力が求められそうです。

テキスト作成AIも内容が難しそうですが、扱えたら面白そうです。

今回配布した内容の画像付きプロンプトまとめもよろしくお願いします。

タイトルとURLをコピーしました