はじめに
実写画像をアニメやカートゥーン調に変換する「Cartoonify(イラスト化)」機能を個人開発で実装する際、単一の画像生成モデルだけでは**「元の構図・ポージングの維持」と「イラスト特有のデフォルメ感(スタイルの一貫性)」**を両立させるのが難しいという課題に直面しました。
本記事では、このトレードオフを解消するために ChatGPT Image 2.5 と Nano Banana 2.1 を組み合わせ、「構造化キーワード+リファレンス画像(参考画像)」のハイブリッド方式で高精度なスタイル変換を実現した技術的アプローチとパラメータ調整の知見を共有します。
従来の単一モデルアプローチにおける課題
実写からカートゥーンへの変換(Image-to-Image)をプロダクション環境で扱う場合、主に以下の2つの問題が発生しがちです。
- 構図や特徴の崩壊: スタイル変換の強度(プロンプトの重み)を上げすぎると、元の人物の顔立ちやポージング、背景構造まで別物に変わってしまい、手指や小物の描画も破綻しやすくなります。
- 「単なるフィルター加工」化: 元画像(リファレンス画像)への拘束力を強めすぎると、実写の生々しい肌質やライティングがそのまま残り、カートゥーン特有の立体感やデフォルメ表現が出なくなります。
この課題を解決するため、セマンティック(意味的)な理解とプロンプト追従性に優れた ChatGPT Image 2.5 と、空間構造の保持および高速なスタイルトランスファーに強みを持つ Nano Banana 2.1 の役割を分担させるパイプラインを設計しました。
アーキテクチャと処理パイプライン
今回の実装では、ユーザーがアップロードした元画像(Reference Image)に対し、以下の2段階で制御を行っています。
[入力画像 (Reference Image)]
│
├──► 1. 特徴抽出 & 構造化キーワード生成 (ChatGPT Image 2.5)
│ └─ 被写体の属性、ライティング、構図アンカーの抽出
│
└──► 2. リファレンス制御 + スタイル合成 (Nano Banana 2.1)
└─ 空間構造を維持したままカートゥーン調へレンダリング
1. ChatGPT Image 2.5 によるセマンティック解析とキーワード補強
エンドユーザーが毎回細かいプロンプトを入力するのはUX上現実的ではありません。そこで、入力されたリファレンス画像から被写体の重要な特徴(髪型、服装、表情、カメラアングルなど)を失わないための「アンカーキーワード」を動的に抽出し、カートゥーン化に必要なスタイル記述子とマージします。
2. Nano Banana 2.1 によるリファレンスベースのレンダリング
生成フェーズでは、Nano Banana 2.1 に対して「元画像(空間・構図のリファレンス)」と「最適化されたキーワード群」を同時に渡します。ここで最も重要になるのが、リファレンス画像のウェイト(影響度)とスタイルキーワードのバランス調整です。
実際のパイプラインにおけるパラメータ構成のイメージは以下の通りです。
{
"pipeline_config": {
"base_model": "nano-banana-2.1",
"semantic_engine": "chatgpt-image-2.5",
"conditioning": {
"reference_image_weight": 0.72,
"structural_preservation": "high",
"style_guidance_scale": 8.5
},
"prompt_structure": {
"style_prefix": "3D stylized cartoon character, Pixar-inspired rendering, smooth subsurface scattering, expressive eyes",
"subject_anchors": "[Dynamic Keywords from Reference Image]",
"negative_constraints": "photorealistic skin pores, uncanny valley, distorted proportions, muddy textures"
}
}
}
パラメータ調整で得られた知見
検証を繰り返す中で、出力クオリティを左右したポイントをまとめます。
-
Reference Weight のスイートスポット (
0.68〜0.75): ウェイトが0.8を超えると実写の質感が強く残り、逆に0.55を下回ると誰だか分からない別人になります。検証の結果、0.72前後が「本人の面影やポーズ」をしっかり残しつつ、自然にカートゥーン化できる最適なバランスでした。 -
「不気味の谷」を防ぐネガティブ制約: 実写のイラスト化で最も不自然に見える原因は、デフォルメされた大きな目元と、リアルすぎる肌の質感(毛穴や生々しいシワ)が混在することです。そのため、ネガティブプロンプト側で
photorealistic skin poresやuncanny valleyを明示的に排除することで、イラストとしての完成度が大きく向上しました。 - 細部の破綻防止(キーワードによるロック): 眼鏡やアクセサリー、手のポーズなど、従来のI2I(Image-to-Image)で溶けやすかったディテールは、ChatGPT Image 2.5 側で抽出したセマンティックキーワードによって明示的にロックすることで、欠損を防いでいます。
実際の動作デモと検証環境
上記のハイブリッドパイプライン(ChatGPT Image 2.5 + Nano Banana 2.1)を実装したWebツールは、以下のページで実際に動かせる形で公開しています。
元の写真からどの程度ポージングや特徴が維持されるか、実際の挙動を確認したい方はテスト用のサンドボックスとして触ってみてください。
🔗 検証用デモページ: AI Cartoonify - VioEvo Effects
おわりに
単一モデルのパラメータ調整だけでは限界があるケースでも、複数のモデルそれぞれの得意領域(意味理解・プロンプト追従 vs 高速な構造維持レンダリング)を分担させることで、プロダクションレベルの安定性を引き出すことができました。
現在はさらに、入力画像の明暗差やブレ具合に応じてリファレンスウェイトを動的に変動させる仕組みについても検証を進めています。同じように画像生成AIのパイプライン設計やスタイル変換に取り組んでいる方の参考になれば幸いです。

