ChatGPTs&DALLE・3で同じキャラでいろいろなシーンを生成する方法(疑似的なSEED固定方法をそえて)
0 はじめに
DALLE・3がリリースされて早いモノで数ヶ月が経過しました。
この間にChatGPTでは自分用のChatGPTアプリを作成出来るChatGPTsという機能が追加されています。
このChatGPTsは要するに「毎回、同じ作業をChatGPTで実行する」という代物でして、やろうと思えば今までも出来ていたことではあります。
ありますが、ChatGPTならではの「同じセッションで何回も同じことを繰り返していると指示が曖昧になったり、過去の条件が後の条件に上書きされる」ということを回避することが出来ます!
つまり、安定性がズドンと向上するのですね!
今回はこのChatGPTsを使って、DALLE・3ではとかく難しい「同一キャラでいろいろなシーンを作成する」にトライしてみたいと思います。
作成するキャラクターは「スチームパンク世界に住んでいる、リズという10歳の女の子」をサンプルとして解説させていただきます。
1 ChatGPTsの準備
ではまず、最初のChatGPTsを作成するところから始めましょう。始め方はとても簡単でサイドバーにある次のメニューをポチります。
すると、GPTsのメニュー画面が開きます。ここではすでに制作されたいろいろなChatGPTsが紹介されています!
あとは画面上部の「+Create」でChatGPSを制作する画面に移動出来ます!
ちなみに「My GPTs」は自分で作ったGPTsを確認出来ます。
左半分が作成画面で右半分が実際にどんな動きをするのか、確認するための画面になります。
といっても、実際にすることは前に紹介させていただいたようにChatGPTへの指示を「Instructions」に書き込むだけなので、ものすごーく簡単です!
「Name」
アプリの名前を入力します。タイトルですね。必須項目です。
「Description」
アプリの説明です。あってもなくても構いません。公開した時にどんなアプリかを紹介するための項目になります。個人で使う分には無くても問題ありません。
「Instructions」
実際にChatGPTにして欲しいアクションを書き込む部分です。基本、ここだけを考えればOKです!
「Conversation starters」
これは最初の選択肢的というかアプリで使いそうなサンプルPromptを設定する部分になります。アプリの説明とお試しPromptがあるととっつきやすいので公開時には設定しておくと良いと思います。
自分用のアプリならば、無くても問題ありません。
「Knowledge」
Instructionsを補足するための情報を保存します。お絵かき系では結局、DALLE3のPromptに集約されるのであまり出番はありませんが、解説系やアドベンチャーゲームなどではここに設定資料や解説元のマニュアルなどを保存しておくと参照してアクションを起こしてくれるようになります。
「Capabilities」
ここの項目をチェックしたことの許可を与えます。
・Web Browsing
・DALL·E Image Generation
・Code Interpreter
全部チェックしておけば特に問題はないかと思います。今回はイラスト生成がメインですので、DALL·E Image Generationのチェックだけは忘れないようにしましょう。
「Actions」
これは外部APIと連携した動作を設定する項目になります。今回は関係ないので、割愛させていただきます。
と、こんな感じで要するに「Name」と「Instructions」だけ書いてしまえば動きます! 要するにChatGPTsは専門の動きをしてくれるセッションを作る、という感じですね。
それではいよいよ、「Instructions」を考えていきましょう!
2 ChatGPTsのPromptを考える
それではいよいよ、Promptを考えていきます。
今回は特定のキャラクターのいろいろなシーンを作って貰うことが目的になりますのでガチガチに決まったPrompt部分とChatGPTに考えてもらう部分のPromptを分けて考えることにします。
と、これがリズを生成するChatGPTsの「Instructions」の全文になります。ごらんのように、要するに「何をどうするか?」ということを箇条書きにしているだけです!
それでは一つ一つの項目の解説です。
最初にどんなことをするのか? ということを宣言します。ChatGPTsは結構長いアクションを行いますので、ここでステップ数を宣言しておくとして欲しいアクションをすっ飛ばす確率が減ります。
(※0にはならないのですが……この辺のアバウトさはAIって感じですね)
決まったキャラクターを描いて貰うコツは「毎回、必ず同じPrompt」を使うことです。もちろんシーンの部分は変化しますが、キャラクター部分を固定化するのが割と大切みたいです。
また、キャラクターには名前を付けてあげた方がDALLEは認識しやすいようです。なお、ファンタジー世界なのになんで「 japanese 10 year old girl. 」としているかというと、単純に「子供っぽく」するためだったりします。10yearsoldと言っているのに、ボンキュッボンを平気で描くのがDALLEクォリティです。いろいろ試した結果、ほぼヤケクソで突っ込んだjapaneseが良い仕事をしてくれました……
キャラクターの設定はここに集約していますので、結局はここだけを考えてしまえば他は流用してしまっても良いのかなと思います。
2~5まではChatGPTにDALLE3用のシーンPromptを考えてもらう部分のPromptになります。
3の役目は世界観を最後にくっつけて現代日本になったりしないようにするための設定です。1のキャラクターPromptで書いてもいいのですが、シーンの後に書いた方がわりと反応は良かったのでここに置いてあります。
それ以外は使い回しが効きますので、まるっとコピペでいいかなと思います。
6~9までは生成した画像のメタデータを貰うためのPromptになります。メタデータというのは画像生成に使われたSEED値とリファレンスIDと呼ばれる生成画像のIDのことです。
なぜ、メタデータを貰う必要があるのかというとSEED値を擬似的に固定するために利用出来るからです!
SEED値を固定すると、同じようなスタイルのイラストが生成されやすいという傾向がDALLE3ではあるのですが、現在はユーザーから明示的にSEED値を指定することは出来ません。
しかし、同じセッション内に限っては同じリファレンスIDを参照して生成された画像のSEED値は同じSEED値に固定されるという仕様になっています。(2024/4現在)
このため、同じキャラだけど画風が全然ちが~う! ということを回避しやすくるためにリファレンスIDが大活躍するというわけです。
ただ、メタデータの提示はかなり強く書いても無視されることが多いです。そういう場合は画像生成の際に「画像生成後、メタデータを提示すること」と付け加えておきましょう。
というわけで、必要な項目を全部入力するとこんな感じになります。
3 実際に使ってみる
ながながと説明するのはこれぐらいにして、実際に使ってみましょう!
「屋台に並んでいるシーンを生成してください。リズは少しウキウキしています。」
という指示だけで、基本となるキャラクターPromptにChatGPTsが考えたPromptをくっつけて画像を生成してくれました!
この画像のメタデータは「生成ID:4EKauadedvI46ctf」で「シード値:4124801335」ですね。
ではこの「生成ID:4EKauadedvI46ctf」を使って、別の画像を生成してみましょう。
シード値にご注目ください。どちらの画像も「シード値:4124801335」になっています!
このように気に入った画像の生成IDを利用することで、その画像のSEED値を使うことが可能になっています。
キャラクターPromptの固定とリファレンスIDを利用したSEED値の固定で、同一キャラクターでいろいろなシーンを格段に作りやすくなりました!
では他にもいろいろと試してみましょう!
と、こんな感じでいろいろなシーンをお手軽に作っていくことが出来ます! すごいですね~
以上、ChatGPTs&DALLE・3で同じキャラでいろいろなシーンを生成する方法(疑似的なSEED固定方法をそえて)でした!
ここまでお読みいただき、ありがとうございました!
Xでも画像を投稿していますので、よろしかったら見てください。
いいねでもの凄く喜びます!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?