DALL-E 3の革新により、 DALL-E3キャラクター固定 方法が開発されましたので、今回具体的な方法について解説します。
この技術は、デジタルアートの可能性を大きく広げ、クリエイターに新たな表現力をもたらします。
シード値を超える技術の紹介
DALL-E 3でキャラクターを固定する際にシード値を超える技術とは、生成されたイメージの一貫性を保ちながら、異なるシナリオやポーズで同じキャラクターを再現する方法です。
シード値とは、乱数生成アルゴリズムの初期値であり、通常、この値を固定することで同じ入力から同じ出力を得られます。
しかし、この方法だけでは、キャラクターの外見を変えずに様々な状況での表現は限定的です。
DALL-E3キャラクター固定 における、シード値を超える技術
DALL-E 3では、シード値を超える技術を使用して、より高度なキャラクター固定が可能になります。
これには以下のような4つの技術が含まれます。
エンベディングの微調整
キャラクターの特徴をエンコードしたエンベディング(ベクトル表現)を利用し、このエンベディングを微調整することで、異なるシナリオやアクションでキャラクターを一貫して生成することができます。
スタイル転送と混合
ある画像のスタイルを別の画像に適用する技術を使って、生成されたキャラクターのスタイルを維持しながら新しいコンテキストに適応させます。
テキストプロンプトの工夫
テキストプロンプトにキャラクターの詳細な特徴を含め、さらに状況やアクションを説明することで、DALL-E 3に同じキャラクターを異なる状況で描画させることができます。
インタラクティブな微調整
ユーザーが生成された画像に対してフィードバックを提供し、そのフィードバックをもとにモデルがキャラクターの再現性を改善する方法です。
これらの技術を組み合わせることで、DALL-E 3は同一キャラクターを異なるシナリオ、ポーズ、表情で一貫して生成することが可能になります。
このように、シード値を超える技術は、AIによるイメージ生成の精度と応用範囲を大きく拡張しています。
DALL-E3キャラクター固定 :ステップバイステップのプロセス
キャラクターを固定するための具体的な手順を実例を踏まえながらステップバイステップで解説します。
ただし、DALL-E3を使用できるのはChatGPT Plus(有料:月額20ドル)に加入する必要があります。
このプロセスには、キャラクターの特徴を定義することから、様々な状況下でのキャラクター生成までが含まれます。
まずキャラクターを固定するプロセスです。
キャラクター固定の応用例
若い女性の学校の先生を例にして説明します。
DALL-E3に「若い女性の学校の先生を描いてください」と指示します。
するとChatGPTがDALL-E 3で生成するための指示文(プロンプト)を作成しそれに基づきDALL-E3が絵を見て作成します。
参考までにChatGPTが生成した指示文(プロンプト)を載せておきます。
「明るい表情の若い女性の学校の先生が、教室で生徒に数学を教えている様子。先生はスマートカジュアルな服装をしており、黒板の前に立ち、生徒たちに向かって笑顔で話している。背景には、明るくて広々とした教室、生徒たちが座る机と椅子が見える。午前中の日差しが窓から差し込んでいる。」
このプロンプトは、キャラクターの特徴(若い女性、学校の先生、明るい表情)、希望するアクション(数学を教えている、笑顔で話している)、そして背景(教室、黒板、生徒たち、午前中の日差し)を具体的に記述しています。
さすがに、日本語でそのままプロンプトで指示した内容をChatGPTは、キャラクターの特徴、希望するアクション、そして背景などについて詳細に書き換えてくれます。
実際に作成された画像が次です。

私のイメージと違ったので、次のプロンプトで修正しました。
「30歳の日本人女性学校の先生、明るめの茶色の髪色、肩までのボブヘアー、黒縁のメガネをかけている、スーツを着ている」

今度はイメージ通りの画像ができました。
そこで、gen-idを知るためにChatGPTに次の指示をします。
「gen_idを教えてください」
するとChatGPTが
「The gen_id for the image is Pvej6BlSfdKEszF7.」とgen-id値を返してきます。
次にプロンプトをシード値を得るためにChatGPTに次の指示を与えます。
「プロンプトをシード値も含めてJSON形式で教えてください」
するとChatGPTが次のようにシード値も含めてJSON形式で示してくれます。

そこで準備が整いましたので、この女性教師が「カフェでコーヒーを飲みながら本を読んでいる」様子を描いてみましょう。
その為のプロンプトは以下のとおりです。
下のプロンプトを元に、カフェでコーヒーを飲みながら本を読んでいる様子を絵にしてください
{
“size”: “1024×1024”,
“referenced_image_ids”: [“Pvej6BlSfdKEszF7”]
“seed”: 843353561
}
先ほどChatGPTから得た
“size”: “1024×1024”,
“gen_id”: “Pvej6BlSfdKEszF7”,
“seed”: 843353561
を使って指示します。
この値によりキャラクターが固定されます。
できた画像がこれです。

写真風なので、「イラストで書いて」と指示しイラスト風に変換します。
できた画像がコレです

今度は教室で生徒と笑いながら話している様子を描いてみます。
プロンプトです:
下のプロンプトを元に、教室で生徒と笑いながら話している様子を絵にしてください
{
“size”: “1024×1024”,
“referenced_image_ids”: [“Pvej6BlSfdKEszF7”]
“seed”: 843353561
}

今度は教室でダンスをしている様子を描いてみます。
プロンプトです:
下のプロンプトを元に、教室でダンスをしている様子を絵にしてください
{
“size”: “1024×1024”,
“referenced_image_ids”: [“Pvej6BlSfdKEszF7”]
“seed”: 843353561
}

今度は音楽を聴いている様子を描いてみます。
プロンプトです:
以下のプロンプトを元に、音楽を聴いている様子を絵にしてください
{
“size”: “1024×1024”,
“referenced_image_ids”: [“Pvej6BlSfdKEszF7”]
“seed”: 843353561
}

着ている服を、「洋服をTシャツに変えてください」と指示します。
できた画像がコレです

今度は家庭教師として高校生の女の子を教えている様子を描いてみます。
プロンプトです:
以下のプロンプトを元に、家庭教師として高校生の女の子を教えている様子を絵にしてください
{
“size”: “1024×1024”,
“referenced_image_ids”: [“Pvej6BlSfdKEszF7”]
“seed”: 843353561
}

今度はピアノを弾いている様子を描いてみます。
プロンプトです:
以下のプロンプトを元に、ピアノを弾いている様子を絵にしてください。イラスト風にしてもっと細かく描いてください
{
“size”: “1024×1024”,
“referenced_image_ids”: [“Pvej6BlSfdKEszF7”]
“seed”: 843353561
}

洋服について次の指示を出します。
「学校の先生なので服装を先生に相応しい洋服に変えてください」

今度は夏の海辺を散歩している様子を描いてみます。
プロンプトです:
以下のプロンプトを元に、夏の海辺を散歩している様子を絵にしてください。イラスト風にしてもっと細かく描いてください
{
“size”: “1024×1024”,
“referenced_image_ids”: [“Pvej6BlSfdKEszF7”]
“seed”: 843353561
}


私が試した実例なので、同じプロンプトを与えても、その都度作成される絵は異なりますが、一連の流れでキャラクターを固定してイラストを描かせる方法について、おわかりいただけたのではないでしょうか。
実際に重要なのは
{
“size”: “1024×1024”,
“referenced_image_ids”: [“Pvej6BlSfdKEszF7”]
“seed”: 843353561
}
この情報を得てプロンプトの中に含めて使用するのが肝となります。
実例を見ても分かるとおり、完全にキャラクターを統一できていない部分もありますが、基本の部分は抑えられると思います。