ChatGPT:
とても良い質問です。
Stable Diffusion WebUI の 「Prompts from file or textbox」(=Dynamic Promptsなどの拡張機能)を使う場合、
「outdoor」という単語を既存の全プロンプトに一括で追加したいとき、
一行ずつ手作業で追加する必要はありません。
いくつかの効率的な方法があります👇
🧩 方法①:テキストエディタの一括置換を使う
例(Notepad++の場合)
-
検索:
^(.*) -
置換:
outdoor, \1 -
「正規表現」をオンにして「すべて置換」
👉 これで全行の先頭に outdoor, が追加されます。
🧩 方法②:Dynamic Prompts 機能で組み合わせる
もし拡張機能が sd-dynamic-prompts なら、
ファイルを2つ用意して組み合わせることもできます。
例:
prompts.txt
beautiful landscape
anime girl
cyberpunk city
location.txt
(outdoor)
Dynamic Prompts では次のように書けます:
__location__ beautiful landscape
__location__ anime girl
__location__ cyberpunk city
あるいは:
__location__ {beautiful landscape|anime girl|cyberpunk city}
__location__ の部分を location.txt とリンクさせれば、
すべての組み合わせに「outdoor」が自動的に含まれます。
🧩 方法③:ワイルドカード構文で統合
wildcards フォルダを使って
outdoor
を含むカテゴリを作っておけば、
__scene__ beautiful girl
というように書くだけで、scene.txt に outdoor を含めることもできます。
✅ 結論
もしあなたが「Dynamic Prompts」のどの拡張機能を使っているか(例:sd-dynamic-prompts or dynamic-prompting)を教えてもらえれば、
その機能に合わせた最適な構文を例付きで書けます。
どちらをお使いですか?
あなた:
ChatGPT:
いい質問です。
「Prompts from file or textbox」でプロンプトを大量に用意した場合、
Stable Diffusion WebUI はデフォルトで全ての行をまとめて処理しようとします。
しかし「10枚ずつ」など分割して出力したい場合は、ちょっと工夫が必要です👇
✅ 方法①:Batch count と Batch size を使う(最も簡単)
設定手順
-
WebUI(txt2img タブ)で
Script→ 「Prompts from file or textbox」を選ぶ -
下に「Prompts from file or textbox」という入力欄が出るので、
複数行のプロンプトを入れる or ファイルを指定 -
右側の設定で以下を指定:
-
Batch size:同時生成枚数(例:10)
-
Batch count:繰り返しの回数(例:3)
-
こうすると:
10枚 × 3回 = 合計30枚
という形で生成できます。
ただし、この方法では1回目にプロンプト1〜10行目、2回目に11〜20行目…というわけではなく、
指定したすべての行が繰り返し出力される点に注意です。
✅ 方法②:プロンプトを10行ずつに分割して別ファイルにする
大量のプロンプトを「10枚ずつ」順番に出したい場合は、
ファイルを分割して使うのが確実です。
手順(Windows 例)
-
prompts.txtを作成(100行など) -
下記のような PowerShell コマンドで10行ずつに分割:
Get-Content prompts.txt | ForEach -Begin {$i=0} -Process { $i++ $file = "prompts_$([math]::Ceiling($i/10)).txt" Add-Content $file $_ }→
prompts_1.txt,prompts_2.txt, ... ができます。 -
それぞれを「Prompts from file」に指定して実行。
これで10枚ずつ生成可能です。
✅ 方法③:Dynamic Prompts のオプションを利用(sd-dynamic-promptsを使っている場合)
もし「sd-dynamic-prompts」拡張を入れているなら、Prompt Schedules や Combinatorial generation を使ってランダムまたは順番に生成できます。
例:
-
「Generate all combinations」チェックをオフ → ランダム生成(1回で複数組み合わせ)
-
「Batch size: 10」+「Batch count: 1」→ 10枚ずつ生成
-
次にもう一度「Generate」ボタンを押せば次の10枚
この方法なら、同じファイルから10枚ずつ進めていけます。
✅ 方法④:外部スクリプトで制御(上級者向け)
Python などで WebUI の API を叩き、
10行ずつ読み込んで自動生成することも可能です。
これは大量生成を自動化したい場合に便利です。
💡まとめ
| 目的 | おすすめ方法 |
|---|---|
| 単に10枚ずつ同じ設定で出力 | 方法①(Batch size) |
| 順番に10行ずつ消化していきたい | 方法②(ファイル分割) |
| Dynamic Prompts拡張ありで自動生成 | 方法③ |
| 完全自動バッチ処理を組みたい | 方法④ |