使用ガイド
gpt-image-2-image-to-image を活用したEC商品画像:開発者向けワークフローガイド
商品画像を再生成ではなく編集する理由
商品撮影のやり直しはコストが高く、偽造のリスクも大きい。実際のSKUのクリーンなオリジナル写真がすでにある場合、画像編集による画像生成(image-to-image)はほぼ常により安全な選択肢だ。モデルは実際の形状、実際の色、実際の素材感から出発し、あなたが変えてほしいと指示した部分だけを変更する。
使える写真が存在しない場合(コンセプトモックアップ、量産前のパッケージ、プレースホルダー画像)や、ソース画像にアンカーできない全く新しい構図が必要な場合は、完全生成のほうが適している。しかし商品カタログの作業では、生成の失敗モードは見えにくい。モデルはあなたの商品のもっともらしい変種を勝手に考案してしまうのだ。わずかに違うジッパーの引き手、異なるラベルの字間、ブランドの色調から外れた青。こうした欠陥は大規模になると発見が難しく、公開後の修正は高くつく。
編集には忠実度の基準点が残る。実務では、この役割分担はおおむね次のようになる:
- 編集:新しい背景、ライフスタイルシーン、季節のシーン、トリミングの修正が必要で、商品自体はバイト単位で信頼できる状態を保たなければならない場合。
- 生成:構図の自由度が必要で、権威あるソース画像が存在しない場合。
- ハイブリッド:まずシーンを生成し、その生成シーンを参照として使いつつ、1回の編集で本物の商品を合成する場合。
このガイドの残りの部分は編集の道筋を前提とする。なぜならECの業務量の大半はここに集まるからだ。安定したSKUカタログがあり、商品自体を変えずに多数のビジュアルバリエーションが必要、という状況である。

HiAPI 経由で gpt-image-2-image-to-image を呼び出す
すべての呼び出しはHiAPIの統一APIインターフェースを経由するため、一度認証するだけで、異なるモデル間でも同じリクエスト構造を維持できる。画像編集モデルはソース画像とテキスト指示を受け取り、あなた自身で永続化する編集済み画像を返す。
リクエスト構造
最小限のフローは3つの部分からなる:認証、プロンプトを伴うソース画像の送信、レスポンスの処理。
curl -X POST https://api.hiapi.ai/v1/images/edits \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-F "model=gpt-image-2-image-to-image" \
-F "image=@./sku-1042-front.jpg" \
-F "prompt=Replace the background with a soft neutral studio gradient, keep the product unchanged" \
-F "size=1024x1024"
レスポンスには編集済み画像が含まれ、その形式は要求したレスポンス形式に応じてインラインデータかURLのいずれかになる。バイト列はすぐに自前のオブジェクトストレージへ保存すること——APIは一時的な経路、自分のバケットこそが真実の記録場所とみなす。プロンプト、ソース画像のハッシュ、モデル識別子を出力と一緒に永続保存すれば、どの資産も後から再現できる。
実践的な統合上の注意点
- 手持ちで最高品質のソース画像を送る。 縮小したサムネイルは、編集結果を信頼できるものにするテクスチャの細部を失わせる。
- プロンプトは平叙文で保つ。 Photoshopの操作手順の羅列ではなく、目標状態を記述する。
- モデル名は設定に固定する。各呼び出し箇所に散らばせない。こうすればバリエーションを切り替えるときにコードベース全体を検索せずに済む。
- リクエストIDを記録する。 出力に問題があるように見えたとき、リクエストIDがあれば再実行結果と比較できる。
- タイムアウトは余裕を持たせつつ上限を設ける。 画像編集はチャット補完より遅い。クライアントのタイムアウトをp95より上に設定し、それを超えたら早く失敗させる。
シンプルな流れ:あなたのサービスがソース資産を読み取り、画像とプロンプトを添えてHiAPIを呼び出し、編集済み画像を受け取ってストレージに書き込み、検証キューに入れる。検証は非同期で行い、遅いレビュアーがバッチ処理をブロックしないようにする。

商品を損なわない背景置換
最も一般的な編集であり、最も間違えやすい:背景を置き換えるとき、モデルがついでに商品を「改善」しようと決めてしまう。解決策はプロンプトの規律と明示的な不変条件である。
効果のあるプロンプト構造
3つの節で書く:何が変わるか、何が絶対に変わってはならないか、どう見えるべきか。
Replace the background with [target scene].
Keep the product's shape, color, texture, logos, and label text exactly as in the source.
Lighting: soft diffused key from the upper left, gentle contact shadow beneath the product.
2番目の節が最も重要だ。保持したい具体的な属性——輪郭、素材の仕上げ、印刷文字——を名指しすることで、パッケージや衣類のドリフトを大幅に減らせる。
パラメータ戦略
- 店舗テンプレートが別途要求しない限り、ソース画像のアスペクト比に合わせる。モデル内部での再スケーリングは忠実度を無駄にする。
- APIが強度や類似度の制御を提供する場合、メイン画像は控えめな編集を保ち、細部が目立たない二次的なサムネイルでは緩めてもよい。
- 1回の呼び出しで変更は1つだけ。同じプロンプトで背景置換と色補正を同時に行うと、たいていは両方とも中途半端になる。
硬質でエッジの立つ商品に適したシーン
透明ガラス、マットな黒いプラスチック、金属の仕上げは、背後に置いたものから反射を拾う。複雑な屋内シーンを試す前に、制御された環境——シームレスなスタジオのグラデーション、無地の皺紙の表面——をプロンプトに指定する。ボトルや缶の商品には、接地影を明示的に要求する。宙に浮いた商品は、AIで編集したカタログ画像で最もよく見られる破綻だ。
簡単な確認ルール
理想の出力を3文で説明できないなら、プロンプトはまだ準備できていない。まず文言を反復し、それから呼び出しにコストをかける。
参照画像を使ってライフスタイルシーンを生成する
ライフスタイル画像は状況を売る:キッチンカウンターの上の商品、ジムバッグの中の商品、机の上の商品。ここでは商品は認識可能なままでなければならず、周囲の世界は架空である。これは背景置換より難しい。
デュアル入力モード
信頼できるパターンは2枚の画像を使う:商品ソース画像(権威ある形状)とシーン参照画像(構図、配色、光の方向)。そしてプロンプトで商品がそのシーンにどう置かれるかを記述する。
- 商品画像を被写体のアンカーとして使う。
- シーン参照画像は雰囲気とフレーミングのために使い、そこに写る物体のためには使わない——さもないとモデルがブランドと衝突する小道具を持ち込む可能性がある。
- 物理的な関係を明示する:「カウンターの上、中央よりやや右、アイレベル視点」。
プロンプトの骨組み
Place the product from image 1 into the scene from image 2.
Preserve the product's proportions, label, and color exactly.
Match the scene's lighting direction and color temperature.
Add a natural contact shadow where the product meets the surface.
注意すべき点
比率と遠近感が2つの失敗ポイントだ。カウンターの上で腰ほどの高さに見えるコーヒーカップ、あるいは矛盾した角度から撮影されたスマートフォンは、たちまち幻覚を打ち破る。シーンに既知の物体がある場合は、カメラの高さと相対的なサイズの手がかりを明示する(「隣のカップとほぼ同じ高さ」)。
また、反射が許容できるかを早い段階で決める。光沢のある表面では、モデルがラベル文字を鏡像化する可能性があり、鏡像化された文字はどんな注意深い顧客にとってもブランドの損傷に見える。反射がリスクなら、マットまたは布地の表面をプロンプトに指定する。
各商品について2〜3の候補を生成し、レビューに回す——ライフスタイル出力はスタジオ置換よりも変動が大きい。比率の誤りは、今四半期に書けるどんな自動チェックよりも早く人間の目が見つける。

カタログ全体での複数参照による一貫性
ある製品ラインは、同じフォトグラファーが撮ったように見えるべきだ。一貫性はモデルの機能ではない。モデルの周りにあなたが築く資産管理の規律である。
シリーズごとに参照セットを確立する
シリーズごとに小さな入力セットを固定する:
- 各SKUの商品ソース画像を同じ仕様で撮影する(同じ角度、同じトリミング比率、同じ照明)。
- シリーズ全体で共有するシーン参照画像を1〜2枚——同じキッチン、同じスタジオの一角。
- 商品名と配置位置のスロットを備えたプロンプトテンプレート。これにより文言がSKU間でぶれない。
このセットを生成設定と一緒にバージョン管理下に置く。キャンペーンが終わったら、プロンプトをその場で編集するのではなくセットのバージョンを上げる。そうすれば前シーズンの資産は再現可能なまま保たれる。
スロット付きテンプレート
Background: {SCENE_REF}.
Subject: product from {PRODUCT_IMAGE}, unchanged in shape, color, and label.
Framing: product occupies {FILL}% of frame width, centered horizontally.
Lighting: match {SCENE_REF} direction and temperature.
シリーズ全体で{FILL}を一貫して埋めることが、どんなプロンプトの形容詞よりも視覚的な連続性に寄与する。被写体の比率が揃っていれば、カタログのグリッドも揃って見える。
参照画像の衛生管理
- 参照画像の解像度を揃えて保つ。異なるソースを混ぜると、モデルの見かけのフレーミングが変わる。
- 競合商品を含む参照画像は絶対に再利用しない。ぼかし処理済みであってもだ。
- シーン参照画像は季節ごとに更新するが、まとめて行う——カタログの半分を新しいセットにすると、カタログ全体を古いセットのままにするより見劣りする。
作業順序
まず代表SKUを1つ生成し、参照セットと照らしてレビューし、それから残りをバッチ処理する。代表SKUがぶれるならテンプレートが間違っており、先にバッチ処理すると欠陥がカタログ全体に増幅される。
出力が店頭に届く前の検証
自動検証は退屈な失敗を安く捕まえ、人間のレビューは気まずい失敗を捕まえる。両方をこの順序で導入する。
自動ゲート
- サイズとアスペクト比は店舗テンプレートに一致しなければならない。誤ったトリミングは入口で静かに拒否する。
- フォーマットとカラープロファイルは書き込み時に正規化し、下流のCDNが予期せぬ事態に遭遇しないようにする。
- ソースから出力への差分ヒューリスティック。 背景置換タスクでは、ソースと出力の商品領域を比較する(マスククロップでの知覚ハッシュやSSIM)。大きな差分はモデルが商品を変えたことを意味する——フラグを立てる。
- 文字領域チェック。 商品に印刷ラベルがある場合は、ラベル領域をクロップして期待される文字列に対してOCRを実行する。これは典型的な「もっともらしいが誤った」文字の失敗を捕まえる。
- 空白およびほぼ空白の検出に加え、一時的なエラーで生じた空のレスポンスを捕まえるためのファイルサイズ下限。
人間によるレビューのルーティング
一律ではなくリスクに応じてルーティングする。新規SKU、ライフスタイルシーン、自動差分がしきい値を超えた資産はレビューキューに入る。製品に精通した担当者が確立済みテンプレートで繰り返し実行するものは自動承認できる。レビュー画面はシンプルに保つ:ソース画像、出力画像、プロンプト、不合格となったチェックを並べて表示する。
保存の判断
承認状態とレビュアーのメモを各資産と一緒に記録する。顧客からの苦情やブランド監査が来たとき、「誰が、どのプロンプトに基づいて承認したか」を考古学なしに答えられる必要がある。
asset_id, sku, model, prompt_hash, source_hash,
checks_passed, checks_failed, review_status, reviewer
この行はどんな1枚の画像よりも価値がある。規模が拡大しても、パイプラインを監査可能にしてくれる。
コスト、レイテンシ、リトライ戦略
画像編集は生成された画像に対して課金されるため、無駄な呼び出しはすべて実コストになる。規律は明快だ:呼び出し量を減らし、リトライを制限し、同じ誤りに二度支払わない。
よく考えてバッチ処理する
- 1つのジョブで共有プロンプトテンプレートを使いシリーズを処理する。UIから気まぐれに単発呼び出ししない。
- 並列性はレイテンシを制御するてこのひとつ。レート制限以下に保てば、スロットリングエラーなしでスループットを得られる。スロットリングエラーは最も高くつく種類のリトライだ。
- ステージングバケットに生成する。検証済みでないものは一切店頭に届かないので、不良バッチが本番ページに触れることはない。
リトライのルール
- 一時的な失敗のみをリトライする:ネットワークエラー、タイムアウト、レート制限。
- 各項目のリトライ回数は小さな固定値に制限し、指数バックオフとジッターを使う。
- 検証の失敗を自動リトライしてはならない。誤ったラベルは3回目の試行で自然に直ることはない。プロンプトの修正と人間の判断が必要だ。
- バッチ内で同一の失敗が繰り返し発生する場合はテンプレートの誤りとみなす——ジョブを停止し、全SKUをむなしく処理し続けない。
低コストでプロンプトを反復する
プロンプトの調整は予算が静かに漏れ出す場所だ。代表的なSKUをカナリアとして保持する:テンプレートを調整し、カナリアを実行し、チェックし、それからテンプレートを全バッチに展開する。カナリア10回の呼び出しは投機的な300回の呼び出しに勝る。
コストを測定する
各資産の呼び出し回数と結果を記録し、受理された資産と呼び出しの比率を監視する。比率が上がればテンプレートのドリフト、下がればモデルかプロンプトの回帰だ。いずれの場合もダッシュボードが請求書より先に教えてくれる。
レイテンシの見込み
パイプラインは非同期ジョブを中心に計画する。キューとワーカープールを組み合わせれば、リクエストのタイムアウトを短く保て、ユーザー向けの応答時間に影響を与えず、失敗したサブセットだけをシリーズ全体を再処理することなく再実行できる。
1つのSKU、1つの固定テンプレート、そして自動チェックを導入した状態から始め、受理比率が安定してからバッチを拡大する。