こんにちは。
GIFTechの伝統工芸×テクノロジープロジェクト –– GIFTech JAPAN NEXT CRAFTでアプリケーション開発を担当した@enumura1 です。
このアプリは伝統工芸職人さん向けの、プロダクトデザインAIアプリです。独自性の高い技術を用いた画像生成を強みとしています。今回は、NanoBananaを活用し、特に担当した画像編集機能についてご紹介します。
プロジェクトの詳細はこちら:
画像合成とインペインティング機能
実装した画像編集機能としては大きく2つあります。
どちらもユーザーがアプリ上で指定した青いマスク領域の画像内容を変換する機能です。
- 画像の合成機能 :リファレンス画像の特徴をプロンプトに基づき、対象画像に変更を反映
- インペインティング機能 :ユーザー入力のプロンプト内容を基に、マスク領域に変更を反映
それぞれフロントエンドから受け取るデータが異なります。以下は入力データの違いをまとめたものです。
画像の合成機能の場合
- マスク領域(青色で指定した範囲)を含む画像
- リファレンス画像(ユーザがアップロードした画像 or アプリ内組み込みの画像)
- ユーザー入力のプロンプト
インペインティング機能の場合
- マスク領域(青色で指定した範囲)を含む画像
- ユーザー入力のプロンプト
リファレンス画像の有無が両機能の違いです。この違いに応じてプロンプトで指示すべき内容も変わります。
画像生成APIコールまでの流れ
バックエンドはリクエストを受け取ると、次の流れでシステムプロンプトを構築します。
- 基本テンプレートの選択 :合成処理かインペインティング処理かに応じて、対応するテンプレートを選択
- ユーザ入力したプロンプトの統合 :ユーザーが入力したプロンプト内容を、選択済みテンプレートに統合
- NanoBananaへの送信 : 最終的なシステムプロンプトと画像データをAPIに送信
画像の生成精度の課題
初期の段階では期待どおりの画像が生成されず、次のような課題が発生していました。
- 合成後の色味や質感が不自然で違和感が生じる
- 参照画像の模様やスタイルが意図通り反映されない
- 生成画像のアスペクト比が崩れてしまう
特に、インペインティングに比べて合成機能の方が精度が不安定で、参照画像の質感や模様を自然に反映させる点が大きな課題でした。
次のような違和感のある合成結果が出てくるケースが多かった(半数以上)です。
プロンプト改善で行ったこと
NanoBanana(Gemini 2.5 Flash)のドキュメントを参考にもしつつ、以下の観点でプロンプトを改善しました。
1. 英語ベースでプロンプトを作成
- ドキュメントに合わせ、すべての指示文を英語で統一
2. 論理的なプロンプト構造の整理
- プロンプト内容の矛盾を排除
3. 明確な制約条件の付与
- 編集対象をマスク領域に限定し、「変更して良い箇所/変更してはいけない箇所」を明示することで、意図しないデザイン生成や色ズレが減少
4. 処理手順を段階的に文章化
- 「どこに、何を、どのように反映するか」を段階的な指示文へ置き換え、生成条件の解像度を向上
5. スタイル/表現ルールの明文化
- 東京銀器特有の技法(鍛金、浮き彫り、沈み彫り、彫金装飾)の装飾の特徴を言語化し、スタイルばらつきを抑制
6. 用語の定義
- "raised relief", "overlay", "recessed engraving" など、曖昧に解釈されやすい用語の意味を定義し意図しない解釈を防止
その他の改善ポイント
その他、生成結果の安定性や開発効率を向上させるための取り組みも行いました。
1. GPT-5 を活用したプロンプト改善サイクルの導入
プロンプトチューニングには GPT-5 を積極的に活用しました。
改善観点についてGPT-5と都度対話しながら修正を進めることで、試行錯誤のプロセスが効率化され短い時間で改善サイクルを回すことができたと思います。
2. 出力結果の安定化
生成画像のアスペクト比が一定にならない問題が発生していました。
これに関してはバックエンド側では生成済み画像に対してバリデーションを行い、条件を満たさない場合は指数バックオフ付きの自動リトライ処理を導入しました。
結果
これらの改善により、生成結果の精度は向上しました。
当初は、意図しない模様や不自然な質感が含まれる画像が半数以上を占めていましたが、
最終的には 体感でですが約70〜80%程度の確率で違和感のない仕上がりが得られる状態まで改善しました。
失敗した場合でも、2〜3回再生成すればほぼ期待値に近い結果が得られるようになりました。
また、画像アスペクト比が安定しない問題に対しては、
生成結果の検証と、条件を満たさない場合の 指数バックオフ付きリトライ処理を導入することで、UI が崩れることなく安定したサイズで生成できるようになりました。
なお、これら一連の改善作業は GPT-5 を併用することで効率化され、実質一晩程度で調整を終えることができました。
▼ 実際にその後の本番環境で生成された銀器画像はこちらです
▼ 職人がアプリで創作し、クラファン出品している全商品はこちらから
まとめ
本セクションでは、NanoBanana を活用した画像編集機能の実装について紹介しました。
GPT-5 を併用したことで、改善観点や参考情報をコンテキストとして渡しつつチューニングを進めることができ、短時間で効率よく進められました。
そして、ちょうど先週 Gemini 3.0 が発表されました。
今回のプロジェクトでは NanoBanana Pro をまだ試せていませんが、SNS で回ってくる画像を見る限り、性能は向上してそうな印象があります。
機会があればぜひ試してみたいところです。
かいたひと:@enumura1




