【Stable Diffusion】プロンプトの書き方|カッコ,2重カッコ(()),数値,エスケープ,ブラケット[],<lora:>とは何か?特殊記号の意味や使い方を実例で解説

Stable diffusion stability ai |Photoone(フォトーン) stable diffusion

Stable Diffusionで思った画像を生成するためにはプロンプトの書き方が非常に重要になってきます。

プロンプト(いわゆる呪文のこと)の書き方には、カッコ()、2重カッコ(())、数値、エスケープ、ブラケット[]、BREAK、Embeddingなど様々なものがあります。

例えば、以下のようなプロンプトです。

 <lora:koreanDollLikeness:0.5> , best quality, ultra high res, (photorealistic:1.4), 1girl, white shirt, ((long skirt)),
neat, (black gray hair:1), looking at viewer, small breasts, not exposed, [formal], kind, smile
BREAK

pale pink cardigan

ここではそれらがどういった意味で、生成する画像に対してどのような役割を果たしているのかを解説しています。


プロンプトで使われる主な記号の一覧

最初にプロンプトで使われる記号をざっとまとめると以下のようになります。

構文意味
(word)指定したキーワードを1.1倍にする
((word))指定したキーワードを1.21倍にする(1.1*1.1)
[word]指定したキーワードを0.9倍にする(1/1.1)
(word:1.5)指定したキーワードを1.5倍にする
(word:0.25)指定したキーワードを0.25倍にする
\(word\)
バックスラッシュ
エスケープ
()や[]などの特殊文字を文字列として扱う
BREAKチャンクを区切る
<lora: LoRA名:数値>指定したLoRAを指定する。数値は0~1で指定可能(0%~100%の意味)


デフォルトのキーワードの強度は1です。

これに対して、このキーワードは強調してほしいというときは1以上になるように指定します

逆に、このキーワードは弱く(控えめに)適用させたいというときは1以下にします


(参考)AUTOMATIC1111/stable-diffusion-webui Features



negative promptと1以下の指定の違い

[word]や(word:0.25)のように、キーワードを弱く(控えめに)適用させる記述は、一見negative promptの使い方と同じような気がします。

ですが、1以下を指定する記述方法はあくまで、弱く適用することを示しています。

一方、negative promptにキーワードを指定すると、画像生成AIはそのキーワードを避けて画像を生成しようとします



プロンプトの実例

例えば次のようなプロンプトがあるとします。

 <lora:koreanDollLikeness:0.5> , best quality, ultra high res, (photorealistic:1.4), 1girl, white shirt, ((long skirt)),
neat, (black gray hair:1), looking at viewer, small breasts, not exposed, [formal], kind, smile
BREAK

pale pink cardigan


<lora:koreanDollLikeness:0.5>

<lora:koreanDollLikeness:0.5>

これは、koreanDollLikenessというLoRAを50%の割合で適用することを意味しています。

LoRAとは何か?

LoRAの詳細については下記をご参考ください。

【Stable Diffusion】LoRAとは何か?CheckpointとLoRAの違いと使い方


(photorealistic:1.4)

(photorealistic:1.4)

これは、実写的(photorealistic)な画像であることを強調しています。その強さは1.4です。


((long skirt))

((long skirt))

これは、長いスカートを履いていることを強調しています。その強さは1.21倍です。

このため、(photorealistic:1.4)よりも優先度が低くなります。もちろん、何も指定していないキーワードよりは優先度が高いです。


[formal]

[formal]

これは、フォーマルさを0.9倍にする指示です。つまり、少し弱めにフォーマルさを追加する指示になります。


BREAK

BREAKでチャンクを区切っています。

BREAK

pale pink cardigan

このように記述することで、「pale pink cardigan(淡いピンクのカーディガン)」という指示をより明確に伝えることができます。


生成した画像の実例

上記のプロンプトを使うと次のような画像を生成することができます。






コメント

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