プロンプト(呪文)の書き方(コツ)まとめ[stable diffusion web ui]

「AIに描きたい絵を伝えるためには、どのような文章を書けばいいのか分からない」という方も多いのではないでしょうか。

私自身も最初にやってみた頃はその悩みを感じていた1人です。

そこで、今回は「プロンプト(呪文)」について詳しく解説します。

プロンプトとは何か、基本的な書き方や例、そして具体的な活用方法についても紹介します。
AIを使った画像作成に興味のある方は、必見の内容です。

プロンプト(呪文)とは?

まず初めに、プロンプト(呪文)とは、AIに「描いてほしい絵の内容を伝えるために書く文章」のことです。

Stable Diffusionとは画像生成AIの一種であり、プロンプトを与えることで、AIがそれっぽい画像を生成してくれます。

例えば、「少女 水着 砂浜」というプロンプトをAIに指示すると、
砂浜にいる水着を着た少女が画像として作成されます。




プロンプトは、画像生成AIに限らず、ChatGPTなどの他のAIで広く使われる言葉です。

また、魔法のように絵ができることから「呪文」とも呼ばれることがあります。

プロンプト(呪文)の基本

プロンプトは、描きたいものを英語で書くだけです。英語が苦手な方は身構えてしまうかもしれませんが安心してください。

文法は気にする必要ありませんので翻訳ツールやChatGPTがあれば誰でも作れます。

AIは、受け取ったプロンプトを一旦最小限の単語に分解します。このため、プロンプトは単語ベースで並べて書いていくことが基本です。
もちろん、AIは賢いので、文章でも作ることができます。全てを反映してくれるとは限りませんが、やってみると面白いかもしれません。(文章ベースでも試してみましたが、違和感がなく作成できること確認しています)

また、動詞や形容詞などを含めることもできます。それぞれの単語は「, 」(カンマと半角スペース)で連結していきます。

プロンプト(呪文)の例

ここまでで、「AIでどんな画像ができるんだろう?」と思うかもしれません。
そこで、簡単な例を紹介したいと思います。

プロンプト:
1 girl, High school students, Cherry blossoms

プロンプト:
1 girl, dress, full moon shining in the night sky

どうでしょうか?簡単な単語でもかなりのクオリティの画像ができることが分かると思います。
(モデルは「anything v4.5」を使用しています)

次からは具体的にどういったプロンプトを書いていくかについて説明していきます。

プロンプト(呪文)の書き方

プロンプトには順番が関係あって、最初に書くほど優先される傾向にあります。
そのため、以下のように書くことが一般的です。

品質, 被写体(サブジェクト,目、髪、服装、表情), スタイル, 構図, 背景, 照明

上記の順序で作成したのが、以下の画像になります。

プロンプト:
best quality, 1 girl,red eyes, hair updo style, red and white miko costume,ribbon, smile, illustration, dynamic angle, background shrine with towering trees, soft natural light

これを見て少し大変かと思ったかも知れません。
でも、簡単な単語を並べているだけなので、一つ一つは難しくないはずです。

もちろん、全ての指示をする必要はありません。詳細に指示した方が、狙い通りの画像は作成しやすくなります。(指定しなければ自動で判断されて作成されます)

それでは、上記のプロンプトを例にプロンプトを書くために必要な要素について順番に説明していきます。

1.品質

品質は画像の品質に影響を与える言葉(ワード)です。一般的にプロンプトの最初に指示している場合が多いです。

best quality」は最高品質という指示です。

他には以下があります。

英語名日本語名
masterpiece傑作
best quality最高品質
ultra detailed超高精細
highres高解像度
high-resolution高解像度
4kフルハイビジョン
8kスーパーハイビジョン

上記の画像が実際に試した結果です。見て分かると思いますが、ほぼ影響がなかったです。(特にイラスト系のモデルでは影響がないようです)
他の人のプロンプトをみてみるとやたら指示している人がいますが、それほど効果がないという認識でいます。その理由として、モデルのほうで最適化していからだと思っています。

ただ、入れていても特にでデメリットにはならないので、書いてもよいと思っています。
これはモデルによっても変りますので、結局のところトライ&エラーで確認していく必要はあります。

2.被写体

サブジェクト

サブジェクトはメインに描きたい人物、動物、物などを指示します。

1 girl」は1人の少女という指示です。

これは結構重要で、ちゃんと指示しないと意図しない画像になる可能性があります。
これだけは最低限やりましょう。

1人の少女なら、1 girl
2人の少女なら、2 girl
1人の少年なら,1 boy
1匹の猫なら、1 cat
となります。

1と明確に指示する理由としては、複数登場することがあるからで、
基本、登場させたい人数は1人だと思いますので、1と明確に書きます。

目は色を指定したい時に指示します。

red eyes」は赤い目という指示です。

「色」eyesで好きな色を指定できます。
黒なら、black eyes
青なら、blue eyes
黄色なら、yellow eyes

他にも、
両目を閉じるなら、closed eyes
ウインクなら、one eye closed
があります。

髪は髪の特徴を指定したい時に指示します。
髪の種類として髪型、前髪、長さ、色などの指定ができます。

hair updo style」はアップスタイルという指示です。

髪はバリエーションが豊富にありますので、詳しく知りたい場合はこちらをみてください。

服装・アクセサリー

被写体に着せたいものがある時に指示します。

服装の「red and white miko costume」は赤と白の巫女の服装という指示です。
アクセサリーの「ribbon」はリボンという指示です。

服装・アクセサリーについてもバリエーションが豊富にありますので、詳しく知りたい場合はこちらをみてください。

表情

被写体に何かしらの表情をさせたい時に指示します。

smile」は微笑むという指示です。

表情についてもバリエーションが豊富にありますので、詳しく知りたい場合はこちらをみてください。

3.スタイル

スタイルは画風を指示するものです。

llustration」はイラストという指示です。

英語名日本語名
3D3D
realistic現実的な
chalk paintingチョークの絵
watercolor水彩
line art線画
vector artベクターアート
monochrome白黒
retro styleレトロな
80sanimestyle80年代~90年代風
cyberpunkサイバーパンク

スタイルは画像の印象を大きく変えることができるため。かなり強力な指示になります。

アニメ系のモデルの場合はイラストの画像を作りたいと思いますので、
省略しても問題がありません。(何も指示しないとイラストとして判断されます)

4.構図

構図は描かれる要素の配置や配列を指します。
AIが生成される画像の視覚的な印象を大きく左右するので、自分で明確に指示を出したい時はある程度、考慮する必要があります。

dynamic angle」は動きのあるアングルにしたい場合に指示します。

肖像画のように動きのないイラストにしたくないときはこれを使うのがおすすめです。


英語名日本語名
full body全身
cowboy shot顔~太もも
upper body上半身
portrait顔~肩
face顔~肩・鎖骨
close-up顔視点の角度・位置
from front正面から
from above上から(俯瞰)
from below下から(あおり)
from side横から

最初はよくわからないと思いますので、何も指示しなくても大丈夫です。(ある程度のことはAIが自動でいい感じにやってくれます)

5.背景

背景は被写体の後ろに描かれる背景を指します。
被写体をより魅力的に見せたり、絵画の雰囲気を作り出したりするために重要です。

background shrine with towering trees」は木々のある神社という指示です。

英語名日本語名
white background白背景
mountain
forest
river
ocean blue sky
ocean sunset夕暮れの海
blue sky青空
starry sky星空
moon
fluttering petals花びらが舞う

6.照明

照明は描かれる光の配置や明るさを指します。
照明は、被写体や背景を明るくしたり、影を作ったりすることで、絵画に深みや立体感を与えるために重要です。

soft natural light」は柔らかな自然光という指示です。

英語名日本語名
lens flareレンズフレア
light particlesパーティクル
Rembrandt lightingレンブラントライティング(対象物の横からライトを当てて、陰影を印象的にする)
colorful refractionカラフルリフレクション(虹色の反射)
bloomブルーム(光の広がり)
film Reflectionフィルムリフレクション(映画的な反射)
cinematic shadow映画のような影
sunbeam太陽光

プロンプトの書き方 中級編

これまで、基礎的なことを書いてきましたが、ここからは少しレベルを上げて応用的なことを説明します。

ネガティブプロンプト

AIに画像の中に描いてほしくないものを指示する方法です。

ネガティブプロンプトを書いておくことで、生成される画像を制限することができます。

例えば、
flat color(フラットカラー)をネガティブプロンプトに指示することで、flat colorの絵柄を生成しないようにできます。

ただ、最初のうちは何を指定したらよいかわからないと思いますので、実際に画像を作成してみて、不要なものが作成された場合に対応するでよいと思います。

ここでは、一般的によく使われているネガティブプロンプトを紹介します。

ネガティブプロンプト:
bad face, bad fingers, bad anatomy, missing fingers, flat color, flat shading, low res, retro style cropped, signature, watermark, username, artist name

もちろん、これはプロンプトを指示する人によっては必要ないものが含まれている可能性があります。自己判断で使ってください。

プロンプトの強調

特定の言葉(ワード)を強調することができます。
プロンプトで指示したが、効果が弱いと感じられたら強調を使ってみるとよいと思います。

例えば、
表情でsmile(微笑む)という言葉がありますが、強調を使うと微笑むをさらに強調することができます。

プロンプトで強調させるには以下のように書きます。
(smile:1.2)

数値を上げるほど、強くなります。
実施の数値ですが、1.2から1.5ぐらいが適性値のようです。

あまり強い数値を設定すると画像が崩れる感じになりますので、大きければよいというわけではないようです。
(実際はモデルによりますので、試してみて確認する必要があります)

また、以下のように括弧を複数つけることによっても強調することできます。(括弧をつける毎に強調が強くなります)
((smile))
(((smile)))

ただ、数値を指定したほうが、あとからでも変更が簡単ですので、数値で変更する方法をお勧めします。
私は数値で強調を変更しています。

まとめ

今回はプロンプトの書き方について紹介しました。

紹介した要素を使ってプロンプトを作成すれば、比較的かんたんに高クオリティの画像が作成できると思います。
ぜひ活用してみてください。