Dynamic Promptsの使い方を実運用して分かったことをもとに解説します
Stable Diffusionの拡張機能「Dynamic Prompts」について
基本的な使い方
ランダムに1個
{ A | B | C }
ランダムに2個
{ 2$$ A | B | C }
注意点など
スペースはあってもなくても(バラバラでも)良い
{A| B |C }
選ばれるプロンプトはシード値に依存する
シード値を固定して、バッチ処理を繰り返しても、同じ組み合わせで生成されるのでほんとにランダム?と思われるかもしれません。
ランダムプロンプトはシード値に依存しているから、シード値を固定しても、ランダムだけど、同シード値内ではそれ以上ランダムにならないということです。
応用的な使い方
Loraにも使える
{ <lora:A:1> | <lora:B:1> | <lora:C:1> }
複数置くことも可能
もちろん、それぞれからランダムに生成される。
{ A | B | C }, { D | E }, { <lora:A:1> | <lora:B:1> | <lora:C:1> }
すべての組み合わせを総当たりする
全組み合わせが、3通りある場合、その3通りのパターンを作ってくれる。通常のBatch countは無視される。
ただし、最大値はデフォルトで100なので、変えたい場合はui-config.jsonから変更する
txt2img/Batch count/maximum": 10000
どうでもいいかもしれないが、{ 2$$ A | B | C | D }の場合、12通りで実行される。順番ありの組み合わせらしい。
ただし、{ A | B | C }, { D | E }の場合は、6通りで実行される。つまり順番なしの組み合わせ
すべての組み合わせを5回総当たりする
すべての組み合わせをさらに、複数回実行したい場合、Combinatorial batchesが使える