ChatGPT Images 2.0で、ブログ用のOGPサムネイルを生成しようとしました。
依頼した内容は、5つの構図案をそれぞれ独立した画像として生成する、というものです。
プロンプトには、次のような指示をかなり明確に入れていました。
Generate exactly 5 separate images.
Do NOT create a collage.
Do NOT create a montage.
Do NOT combine multiple concepts into a single image.
Each image must contain only one concept.
つまり、こちらの意図は「5枚の画像を生成する」でした。
しかし実際には、5枚の独立した画像ではなく、5つの構図を1枚の中にまとめたコラージュ画像が生成されました。
しかも、これは一度だけではありません。複数回試しても、同じように1枚の画像へまとめられる挙動を確認しています。
この記事では、この現象について調べた内容を整理します。
起きたこと
今回の依頼では、5つの構図を用意しました。
たとえば、次のような内容です。
Image 1 Concept:
A cat sitting at a desk, sorting cards into four separate boxes.
Image 2 Concept:
Four animals working around a shared table.
Image 3 Concept:
A whimsical animal post office.
Image 4 Concept:
A small blue bird building a nest.
Image 5 Concept:
A hamster workshop.
それぞれを独立した画像として生成してほしかったため、プロンプトの冒頭で「5 separate images」「Do NOT create a collage」と指定しました。
しかし、生成結果は5枚ではなく、1枚の画像内に5つの場面を並べたコラージュになりました。
こちらの期待は次の形です。
5 concepts
↓
5 independent images
実際の出力は次の形でした。
5 concepts
↓
1 image
↓
5 scenes in one image
このズレが今回の問題です。
最初に疑ったこと
最初は、プロンプトの書き方が弱かったのかと思いました。
そのため、次のような禁止指示を追加しました。
Do NOT create a collage.
Do NOT create a montage.
Do NOT combine multiple concepts into a single image.
Do NOT place multiple scenes in one frame.
Each image must contain only one concept.
しかし、それでも1枚の画像に複数の構図がまとめられました。
この結果を見る限り、単に「コラージュ禁止」と書けば解決する、という問題ではなさそうです。
調査したこと
OpenAIのヘルプでは、ChatGPT Imagesは会話内で新しい画像を作成したり、既存画像を編集したりできる機能として説明されています。
また、OpenAIのChatGPT Images 2.0の紹介では、精度や制御、画像内の文字、複数の要素を含む表現などが紹介されています。
参考: Introducing ChatGPT Images 2.0
一方で、今回のケースでは「複数枚の独立した出力」ではなく、「1枚の中に複数場面をまとめる」方向に解釈されました。
つまり、ユーザーが求めた出力形式と、実際の画像生成の処理単位が一致していなかった可能性があります。
現時点で考えられる原因
現時点で考えられる原因は、主に3つです。
1回の画像生成呼び出しとして処理されている
ユーザーは「5枚の画像」を求めています。
しかし、実際の処理が1回の画像生成呼び出しとして扱われる場合、出力も1枚になります。
その状態でプロンプト内に5つのコンセプトがあると、モデルはそれらを1枚の中に配置しようとする可能性があります。
5枚ではなく5場面として解釈されている
プロンプト内に、Image 1、Image 2、Image 3のように複数の構図を並べると、モデルはそれを「複数の画像」ではなく「複数の場面」として理解する場合があります。
その結果、1枚の画像内に5つの場面を並べた構図になった可能性があります。
禁止指示よりも構図情報の方が強く働いている
プロンプトには「コラージュ禁止」と書いていました。
しかし同時に、5つの構図を1つのプロンプト内にまとめて書いています。
画像生成モデルにとっては、禁止指示よりも「5つの場面がある」という構造の方が強く働いた可能性があります。
不具合と断定できるのか
現時点では、不具合と断定するのは難しいです。
理由は、公式に同様の障害情報を確認できていないことです。
ただし、ユーザーの期待と実際の出力がずれているのは確かです。
少なくとも、次のような指示をしても期待通りに動かないケースがあります。
5枚生成してほしい
コラージュにしないでほしい
1枚にまとめないでほしい
そのため、ユーザー視点では「複数画像生成の挙動が分かりづらい」「出力制御が安定しない」と感じやすい状態だと思います。
今回の整理
今回の挙動は、次のように整理できます。
ユーザーの意図
↓
5枚の独立画像
実際の処理
↓
1回の画像生成
モデルの解釈
↓
5場面を含む1枚の画像
つまり、問題は単純にプロンプトが弱かったというより、画像生成の呼び出し単位と、プロンプト内の複数コンセプトの扱いが噛み合っていないことにありそうです。
まとめ
ChatGPT Images 2.0で「5枚の独立した画像」を依頼しても、1枚のコラージュ画像として出力されることがあります。
今回の調査では、明確な不具合情報は確認できませんでした。
一方で、実際の利用では複数回同じ挙動を確認しています。
現時点では、次のように考えるのが自然です。
- 1回の画像生成呼び出しとして処理されている可能性がある
- 複数コンセプトが複数場面として解釈されている可能性がある
- コラージュ禁止の指示だけでは十分に制御できないことがある
- 不具合と断定はできないが、ユーザー視点では不安定に見える
ChatGPT Images 2.0は便利な画像生成機能ですが、複数枚生成の制御については、まだ分かりづらい部分があります。
今後、公式情報や追加の事例が確認できた場合は、追記したいと思います。