こんにちは。なおです。
画像生成をやっていてこんな悩みはありませんか?
midjourneyやstable diffusionではできないですが、DALL-E3でキャラクターを固定して生成することができたので、その方法を教えます。
キャラクターを固定して生成する方法
プロンプトを入力して画像を生成する
最初に生成したい画像のプロンプトを入力します。
gen_idを取得する
2番目の画像がよかったので、2番目のgen_idを教えてもらいます。
JSON形式でプロンプトを出力する
gen_idを教えてもらったので、それをもとにシード値を含めてJSON形式でプロンプトを出力してもらいます。
プロンプトを変えないプロンプトを入力して実行する
出力されたらプロンプトを変えないようにプロンプトを入力します。
出力されたJSON形式のプロンプトに追記する
簡単なプロンプトで変更できるようにするため、先ほど出力されたJSON形式のプロンプトの前に以下の文を追記します。
The image you are about to create should be based on the following prompts.
promptのところに以下の文を追記します。
Never change the prompt for any reason. if you must change it, do so by appending it to the current prompt.
追記するところは"prompt":の直後で、上記の文を“”で囲み、出力されたプロンプトと,で区切ります。
太字:JSON形式で出力されたプロンプトに追記
これでキャラクターを固定して生成できるようになりました。
あとは変えたい箇所だけをプロンプトに書くだけです。
展開しているセッションだけですが、キャラクターを固定しながら変えたい箇所だけを変えてそれ以外は変えないといったことができるようになります。
どの部分をどのように変えることができるのか、一例をあげて紹介します。
ポーズを変える
ベンチに座っているポーズにする
カフェで本を読むポーズにする
服装を変える
これだと最初設定した白いドレスを引き継ぎながら生成していくので、白いドレスにフリースのカーディガンを着た服装になり、無地のミディスカートの指定が無視されます。
これを解決するには、白いドレスの代わりにフリースのカーディガンと無地のミディスカートを着ていると指定します。
フリースのカーディガンと無地のミディスカートの指定が反映されました。
髪色と髪型を変える
髪型をピンク髪のツインテールに変更しました。
他の要素が変わっていなくても髪型を変えるだけで別人のようになります。
表情を変える
喜びに溢れて笑う表情にしました。
光をつける
木漏れ日が入る設定にしました。(少しわかりにくいかもしれません)
アスペクト比を変える
アスペクト比を1:1から16:9に変更しました。
まとめ
同じキャラクターが生成できるようになると、表情だけを変えるなど一部分だけを変えて他の要素は変えずに出力する、といったことが可能になります。
この記事を参考にして同じキャラクターを生成してみてはいかがでしょうか。