[Stable Diffusion Web UI] txt2imgのスクリプトの使い方を解説!

※本ブログでは、商品・サービスのリンク先にプロモーションを含みます。

スポンサーリンク

Stable Diffusion Web UIのtxt2imgには、3つのスクリプトが用意されており、それぞれプロンプトの組み合わせや、各種パラメータの調整に役立つ便利な機能です。
今回は、そのスクリプトの使い方について解説したいと思います。

以下、3つのスクリプトの要点です。

  • プロンプトマトリックス(Prompt matrix)
    プロンプトの一部を総当たりの組み合わせで画像生成することができます。
    プロンプトの調整に便利な機能です。
  • ファイルまたはテキストボックスからプロンプトを入力(Prompts from file of textbox)
    プロンプトを1行ずつ指定し、一度に画像生成することができます。
    プロンプトの調整に便利な機能です。
  • X/Y/Zプロット(X/Y/Z plot)
    最大3つのパラメータを指定し、それぞれのパラメータ値を指定(複数可)して、その組み合わせで画像生成することができます。
    生成モデルの選定やパラメータの調整に便利な機能です。
    プロンプトの文字列の並び替えや置換もできます。

それでは、それぞれのスクリプトを具体的に解説していきます。

グラフィックボードの性能が足りない方は、この機会に是非グレードアップを検討してみてください。

AI画像生成の入門モデルとしておすすめのグラフィックボード

◆ワンランク上のハイエンドモデルとしておすすめのグラフィックボード

◆最高峰の超ハイエンドモデルとしておすすめのグラフィックボード

MSI MSI GeForce RTX 4090 SUPRIM X 24G / PCI-Express 4.0 グラフィックスボード RTX 4090 SUPRIM X 24G

Stable Diffusionについて、さらに詳しく知りたい方はこちらも参考にしてみてください。

Stable Diffusion AI画像生成ガイドブック

created by Rinker
¥2,420 (2024/04/19 10:50:36時点 楽天市場調べ-詳細)
スポンサーリンク

プロンプトマトリックス(Prompt matrix)

「プロンプトマトリックス」は、プロンプトの違いが画像生成にどのような影響を与えるかを比較するのに便利な機能です。

プロンプトは、通常カンマ(,)でキーワードを区切りますが、このスクリプトを使用することでパイプライン(|)が使用でき、パイプラインで区切ることで総当たりの組み合わせで画像を生成することができます。

例えば以下のようなプロンプトを入力すると

masterpiece, best quality, ultra detailed, beautiful lighting, cute puppy, | meadow | waterfront

次の4パターンのプロンプトで画像が生成されます。

  • masterpiece, best quality, ultra detailed, beautiful lighting, cute puppy
  • masterpiece, best quality, ultra detailed, beautiful lighting, cute puppy, meadow
  • masterpiece, best quality, ultra detailed, beautiful lighting, cute puppy, waterfront
  • masterpiece, best quality, ultra detailed, beautiful lighting, cute puppy, meadow, waterfront

また、結合の区切り文字をスペースにしている場合は、4つ目のプロンプトが以下のようになります。

  • masterpiece, best quality, ultra detailed, beautiful lighting, cute puppy, meadow waterfront

このプロンプトとスクリプトを使用して画像生成すると4パターンの画像と、以下のような組み合わせを示すグリッド画像が生成されます。


組み合わせの画像生成で、シード値はデフォルトでは固定されますが、1枚ずつ変更することもできます。

赤枠にチェックを入れると1枚ずつシード値が変更されます。

プロンプトマトリックスを使用した場合、バッチ回数とバッチサイズは無視される仕様のようです。
また、狙っていない組み合わせでも画像生成されてしまうので、個人的にはちょっと使いにくいかなと思いました。

ファイルまたはテキストボックスからプロンプトを入力(Prompts from file of textbox)

「ファイルまたはテキストボックスからプロンプトを入力」は、複数のプロンプトをテキストファイルまたはテキストボックスから一括で実行できる機能です。

先ほどの4パターンのプロンプトで画像を生成する場合、テキストボックスに1行ずつ入力すればOKです。テキストファイルに書いてアップロードしたのでもOKです。

↓生成された画像

また、以下のように記述することで、ネガティブプロンプトの指定もできます。

--prompt "ここにカンマ区切りのプロンプトを記述" --negative_prompt "ここにカンマ区切りのネガティブプロンプトを記述"

他にも下記のキーワードで要素を指定することができます。

キーワード引数
--sd_model調査中。
--outpath_samples調査中。
--outpath_grids調査中。
--prompt_for_display調査中。
--prompt“プロンプト”
--negative_prompt“ネガティブプロンプト”
--styles調査中。
--seedシード値
--subseed_strength調査中。
--subseed調査中。
--seed_resize_from_h元の幅と対応するシードからのサイズ変更
--seed_resize_from_w元の高さと対応するシードからのサイズ変更
--sampler_index調査中。
--sampler_name“サンプリング方法”
--batch_sizeバッチサイズ
--n_iter調査中。
--stepsサンプリングステップ数
--cfg_scaleCFGスケール
--width
--height高さ
--restore_faces顔の修復
--tilingタイリング用の画像を生成
--do_not_save_samples調査中。
--do_not_save_grid調査中。
スポンサーリンク

X/Y/Zプロット(X/Y/Z plot)

「X/Y/Zプロット」は、パラメータの違いが画像生成にどのような影響を与えるかを一目で比較できる便利な機能です。

3つの変数(X/Y/X)を使って、異なる条件(パラメータなどの設定)で同時に画像生成を行い、その結果を表にまとめてくれます。

Xのみを使用した例:(Xは生成モデルにします)

今回はXに生成モデル(Checkpoint name)を指定してみます。これで同じプロンプト/パラメータで、生成モデルによる違いを見ることができます。

赤枠の部分をクリックすると、使用可能な全ての生成モデルが自動で「X軸の値」に入力されます。
今回は、次の3つのモデルを選択してみます。

  • anything-v3-full.safetensors [abcaf14e5a]
  • citrinedreammix_v11BakedVAE.safetensors [724566c0cc]
  • chilloutmix_Ni.safetensors [7234b76e42]

出力結果:

XとYを使用した例:

次はYにサンプリングステップ数(Steps)を入力してみます。パターンは20,35,50とします。

X(生成モデル)とY(サンプリングステップ数)の組み合わせで画像が生成されます。

出力結果:

XとYとZを使用した例:

次はZにCFGスケール(CFG Scale)を入力してみます。パターンは7,9とします。

先ほどのX/Yの組み合わせに加え、Zのパターンの組み合わせも生成されます。

出力結果:

X/Y/Zプロットに指定可能なパラメータ

X/Y/Zプロットには以下のパラメータを指定することができます。

パラメータ名説明入力形式
Seedシード値整数値(-1~)
※-1はランダムという意味になる
Var.seed変化用シード整数値(-1~)
※-1はランダムという意味になる
Var.strength変化の強度小数点を含む数値(0~1)
Stepsステップ数整数値(1~150)
Hires steps高解像度でのステップ数整数値(1~150)
CFG ScaleCFGスケール小数点を含む数値(1~30)
Prompt S/RプロンプトS/R
※1番目に指定した文字列を2番目以降の文字列に置換します。置換はプロンプト、ネガティブプロンプト内に出現するすべての個所が対象となります。
文字列(置換対象文字列,置換文字列,…)
Prompt orderプロンプトオーダー
※指定したプロンプト内の文字列を並び変えます。全組み合わせで画像生成されます。(先に書かれたプロンプトの方が強調度が高くなる)
文字列(プロンプト,プロンプト,…)
Samplerサンプラー文字列(サンプラー名)
Checkpoint nameチェックポイント名文字列(チェックポイント名)
Sigma ChurnEuler, Heun, DPM2などのサンプラーで有効なシグマ値(ノイズレベル)
※細部の質感や陰影などに影響し、値が大きいほどバリエーションに富むが絵が破綻する可能性が上がります。
小数点を含む数値(0~1)
Sigma minEuler, Heun, DPM2などのサンプラーで有効なシグマ値の最小値。
※細部の質感や陰影などに影響し、値が小さいほど画像が滑らかになりますが、絵が破綻する可能性が上がります。
最初のステップで使用されます。
小数点を含む数値(0~1)
Sigma maxEuler, Heun, DPM2などのサンプラーで有効なシグマ値の最大値。
※色や形などに影響し、値が大きいほど画像が多様になり、値が小さいほど、絵が単調になる可能性が上がります。
最初のステップで使用されます。
小数点を含む数値(0~1)
Sigma noiseEuler, Heun, DPM2などのサンプラーで有効なシグマ値の最小値。
※色や形などに影響し、値が小さいほど絵が多様になり、値が大きいほど、絵が単調になる可能性が上がります。
最後のステップで使用されます。
小数点を含む数値(0~1)
EtaDDIMで用いるeta(noise multiplier)小数点を含む数値(0~1)
Clip skipクリップスキップ整数値(1~12)
Denoisingノイズ除去小数点を含む数値(0~1)
Hires upscaler高解像度でのアップスケーラー文字列(アップスケーラー名)
VAEVAE名文字列(VAE名)
Styleスタイル文字列(スタイル名)
UniPC OrderUniPC次数整数値(1~50)
Face restore顔の修復小数点を含む数値(0~1)

まとめ

この記事では、画像生成AI「Stable Diffusion」のWeb UIである「txt2img」のスクリプト機能について紹介しました。スクリプト機能を使うと、テキストから画像を生成するだけでなく、さまざまなパラメータやオプションを自由に設定して、画像生成のプロセスや結果をコントロールすることができます。

この記事が、画像生成AI「Stable Diffusion」のWeb UIである「txt2img」のスクリプト機能に興味がある方や、使ってみたい方の参考になれば幸いです。

コメント

  1. アバター らすかる より:

    読みやすいサイトをありがとうございます。
    テキストを用いたスクリプトで、ネガティブプロンプトの使用や、同様の効果が出せるテキストの書き方はございますか?

    • コッコ隊長 コッコ隊長 より:

      コメントありがとうございます。
      以下のようにすればネガティブプロンプトも指定できます。

      --prompt "プロンプト" --negative_prompt "ネガティブプロンプト"
      

      記事の方にも反映させました。