【SDWebUI】Prompts from file or textboxの使い方|引数でモデル・サイズ・枚数を変えて一括生成

Prompts from file or textboxで髪色や服装を変えて一括生成した女性キャラクターの作例

今までPrompts from file or textboxは、行ごとのプロンプトを順に生成できるものだと思っていました。

まあ間違ってはいないのですが、引数でモデルやサイズ、生成枚数なども指定できるそうです。

ついさっき行ごとに指定できないのかAIに聞いたら「引数指定できるし公式にも載ってるで」と言われて、初めて知りました。

Features · AUTOMATIC1111/stable-diffusion-webui Wiki

前からある機能なので知っている方も多いと思いますが、今回はPrompts from file or textboxの引数について紹介します。

Prompts from file or textboxとは?

SDWebUIのscriptプルダウンで選んだPrompts from file or textboxの設定画面

Prompts from file or textboxは行ごとにプロンプトを書いて、それを順に生成できるものです。

txtファイルを取り込むことも可能。

SDwebUIについているデフォルトの機能でscriptのプルダウンからPrompts from file or textboxを選べば使えます。

Prompts from file or textboxの使い方

例えばList of prompt inputsにこんな感じで書くと黒髪、茶髪、金髪の女性を順に生成できます。

1girl, black hair,
1girl, brown hair,
1girl, blonde hair,

通常のプロンプト欄に入力したものと結合できるので、被写体固定して他の要素だけ変化させたり、時系列順に生成したりなんかが可能です。

例)

# Prompt
1girl, solo, red eyes, black hair, long hair, white dress, high quality, masterpiece,

# Prompts from file or textbox
{smirk|smug|smile}, waving
{clenched teeth|screaming|angry}, punching,

# 出力 
1girl, solo, black hair, long hair, dress, high quality, masterpiece, smile, waving
1girl, solo, black hair, long hair, dress, high quality, masterpiece, angry, punching,

オプションでプロンプトの追加位置やseed値の変化も指定できます。

  • Iterate seed every line:行ごとに異なるseedを使う(1ずつ加算)
  • Use same random seed for all lines:全行で同じseedを使う
  • Insert prompts at the start:プロンプトを文頭に追加
  • end:プロンプトを文末に追加

Make a combined image containing all outputs (if more than one):1枚のグリッド画像としてまとめて保存

引数を指定する

これがさっき知ったやつですが、行ごとにパラメータや枚数を指定できます。

--prompt "1girl, black hair" --width 1216
--prompt "1girl, brown hair" --width 832 --n_iter 2
--prompt "1girl, blonde hair, realistic, photorealistic" --sd_model "eretMixReal_v100.safetensors"

上記を実行するとこんな感じです。

指定してないパラメータはデフォルトのものが使われます。

  • 横幅1216で生成
  • 横幅832で2枚生成
  • モデル・プロンプト変えて生成
引数で画像サイズ・モデル・生成枚数を変えて一括生成した結果の作例

以下使える引数一覧です。

A1111のリポジトリに載ってるものですが、forgeとかだと効かない引数もある?ようで、パラメータによって指定方法がよくわからないのもあります。

sd_model:使用モデル(チェックポイント)を指定
outpath_samples:生成された単体画像の保存先フォルダ
outpath_grids:複数画像をまとめたグリッド画像の保存先フォルダ
prompt_for_display:表示用に整形されたプロンプト文字列
prompt:ポジティブプロンプトを指定
negative_prompt:ネガティブプロンプトを指定
styles:使いたいstyleを指定。
seed:シード値指定。
subseed_strength:不明
subseed:不明
seed_resize_from_h:不明
seed_resize_from_w:不明
sampler_index:不明
sampler_name:使用するサンプラーを指定
batch_size:一度に生成する枚数
n_iter:生成を繰り返す回数(Batch count)
steps:サンプリングのステップ数。
cfg_scale:プロンプトの忠実度。
width:出力画像の横幅(ピクセル)
height:出力画像の縦幅(ピクセル)
restore_faces:顔の補正機能を有効にするかどうかを指定
tiling:タイル(シームレス)画像生成モードを有効
do_not_save_samples:個別の生成画像を保存しない設定
do_not_save_grid:グリッド画像を保存しない設定

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features#prompts-from-file-or-textbox

そんなこんなで引数を指定すれば、行ごとに生成する枚数や画像サイズ、モデルなどを変えて一括生成が可能です。

まとめ

以前もプロンプトでコメントアウトできること知らなかったって記事を書いたので、説明書読まないタイプは損するなと思いました。

Stable Diffusionでプロンプトをコメントアウトする方法|#で行を無効化して整理する
Stable Diffusion(WebUI)でプロンプトを行ごとにコメントアウトする方法を解説します。行頭に#をつけるだけで拡張機能なしにその行を無効化でき、プロンプトの整理や一時的なオフ、共有時のメモに便利です。Forgeでも使えます。

こんなことしたいなって思ったらまずはデフォルトの機能でできるかどうか、ちゃんと調べた方が良さそうです。

あとこの引数つけられる機能自体はめちゃくちゃ便利です。

途中の行まで一括生成→終わったら縦横比変えてまた生成みたいなことをやっていたので、引数入れたプロンプトを組めば、途中で止めることなく一括生成できます。

覚えておいて損はない機能だと思うので、知らなかった方はぜひ使ってみてください。

以上Prompts from file or textboxで引数指定する方法を紹介しました。

参考になれば幸いです。

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