ChatGPTやMidjourneyなどの生成系AIが脚光を浴びたおかげで、プロンプトというキーワードがすっかりお馴染みになりました。
Stable diffusion で画像生成のお試しは出来たけど、自分が思い描く画像を生成させるには、どんなプロンプトを書けばいいの?
そんなお悩みのあなた!今回は Stable diffusion で思い通りの画像を生成させるためのプロンプトについて、体系的に解説したいと思います。
プロンプトの概要
画像生成系AIで用いるプロンプトは、ChatGPTなどの文書生成系AIとは異なり、生成してほしい画像の内容を、英語の文章で記述するか、分節または英単語(キーワード)をカンマで区切って羅列します。
例えば、「公園で犬を連れて散歩する女の子」の場合、次のようなプロンプトになります。
キーワードで指示 | a girl,walking with a dog,in the park |
文章で指示 | a girl walking a dog in the park |
注意点としては、記述した通りの画像が生成されるとは限らないことです。従ってガチャの様に何度も生成しながら目的の画像を探す必要があります。
プロンプトの影響度について
Stable Diffusion は、プロンプトに列記したキーワードに対して、最初に登場するほど重みを強く、後になるほど重みを軽くして画像を生成します。
例えば
a girl,walking with a dog,in the park
は3つの分節で区切られていますが、a girl が一番強い影響を及ぼし、in the park が一番弱い影響を及ぼすように画像が生成されます。
しかし、この重み(影響度)は、プロンプトに記述するキーワードの数が多くなるほど、1つ1つのキーワードの重みが小さくなる=利きが悪くなるため、次第に意図した通りの画像が生成され難くなります。
この対策として、キーワードの重み付けを指定する機能を搭載しています。例えるなら、ノートの重要部分にマーカーで色を塗るようなものです。
例えば、(cinematic lighting:2) と書くと、他のキーワードに比べて重みを2倍にしてくれます。
ただ、重みを多用しすぎたり、数値を大きくしすぎると無理して画像生成することになり、画像が破綻してしまいます。
どれくらいの数のキーワードに重みを設定すればよいか、どれくらいの値を指定すればよいかはケースバーケースになるため一概には言えませんが、多くてもプロンプトに記述したキーワードの1割程度、値の上限は2程度にしておくのが無難です。
プロンプト(ポジティブプロンプト)
プロンプト(ポジティブプロンプト)は、以下の8つのカテゴリに分けると考えやすくなります。
カテゴリ | 説明 | 例 |
---|---|---|
画質 | 最高品質になるよう指示 | 8k,masterpiece,best quality,raw photo, |
照明 | 光の種類、影の強さ | cinematic lighting,in the dark, deep shadow, |
対象 | 描きたい対象 | 1 girl,1 nogizaka girl,1 woman,1 man, |
容姿 | スタイルや肌質を指示 | flat chest,small breasts,shiny skin,moles skin,freckles, |
服装 | 服装の種類 | loose-fitting clothes,dress,one-piece,suit,pants, skirt,coat,hat,shoes, |
表情 | 微笑む、笑っているなど | laughing,smiling,crying,angry, |
動作 | 座っている、見ているなど | sitting,lokking at 〇〇〇,relaxing, |
場所・時間 | 場所や時間、季節など | at beach,in coffee shop,in the park, |
ブログのアイキャッチで使えそうな写真画質であれば、以下のプロンプトがベースになります。後は、必要な項目を追加で記述して下さい。
1 2 |
(8k,masterpiece,best quality,raw photo),cinematic lighting, 1 nogizaka girl,smiling, |
ネガティブプロンプト
ネガティブプロンプトには画像生成で禁止したいキーワードを記述しますが、内容は画質に関することと、「解剖学的な不具合」に関することが中心です。
ここで言う解剖学的不具合とは、「手や足、指の本数などが、一般的なサイズや本数ではない画像」の生成のことを指します。
肌についてはニキビやくすみなどが該当しますが、リアルな写真を追求するには多少あった方が良いこともあるため、必要に応じて記述して下さい。
カテゴリ | 説明 | 例 |
---|---|---|
画質 | 低画質を避ける | paintings,sketches,(badhandv4:1.2),(worst quality:2), (normal quality:2),(low quality:2),monochrome,grayscale, |
容姿 | 有り得ない容姿を避ける | manboobs,double navel,muted arms,bad hands,bad anatomy |
肌 | ニキビ、シミ、くすみを避ける | skin spot,acnes,skin blemishes |
リアル系の写真を生成する場合、最低限は下記のネガティブプロンプトを入力しておきましょう。これで画質と容姿に関しては十分です。
あとは、必要に応じて肌に関するキーワードを追加していきます。
1 2 |
paintings,sketches,(badhandv4:1.2),(worst quality:2),(normal quality:2),(low quality:2),monochrome,grayscale, manboobs,double navel,muted arms,bad hands,bad anatomy, |
ネガティブプロンプトに関しては、いちいちキーワードを羅列しなくても、特定のワードを1つ記述するだけで同じ効果が得られる Embeddings 系のファイルを用いる方法もあります。
ただし事前に導入作業が必要になりますので、興味のある方は「【図解明解】Stable Diffusion で簡単に画質を上げるVAE、EasyNegative、NegativeHandの極意」を合わせてご覧下さい。
プロンプトの便利な作り方
英語に堪能な人にとってはプロンプトは簡単ですが、そうでない場合はいちいち日本語を英語に翻訳しなければなりません。
そんな手間を少しだけ楽にする方法がいくつかありますので紹介します。
ChatGPTなどに翻訳させる
ChatGPT、Bing AI、Google Bard を使えば、自然言語で入力した文章から、プロンプトを生成してくれます。
1 2 3 |
(8k,masterpiece,best quality,raw photo),cinematic lighting, 1 nogizaka girl,smiling, 1girl,The girl is smashing a watermelon on the beach. |
プロンプトがいい加減すぎたので、スイカを手で割ってしまいましたが、翻訳結果をそのままプロンプトに入力するだけでそれっぽい画像を生成してくれます。
1 2 3 |
(8k,masterpiece,best quality,raw photo),cinematic lighting, 1 nogizaka girl,smiling, 1girl ,beach, watermelon splitting, girl |
以下は有名どころの文書生成AI(ChatGPT、Bing AI、Google Bard)です。Bing AI だけ Edge ブラウザを使う必要がありますのでご注意ください。
無料のプロンプトジェネレータを使う
画面からドロップダウンリストを選択することで、選択した内容に応じたプロンプトを生成してくれるサイトが登場しています。
プロンプトで使用頻度の多いキーワード
参考として色々なサイトやサンプル画像で登場するキーワードを列挙しておきます。
画質/品質
プロンプト | 効果 |
---|---|
masterpiece, | 傑作 |
ultra detailed, ultra high res, 8k, | 超高精細 |
exquisite, | 素晴らしい |
プロンプト | 効果 |
---|---|
beautiful, | 美しい |
best quality, | 最高品質 |
raw photo, | 生の写真画質 |
realistic, photo realistic, | 写実的 |
ポーズ
プロンプト | 効果 |
---|---|
standing | 立つ |
leaning forward | 前屈み |
running | 走る |
walking | 歩く |
jumping, | ジャンプ |
sit, sitting, | 座る |
sit in a chair, | 椅子に座る |
sit in a sofa, | ソファに座る |
sleeping, | 寝る |
lie on one’s back, | 仰向け |
lie on one’s back, | うつ伏せ |
on all fours, | 四つん這い |
crouch, | うずくまる |
squatting, | しゃがむ |
kneeling, | 膝をつく |
hugging own legs, | 体育ずわり |
wariza | 女の子座り |
seiza | 正座 |
lotus position | あぐら |
プロンプト | 効果 |
---|---|
piece sign | ピースサイン |
spread arms, | 両手を広げる |
hands up, | 手を上げる |
hands on head, | 手を頭の上に |
arms behind head, | 頭の後ろで腕を組む |
hands on chest, | 手を胸の上に |
hands on hips, | 手を腰に |
arms behind back, | 手を後ろに回す |
hands together, | 祈る |
waving, | 手を振る |
holding ~ | ~を持つ |
hand between legs, | 両手を脚の間に置く |
crossed arms, | 腕を組む |
crossed legs, | 足を組む |
legs up | 足を上げる |
spread legs, | 足を広げる |
high kick, | 蹴る |
acrobatic pose, | アクロバティック |
dynamic pose, | ダイナミック |
表情
プロンプト | 効果 |
---|---|
smile, | 笑顔 |
light smile, | 微笑み |
grin, | ニヤリと笑う |
angry, | 怒り |
annoyed, | イライラ |
furious, | 激怒 |
disgust, | 嫌悪 |
frown, | しかめっ面 |
glaring, | にらむ |
sad, | 悲しみ |
プロンプト | 効果 |
---|---|
tears, | 涙 |
streaming tears, | 流れる涙 |
wiping tears, | 涙をぬぐう |
crying, | 大泣き |
sobbing, | 号泣 |
blush, | 赤面 |
closed eyes, | 目を閉じる |
confused, | 混乱 |
disappointed, | 残念 |
shy, | 恥ずかしい |
スタイル
プロンプト | 効果 |
---|---|
tall, big, | 背が高い |
short, tiny, | 背が低い |
hourglass | くびれた形 |
slim | 細身 |
slender | 細い体格 |
skinny, emaciated, thin, | 瘦せている |
average, | 普通の体型 |
curvy, | 曲線的な体系 |
voluptuous, | 豊満な体系 |
プロンプト | 効果 |
---|---|
fat, plump, | 太っている |
athletic, | スポーティ |
pear-shaped, | 程よい曲線のある体型 |
apple-shaped, | りんご型の体型 |
boyish, | 男性っぽい体型 |
petite, | 小柄な体型 |
Large breasts, Big breasts, | 胸が大きい |
small breasts, petite breasts, flat chest, | 胸が小さい |
照明
プロンプト | 効果 |
---|---|
bloom, | 明るい自然光 |
sunlight, | 日の光 |
sunbeam, | 太陽光線 |
dappled sunlight, | 木漏れ日 |
moonlight, | 月明かり |
darkness, | 暗闇 |
プロンプト | 効果 |
---|---|
backlighting, | 逆光 |
glowing, | 輝き |
sidelighting, | 横からの光 |
underlighting, | 下からの光 |
spotlight, | スポットライト |
stage lights, | ステージライト |
服装
プロンプト | 効果 |
---|---|
t-shirt, | Tシャツ |
blouse, | ブラウス |
coat, | コート |
cardigan, | カーディガン |
sweater, | セーター |
hoodle, | パーカー |
raincoat, | レインコート |
tank top, | タンクトップ |
skirt, | スカート |
pants, | パンツ |
プロンプト | 効果 |
---|---|
shorts, | ショートパンツ |
school uniform, | 学生服・制服 |
suit, | スーツ |
dress, | ドレス |
japanese clothes, | 和服 |
kimono, | 着物 |
swimsuit, | 水着 |
bikini, | ビキニ |
idol girl, | アイドル |
gyaru, | ギャル |
髪型
プロンプト | 効果 |
---|---|
long hair, | 腰あたり |
medium hair, | 肩あたり |
short hair, | 短髪 |
twintails, | ツインテール |
ponytail, | ポニーテール |
bob cut(okappa), | ボブカット |
プロンプト | 効果 |
---|---|
braid(twin braids), | おさげ/三つ編み |
blunt bangs, | ぱっつん |
forehead, | おでこまで |
hair between eyes, | 両目の間まで |
wavy hair, | ウェーブ |
curly hair, | カール |
アングル
プロンプト | 効果 |
---|---|
from front, | 正面から |
from side, | 横から撮影(カメラ目線) |
profile, | 横から撮影 |
from behind, | 後ろから撮影 |
プロンプト | 効果 |
---|---|
from above | 高い位置から撮影 |
from below | 低い位置から撮影 |
overhead shot, | 真上から撮影 |
dutch angle | カメラを傾ける |
人物の撮影範囲
プロンプト | 効果 |
---|---|
extream close up, face close up, | 顔のアップ |
close up, | 顔のアップ(肩より上) |
upper body, | 胸より上 |
cowboy shot, | 腰より上 |
full body, | 全身 |
ネガティブプロンプト
プロンプト | 効果 |
---|---|
(badhandv4:1.2), | (badhandv4:1.2) |
(worst quality:2), | (最低品質:2) |
(low quality:2), | (低品質:2) |
(normal quality:2), | (通常品質:2) |
lowres, | 低解像度 |
bad anatomy, | 不正確な解剖 |
bad hands, | 不自然な手 |
((monochrome)), | ((モノクローム)) |
((grayscale)), | ((グレースケール)) |
(moles:2), | (ホクロ:2) |
(8k:1.27), | (8k:1.27) |
best quality, | 最高品質 |
masterpiece, | 傑作 |
ultra highres:1.2, | 超高解像度:1.2 |
Photo of Pretty Japanese woman (beautiful:1.1), | 美しい日本人女性の写真 (美しい:1.1) |
sci-fi warrior woman:1.1, | SF戦士女性:1.1 |
space soldier, | 宇宙兵士 |
beanie:1.61, | ビーニー帽:1.61 |
leather jacket:1.21, | レザージャケット:1.21 |
intricate elegant, | 精巧なエレガント |
fantasy, | ファンタジー |
まとめ
今回は Stable diffusion で意図した画像を生成するために必要な、プロンプトの作り方と、プロンプトを作る時に便利な方法、よく使われるキーワードについて紹介しました。
Stable diffusion に対するプロンプトは、生成したい画像の内容の説明文を英文で記述するか、またはキーワードをカンマ区切り列挙します。
この時、列挙したキーワードは平等の重みで画像に反映されるため、数が多すぎると1つ1つが薄まってしまい、意図した画像が出にくくなります。そんな時は、重要なキーワードに重みを指定して記述します。
プロンプトを作る場合は、ChatGPT、Bing AI、Google Bardなどの文書生成系AIを使って翻訳するか、無料のプロンプト生成専用ウェブサイトを活用すると、少しだけ便利になります。
キーワードの組み合わせ、モデルの種類、設定(パラメータ)など変更することで、様々な画像が生成できますが、なかなか狙った通りの画像を生成することは難しいものです。
そんなとき、本記事の内容を参考にしていただければ幸いです。
コメント