Stable Diffusionでプロンプトをコメントアウトする方法|#で行を無効化して整理する

青髪の女性キャラクターのアイキャッチ画像

おそらく画像生成にハマって2年以上経ちますが、プロンプト内でコメントアウトできることを最近知りました。

専用の拡張機能を入れないとできないものだと思っていたのですが、実はSD WebUIの標準機能で、行頭に「#」をつけるだけでその行を無効化できます。

知っている方がほとんどかもしれませんが、使い方と活用法をまとめてみました。

コメントアウトとは?

実行や処理に影響を与えず書けるメモみたいなものです。

プログラミングでよく使うやつで、SD WebUIでもプロンプト欄で使えます。

行頭に「#」をつけると、その行は画像生成に反映されません。

プロンプトをコメントアウトする方法

例えば以下のように行頭に「#」をつけると、その行は画像に反映されません。

プロンプト欄で「# smile」の行をコメントアウトした例
1girl, solo, dress, blue hair, looking at viewer,
# smile
masterpiece, best quality, absurdres, very aesthetic,realistic,

出力を見ても# smileはスルーされています。

# smileをコメントアウトして生成した、笑顔になっていない結果画像

#を外すと画像に反映されているのが分かります。

#を外してsmileを有効化し、笑顔が反映された結果画像

この機能は23年12月末にA1111でディスカッションされていて、v1.8.0-RCがリリースされたときにデフォルトで有効になったそうです。

Do we need single line prompt comments? · AUTOMATIC1111/stable-diffusion-webui · Discussion #14465

コメントアウトの使いどころ

プロンプトの整理・メモ

1つはやはり普通にメモできるということです。

以下は適当に組み合わせたものですが、こんな感じでランダムプロンプトを組んだとき、パッと見どこが何のプロンプトか分かりづらいと思います。

1girl, solo,
{standing|on {side|back}|sitting|kneeling|squatting},
{smile|blush|embarrassed|smirk|smug|crying|happy|sad|disgust},
{long|medium|short} hair,
{brown|black|blonde} hair,
{|wavy hair|{|high|low|side} ponytail|{low|short} twintails|half updo|{one|two} side up|{double|hair} bun},
{blunt|parted|swept|} bangs,
{green dress|sailor dress|collared dress|long dress|off-shoulder dress|brown dress|wedding dress|pinafore dress|pleated dress|grey dress|two-tone dress|sundress|headdress|yellow dress|armored dress|layered dress|backless dress|striped dress|multicolored dress}
{floral background|striped background|multicolored background|dark background|polka dot background|aqua background|checkered background|photo background|greyscale with colored background|star symbol background|heart background|halftone background|argyle background|abstract background|grid background|text background}
masterpiece, best quality, absurdres, very aesthetic,realistic,

これを使い回して修正しながら生成してると、自分で書いたのにどこに何書いたか分からなくなってしまうことがあります。

だからsmile二個書いてる!みたいなことが起きたりします。

なのでメモを書いておけばプロンプトも整理できるし、重複して書いちゃうみたいなミスも減らせます。

# 被写体
1girl, solo,

# ポーズ
{standing|on {side|back}|sitting|kneeling|squatting},

# 表情
{smile|blush|embarrassed|smirk|smug|crying|happy|sad|disgust},

# 髪の長さ
{long|medium|short} hair,

# 髪色
{brown|black|blonde} hair,

# 髪型
{|wavy hair|{|high|low|side} ponytail|{low|short} twintails|half updo|{one|two} side up|{double|hair} bun},

# 前髪
{blunt|parted|swept|} bangs,

# 服装
{green dress|sailor dress|collared dress|long dress|off-shoulder dress|brown dress|wedding dress|pinafore dress|pleated dress|grey dress|two-tone dress|sundress|headdress|yellow dress|armored dress|layered dress|backless dress|striped dress|multicolored dress}

# 背景
{floral background|striped background|multicolored background|dark background|polka dot background|aqua background|checkered background|photo background|greyscale with colored background|star symbol background|heart background|halftone background|argyle background|abstract background|grid background|text background}

# クオリティ
masterpiece, best quality, absurdres, very aesthetic,realistic,

使用プロンプトの切り替え

表情を2パターン作っておいて、生成ごとに切り替えるなど、一時的に無効化して使うみたいなことも可能です。

# {smile|blush|embarrassed|smirk|smug|crying|happy|sad|disgust},
{screaming|tongue out|one eye closed|open mouth|half-closed eyes}

あとプログラミングだと第三者に共有するとき、どのブロックで何の処理をしているのかコメントで残していることがあります。

なのでプロンプトを誰かに公開したり解説したりするとき、コメントがあると喜ばれるかもしれません。

メリットをまとめるとこんな感じです。

  • プロンプトの構造を整理できる(カテゴリごとに区切って見やすくできる。例:髪型、背景、服装)
  • 一部を削除せずに無効化して、比較・テストができる
  • どのタグが何の意味か、自分や他人へのメモを残せる

まとめ

コメントアウトするとプロンプトの整理や組み立てが楽になります。

画像生成しながらプロンプトの比較・検証もしやすくなるので、ぜひ使ってみてください。

以上プロンプト内でコメントアウトする方法をご紹介しました。

参考になれば幸いです。

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