Stable Diffusionで画像生成する際に、「同じ呪文(プロンプト)なのに何回も生成を繰り返さないといけなくて面倒くさい…」って思うことありますよね?
実はStable Diffusionで1度に複数枚の画像を生成する方法があります!今回はその方法について詳しくご紹介していきます!
Stable Diffusionで同一の呪文(プロンプト)で複数枚生成する方法!
Stable Diffusionには、デフォルトで内蔵されている機能として、複数枚生成できるものが2つあります!
①Batch Count(バッチ回数)
②Batch Size(バッチサイズ)
こちらの方法は、Seed(シード)値が固定できないため、1枚目から順番に生成されます。
では、1つずつ複数枚生成する方法について解説していきます。
Stable Diffusionで同一の呪文(プロンプト)で複数枚生成する方法①:Batch Count
“Batch Count”(バッチ回数)は、指定した枚数分を順番に画像生成する機能です。
Seed(シード)値は、1枚目から1つずつ順番に画像が生成されます。
Batch Countは最大値が100となっているため、Seed(シード)値が1ずつ並んだ画像を100枚まで生成することが可能です。
Stable Diffusionで同一の呪文(プロンプト)で複数枚生成する方法②:Batch Size
“Batch Size”(バッチサイズ)は、指定した枚数分を同時に画像生成する機能です。生成枚数が多ければ多いほど、スペックも高くなければなりません。
Batch Sizeは「1~8」まで選ぶことができ、Batch Countとの合わせ技で使うと、その数をかけた枚数の画像を生成を行うことができます!ですので、最大800枚もの画像を生成できるようになっています。
※詳しくは、以下の記事を参考にしてください。
Stable Diffusionで呪文(プロンプト)に選択肢を入れてランダムに複数枚生成する方法!
続いては、Stable Diffusionの拡張機能ツール『Dynamic Prompt』について解説していきます。
『Dynamic Prompt』は、呪文(プロンプト)の中に{|}を使うことで、1つの呪文(プロンプト)を何パターンかに分けて、それぞれを画像生成するという機能です。
例えば、
1 woman,beautiful,{cafe|street|school}background
こちらの呪文(プロンプト)で画像を生成すると、「カフェ」「街」「学校」を背景にした画像がランダムに生成されます。
Batch Countを3にするとそれぞれ1枚ずつの生成、4にするとそれぞれ最低1枚の計4枚が生成されるという仕組みです。
『Dynamic Prompt』の使い方
『Dynamic Prompt』の利用方法は非常に簡単です!
“Dynamic Prompts enabled”という項目にチェックを入れて、生成する枚数を「Batch Count」か「Batch Size」で調節してください。
先程例にご紹介した呪文(プロンプト)を使って、画像を生成してみましょう。
プロンプト
1 woman,beautiful,{cafe|street|school}background
ネガティブプロンプト
(low quality, worst quality:1.4), extra arms, extra legs, deformed, mutated, NSFW, ((poorly drawn face)), too many fingers
生成した画像がこちらになります。
『Dynamic Prompt』を使って1度に複数枚の画像を生成することができました!ちなみに、生成される順番はランダムになっています。
※導入方法などの詳しい使い方は、以下の記事を参考にしてください。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい
Stable Diffusionで複数の呪文(プロンプト)を1度に生成する方法
続いて、Stable Diffusionで複数の呪文(プロンプト)を1度に生成する方法をご紹介します。
①パラメータの下にある「Script」から『Prompts from file textbox』を選ぶ
②その下に出てくる項目の『List of prompt inputs』に呪文(プロンプト)を書き込むと、その呪文(プロンプト)で指示された画像が生成される。
※この項目では、改行をすると全く異なる呪文(プロンプト)として認識されるため、行数分の画像が生成される。また、Batch Countを適用することも可能。
③Seed(シード)値の設定には、『1.Iterate seed every line(行ごとにシードを繰り返す)』『2.Use same random seed for all lines(すべての行に同じSeed(シード)値を適用)』の2つがあるので、どちらかを選ぶ。
※どちらも選択しなかった場合は、Seed(シード)値はランダムで生成される。
①パラメータの下にある「Script」から『Prompts from file textbox』を選ぶ。
②その下に出てくる項目の『List of prompt inputs』に呪文(プロンプト)を書き込むと、その呪文(プロンプト)で指示された画像が生成される。
※この項目では、改行をすると全く異なる呪文(プロンプト)として認識されるため、行数分の画像が生成される。また、Batch Countを適用することも可能。
③Seed(シード)値の設定には、『1.Iterate seed every line(行ごとにシードを繰り返す)』『2.Use same random seed for all lines(すべての行に同じSeed(シード)値を適用)』の2つがあるので、どちらかを選ぶ。
※どちらも選択しなかった場合は、Seed(シード)値はランダムで生成される。
では実際に画像を生成してみましょう!
通常の呪文(プロンプト)は無視されるので、『List of prompt inputs』に呪文(プロンプト)を入力していきます。Seed(シード)値はすべて同じものに設定してみます。
プロンプト
woman
man
girl
boy
ネガティブプロンプト
(low quality, worst quality:1.4), extra arms, extra legs, deformed, mutated, NSFW, ((poorly drawn face)), too many fingers
生成結果はこちらです。
全く同じSeed(シード)値で4種類の画像を1度に生成することができました!
Stable Diffusionで自動で画像生成を繰り返す方法
続いては、Stable Diffusionで自動で画像生成を繰り返す方法について解説していきます。
Stable Diffusionで画像を生成する時に押す『Generate』ボタンを右クリックすると、下記画像のように“Generate forever”という項目が表示されます。
この項目をクリックして画像を生成すると、“Cancel generate forever”をクリックするまでずっと画像生成が自動で行われます。
この方法は、Seed(シード)値を固定して画像を生成することができますが、生成した画像がどんどんと塗り替えられていくので、見張っておく必要があることに注意してください。
まとめ
いかがでしたでしょうか?
Stable Diffusionで1度に複数枚の画像を生成する方法について詳しくご紹介してきました!
今回のポイントをまとめると、以下のようになります。
- Stable Diffusionで同一の呪文(プロンプト)で複数枚生成する方法
- Batch Count(バッチ回数)の設定
- Batch Size(バッチサイズ)の設定
- Batch Count(バッチ回数)の設定
- Stable Diffusionで呪文(プロンプト)に選択肢を入れてランダムに複数枚生成する方法:『Dynamic Prompt』
- Stable Diffusionで複数の呪文(プロンプト)を1度に生成する方法
- 『List of prompt inputs』で改行して呪文(プロンプト)を入力
- Stable Diffusionで自動で画像生成を繰り返す方法
- 『Generate』ボタンを右クリックして、“Generate forever”を使う
上記を参考にするだけで、Stable Diffusionで効率よく1度に複数枚生成することができるので、ぜひ試してみてください!
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい