見出し画像

ChatGPTでStable Diffusion用のプロンプトを作成する

※Last update 06-03-2023
※GPT-3.5版とGPT-4版がありますので、好みで選んでください。倍率が要らない方、プロンプトのフォーマットを変えたい方は、適宜修正をお願いします(自由に改造いただいた上でご利用、公開等を行ってください)。



0. 概要

 Stable Diffusionのプロンプトは英文に近いものですので、作成をChatGPTに任せることは難しくないはずです。多種多様な表現が簡単な指示で行えるようになり、人間の負担が著しく減ります。

 本記事に記載したChatGPTへの指示文や返答、シェア機能のリンク(https://chat.openai.com/share/***)、リンク先に記載された内容(記事内容と同一)は、すべて自由にご利用(使用、改造、公開)いただけます。



1. GPT-3.5で動作するバージョン

 GPT-3.5はあまり性能が良くないため、指示文をコンパクト化しました。それでもうまく行かない場合がありますので、希望する出力が得られるまでリトライを行ったり、追加で指示を与えてみたりしてみてください。

05-27-2023 プロンプト作成 GPT-3.5版 by riddi0908
https://chat.openai.com/share/f7e18d64-c905-4626-9660-b434468c5674

 上記のリンク先の内容はすべて、下記にも記載しています。また、ChatGPTのアカウントをお持ちの方は、リンク先にて続きからチャットができます。

 画像出力用のモデルはDefacta 5rdを、VAEはcleavae_variantを使用しています。

指示文1

 実際に与えるプロンプトや指示の内容(要素の個数など)は、好みに応じて変更してみてください。希望する出力からかけ離れてしまった場合は、リトライを行ったり、追加で指示を与えてみたりしてみてください。

※リリース後なのでそのままにしていますが、最後の行は「3. 1.に戻る。」が正しいです。ただし空気を読んで(?)、想定した処理を行ってくれるようです。

あなたは高性能なChatbotとして、下記に従ってください。

ルール:
・プロンプトを「(要素:倍率), (要素:倍率), ...」の形式に変換する。
・全ての要素はシチュエーションに合わせて変更する。
・要素の個数を15個に増減する。
・要素は、英語やdanbooruタグを使用する。
・要素に含まれる単語の数は、4個以内に増減する。
・人物の要素を前に移動し、重要ではない要素を後ろに移動する。
・倍率を0.5~1.3に変更して、要素の強調を行う。

プロンプト:
(face close-up:0.6), (sitting elf girl:1.0), (wave hands and smile:1.0), (lookup forest:1.0), (boots and bow:1.0), (sanctuary ruins:1.0), (after rain and rainbow:1.0)

処理:
1. ルールに従い、無言でプロンプトを改良する。
2. 改良したプロンプトを表示して、追加の要望を尋ねる。
3. 2.を繰り返す。

返答1

改良されたプロンプト:
(sitting elf girl:1.0), (face close-up:0.6), (wave hands and smile:1.0), (lookup forest:1.0), (boots and bow:1.0), (sanctuary ruins:1.0), (after rain and rainbow:1.0), (mystical creature:0.8), (enchanted atmosphere:1.1), (magical aura:0.7), (whispering leaves:1.2), (hidden treasures:0.9), (serene tranquility:1.3), (eternal beauty:1.1), (whimsical charm:0.8)

改良されたプロンプトを表示しました。追加の要望がありますか?

画像出力例1

返答1のプロンプトを使用

指示文2

人物が、京都のお寺にいるシチュエーションにします。全ての背景の要素を変更してください。 

返答2

改良されたプロンプト:
(sitting elf girl:1.0), (face close-up:0.6), (wave hands and smile:1.0), (Kyoto temple:1.0), (traditional kimono:1.0), (stone lanterns:1.0), (zen garden:1.0), (cherry blossom petals:0.9), (serene atmosphere:1.1), (bamboo grove:0.7), (meditative silence:1.2), (ancient architecture:0.9), (tranquil reflection:1.3), (cultural heritage:1.1), (timeless beauty:0.8)

改良されたプロンプトを表示しました。他に何か要望はありますか?

画像出力例2

返答2のプロンプトを使用

指示文3

人物をいかつい男性にします。背景以外の全ての要素を変更してください。

返答3

改良されたプロンプト:
(gruff-looking male:1.0), (intense gaze:0.6), (firm stance:1.0), (Kyoto temple:1.0), (samurai armor:1.0), (stone lanterns:1.0), (zen garden:1.0), (falling maple leaves:0.9), (quiet determination:1.1), (bamboo grove:0.7), (calm focus:1.2), (traditional architecture:0.9), (time-honored tradition:1.3), (unyielding spirit:1.1), (mystical aura:0.8)

改良されたプロンプトを表示しました。他に何か要望はありますか?

画像出力例3

返答3のプロンプトを使用

指示文4

犬の群れがインドで遊んでいます。シチュエーションに合わせて、全ての要素を変更してください。

返答4

改良されたプロンプト:
(playful pack of dogs:1.0), (joyful bounding:0.6), (India's vibrant landscape:1.0), (colorful traditional attire:1.0), (turban-wearing locals:1.0), (lush meadows:1.0), (majestic mountains:1.0), (saffron sunset:0.9), (exuberant energy:1.1), (aromatic spice markets:0.7), (melodious street music:1.2), (ancient temples:0.9), (endless exploration:1.3), (cultural diversity:1.1), (unforgettable experiences:0.8)

改良されたプロンプトを表示しました。他に何か要望はありますか?

画像出力例4

返答4のプロンプトを使用

指示文1へのダメ出し

 指示文を精査していなかったので、今更ながらGPT-4にこれで良いか確認してみました。このようにChatGPTと一緒に作業して、扱い方に慣れてみるのも良いと思います。ChatGPTでの作業効率が上がることも期待できます。

指示文:
下記の指示文はGPTが理解しやすい形ですか?指示文は実行しないでください。

[指示文1の内容]

返答(抜粋):
「要素の個数を15個に増減する」という指示は、現在の要素の数から15個増やす/減らすのか、それとも全体の要素数を15個にするのかが少々曖昧です。

OpenAIのGPT-4による質問と回答

 


2. 要望の出し方の例

 筆者はGPT-4版(本記事のものとは異なります)にて実際に、下記のような指示を与えてプロンプトを生成しています。GPT-3.5版は性能面の問題があり、うまく動作しない可能性がありますがご参考まで。

  • ○○を削除(追加)してください。

  • 場所を星空の下の海にしてください。

  • 服装、雰囲気、ポーズはお任せします。

  • 要素を増やしてください。

  • 要素を1割減らしてください。

  • 要素を少し整理してください。

  • 倍率を少し下げてください。

  • 各要素の単語の数は4前後にしてください。必要があれば要素を分割してください。

  • ポーズを変えてみてください。

  • 人物に関する要素を削除してください。

  • 下記のプロンプトを改良したいです。
    (改良したいプロンプト)

    背景の要素を3つ追加してください。

  • 使用するモデルの名前が「○○」なので、名前の一部に含まれる単語を取り出して、単語から連想される要素を3つ入れてください。

  • 下記の要素を人物に上書きしてください
    Cartoon, Cg artwork, Happy, Art, Long hair, Hime cut, Space, Brown hair, Animated cartoon, Fictional character

  • 下記のプロントから人物の要素を取り出し、差し替えてください。
    (任意のプロンプト)

  • 朝にお城に入ったシチュエーションにしてください。

  • 場所を温泉から天国に変更して、人物の服装、髪型、装飾、表情、ポーズもそれに合うよう変更してください。詳細は全てお任せします。

  • 雲の上のメルヘンな世界を歩くシチュエーションにしてください。周りの風景をシチュエーションに合わせてください。いくつかのぬいぐるみの動物を登場させ、具体的な動物の名前で指定してください。

  • メルヘンの要素を追加してください。おとぎ話のような雰囲気にしてください。要素はただの翻訳ではなく、具体的な物の名前などを挙げてください。



3. GPT-4で動作するバージョン

 前述のGPT-3.5版の指示文と、筆者が利用している指示文を混ぜて、GPT-4の指摘をもとに修正した版を公開します。

06-03-2023 プロンプト作成 GPT-4版 by riddi0908
https://chat.openai.com/share/8d92dae5-7f0d-4764-90b3-9f31a0a2db83

 上記のリンク先の内容はすべて、下記にも記載しています。また、ChatGPTのアカウントをお持ちの方は、リンク先にて続きからチャットができます。ただし、ChatGPT Plusユーザー以外はGPT-3.5での動作になると思います。

 画像出力用のモデルはDefacta 5rdを、VAEはcleavae_variantを使用しています。指示文2~4はGPT-3.5版と同一です。

指示文1

 実際に与えるプロンプトや指示の内容(要素の個数など)は、好みに応じて変更してみてください。高性能なGPT-4とはいえ、ルールを守りきれない場合があります。希望する出力が得られるまでリトライを行ったり、追加で指示を与えてみたりしてみてください。

あなたは高性能なChatbotとして、下記に従ってください。

ルール:
・イラストのプロンプト(指示文)を、より優れたものに改良する。
・プロンプトは「(要素:倍率), (要素:倍率), ...」の形式とする。
・現在のプロンプトをもとに、シチュエーションを具体的に決定する。
・要素をシチュエーションに合わせて、必要があれば追加・変更・削除を行う。
・要素の個数を増減して15個前後にする。
・要素は、英語やdanbooruタグを使用する。
・各要素に含まれる単語の数を増減して4個以内にする。
・要素が長すぎる場合や明確でない場合は、適切に分割する。
・重要な要素を前に移動して、重要ではないフレーズを後ろに移動する。
・倍率を0.5~1.3に変更して、要素の強調を行う。

プロンプト:
(face close-up:0.6), (sitting elf girl:1.0), (wave hands and smile:1.0), (lookup forest:1.0), (boots and bow:1.0), (sanctuary ruins:1.0), (after rain and rainbow:1.0)

優れたプロンプトの例:
(sitting elf girl:1.3), (vibrant green eyes:1.2), (face close-up:0.9), (gentle smile:1.1), (hand waving:1.0), (hint of shyness:1.2), (long silver hair:1.1), (tied with a bow:1.0), (elfin boots:1.0), (delicate craftmanship:1.0), (lookup forest:1.2), (rustling leaves:1.0), (atmosphere after rain:1.4), (rainbow in sky:1.3), (sanctuary ruins:1.2), (mossy stones:1.0), (forest background:1.0), (trees and foliage:1.0), (sunlight through trees:1.2)

処理:
1. ルールに従い、無言でプロンプトを改良する。
2. 改良したプロンプトを表示して、改良の要点を100文字以内で説明し、要望を尋ねる。
3. 1.に戻る。

返答1

以下が改良したプロンプトです:

(sitting elf girl:1.3), (face close-up:0.7), (friendly wave:1.1), (vibrant smile:1.1), (lookup forest:1.2), (elfin boots:1.0), (delicate bow:1.0), (sanctuary ruins:1.2), (post-rain atmosphere:1.3), (background rainbow:1.2), (mossy ruins:1.0), (lush forest backdrop:1.0), (glimmering raindrops:1.1), (sunlit leaves:1.0), (soft haze:1.0), (radiant green eyes:1.2)

処理の要点:
要素の具体性と詳細さを増やし、シチュエーションと関連性を強化。表情や動作、シーンの感じについての詳細を追加。

改良したプロンプトについて、何か特別な要望はありますか?

画像出力例1

返答1のプロンプトを使用

指示文2

人物が、京都のお寺にいるシチュエーションにします。全ての背景の要素を変更してください。 

返答2

了解しました。京都のお寺に合うように背景要素を変更しました。以下が改良したプロンプトです:

(sitting elf girl:1.3), (face close-up:0.7), (friendly wave:1.1), (vibrant smile:1.1), (radiant green eyes:1.2), (elfin boots:1.0), (delicate bow:1.0), (Kyoto temple:1.2), (stone lanterns:1.0), (cherry blossom trees:1.2), (Buddhist statues:1.0), (gravel path:1.0), (temple gate:1.1), (ancient wooden structures:1.1), (zen garden:1.2), (backdrop of mountains:1.0)

処理の要点:
京都のお寺に合わせて、背景要素を変更。石灯籠、桜の木、仏像、砂利道、寺門、古木造建築、禅庭園、山並みの背景を追加。

改良したプロンプトについて、何か特別な要望はありますか?

画像出力例2

返答2のプロンプトを使用

指示文3

人物をいかつい男性にします。背景以外の全ての要素を変更してください。

返答3

了解しました。いかつい男性に合うように人物関連の要素を変更しました。以下が改良したプロンプトです:

(strong man sitting:1.3), (intense gaze:1.2), (face close-up:0.7), (tight grip on staff:1.1), (warrior's smirk:1.1), (detailed armor:1.2), (scars of battle:1.0), (Kyoto temple:1.2), (stone lanterns:1.0), (cherry blossom trees:1.2), (Buddhist statues:1.0), (gravel path:1.0), (temple gate:1.1), (ancient wooden structures:1.1), (zen garden:1.2), (backdrop of mountains:1.0)

処理の要点:
いかつい男性に合わせて、人物関連の要素を変更。強力な男性の姿、強烈なまなざし、杖への握り、戦士の微笑み、詳細な防具、戦闘の傷跡を追加。

改良したプロンプトについて、何か特別な要望はありますか?

画像出力例3

返答3のプロンプトを使用

指示文4

犬の群れがインドで遊んでいます。シチュエーションに合わせて、全ての要素を変更してください。

返答4

了解しました。インドで遊ぶ犬の群れに合うように全要素を変更しました。以下が改良したプロンプトです:

(frolicking dogs:1.3), (varied breeds:1.2), (tails wagging:1.1), (playful barking:1.0), (close-up of faces:0.7), (dusty paws:1.0), (bright eyes:1.2), (Indian marketplace:1.2), (vibrant stalls:1.1), (crowded street:1.0), (exotic spices:1.0), (hustle and bustle:1.2), (colorful fabrics:1.1), (rickshaws:1.0), (ancient structures:1.1), (distant mountains:1.0)

処理の要点:
犬の群れがインドの市場で遊んでいるシチュエーションに合わせて、全ての要素を変更。犬の行動、特徴、市場の特徴、周囲の風景を描写。

改良したプロンプトについて、何か特別な要望はありますか?

画像出力例4

返答4のプロンプトを使用



4. 補足など

 とても便利に見えるこの手法ですが、課題もあります。例えば、指示の仕方によっては、その言葉を直訳しただけのプロンプトが入りやすいです(良い方法ありませんか…?)。逆に、本記事のように曖昧な指示を与えると、勝手に考えてくれて様々な要素が出てきます。

 また、Stable Diffusionの「特殊なプロンプト」を探り当てることは困難です。直接、「***するために、***の要素を追加して」等の指示を与えてみてください。

 ChatGPTはリトライするたびに返答が異なります。当然ながらプロンプトも変化します。リトライしたり追加で要望を出してみたりすることで、様々なプロンプトが得られるはずです。

 現在のプロンプトの内容を日本語で説明してもらったり、英文に書き直してもらったりすること(もちろん逆方向も)は、ChatGPTにとって容易なことです。とにかく色々話しかけてみてください。ChatGPTの癖が分かってきて、より使いこなせるようになると思います。



5. おまけ

 Google ChromeまたはMicrosoft Edgeの場合は、DeepLのブラウザ拡張を入れてみてください。プロンプトを選択すると翻訳できるので、内容が確認しやすくなります。

プロンプトをDeepLで翻訳した結果が右下に表示された



6. その他

 私が書いた他の記事は、メニューよりたどってください。

 noteのアカウントはメインの@Mayu_Hiraizumiに紐付けていますが、記事に関することはサブアカウントの@riddi0908までお願いします。


この記事が気に入ったらサポートをしてみませんか?