HiAPI
ブログ

使用ガイド

hiapi で seedream-5.0-lite/image-to-image を使ってEC商品画像を生成する

Jul 7, 2026
hiapi で seedream-5.0-lite/image-to-image を使ってEC商品画像を生成する

ネットショップの商品撮影は、単にきれいな画像を1枚生成するだけでは済まないことがほとんどです。同じ商品を何度も生成し直す必要があります。白背景の商品一覧画像、ライフスタイルシーン画像、サプライヤー変更後の金具やラベルの修正画像、そして商品ページ用の5色のカラーバリエーション画像などです。テキストから画像を生成するモデルはここではうまく機能しません。新しいプロンプトを出すたびに、少しずつ異なる商品が作り出されてしまうからです。

ここで活躍するのが seedream-5.0-lite/image-to-image です。これは ByteDance の命令ベースの画像編集モデルで、実際の商品写真(または最大14枚の参照画像)を渡し、編集内容を自然言語で記述すると、指示に従いながら編集していない領域の一貫性を保ちます。hiapi では、2K 解像度で1枚あたりわずか $0.035——商品一覧画像6枚のセットでも約 $0.21 です。

以下の内容はすべて、hiapi 上の実際の API 呼び出しによって生成されています。各セクションでは、実際の出力と正確なプロンプトを示しています。

ワークフロー:1つのアンカー、複数の編集

AI 商品画像を実運用可能にするパターンはアンカリング&編集です:

  1. アンカー——クリーンで標準的な商品画像を1枚用意します。実物を撮影するか、seedream-5.0-lite/text-to-image でコンセプト画像を1回生成します(こちらも $0.035)。
  2. 編集——そのアンカー画像を image-to-image に入力し、派生版をすべて生成します:背景の差し替え、細部の修正、カラーバリエーション。商品の同一性はプロンプトではなく参照ピクセルから来るため、どの画像も同じバッグになります。

以下が私たちのアンカー画像です——キャンバス製ウィークエンダーバッグで、t2i の兄弟モデルで1回生成し、以降のすべての編集の参照画像として使用します:

リクエスト構造

seedream-5.0-lite/image-to-image は hiapi の非同期タスクエンドポイントで動作します:POST /v1/tasks に送信し、タスク ID を完了までポーリングし、その後出力 URL をダウンロードします。入力フィールドは4つで、すべて必須です:

フィールド 型 説明
prompt string 編集指示
image_urls array 1〜14 個の公開アクセス可能な参照画像 URL
aspect_ratio enum 1:1、4:3、3:4、16:9、9:16、2:3、3:2、21:9
resolution enum 2K または 4K のみ——このモデルには 1K の設定はありません
curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream-5.0-lite/image-to-image",
    "input": {
      "prompt": "Replace the white studio background: place the bag on a weathered wooden bench in a sunlit modern loft. Keep the bag itself completely unchanged.",
      "image_urls": ["https://your-cdn.com/products/weekender-anchor.jpg"],
      "aspect_ratio": "3:2",
      "resolution": "2K"
    }
  }'

レスポンスには data.taskId が含まれます。GET /v1/tasks/{taskId} を status が success になるまでポーリングし、その後すぐに output[0].url をダウンロードしてください——出力リンクは期限切れになるため、ファイルを自分のストレージにコピーしてください。私たちの実行では、各編集は約60〜120秒で完了しました。

編集モード 1:背景の再配置(商品一覧 → ライフスタイル)

EC で最も頻度の高い編集:同じ商品で新しいシーン。プロンプトの重要なコツは、プロンプトの大部分を変更してはいけない内容の固定に使い、その後に新しい環境を記述することです:

このバーントオレンジのキャンバス製ウィークエンダーバッグを完全に変更しないでください——同じ形状、同じ色、同じハンドル、同じステッチ、ダークブラウンのレザー飾りと真鍮のジッパーを保ちます。白いスタジオ背景を置き換えます:バッグを日差しの差し込むモダンなロフトの風化した木製ベンチに置き、大きな窓から柔らかな朝の光が入り、背景にはぼやけた緑の植物、木製ベンチには自然な接地影、温かみのある雑誌風ライフスタイル写真のスタイルで。

アンカー画像と比較すると:飾り、クロスステッチのレザーパッチ、ジッパーの引き手、プロポーションがすべて引き継がれています。接地影は木の板の上に落ちています——この接地のディテールこそが、再配置を合成ではなく実写のように見せる要素です。

編集モード 2:正確な細部修正(金具の交換)

Seedream Lite の「精密編集」というラベルは、外科手術的な修正を意味します。サプライヤーが真鍮金具からマットブラック金具に変更したが、撮り直したくないとします。変更を1つだけ要求し、それ以外のすべてを凍結します:

このバーントオレンジのキャンバス製ウィークエンダーバッグを完全にそのままにしてください——同じ白背景、同じ構図、同じ光、同じキャンバスの質感とブラウンレザーの飾り。金属金具のみを変更します:すべての真鍮のジッパー、バックル、留め具をマットブラックの金属金具に置き換えてください。それ以外は何も変更しないでください。

ジッパー、D リング、ストラップのバックルがすべて黒に変わり、キャンバスの質感と構図は影響を受けていません。この種の編集をテキストから画像の生成でやり直すと、気づかないうちにバッグ全体が再設計されてしまいます。

編集モード 3:カラーバリエーション

商品ページでは、すべての色バリエーションを同じ方法で撮影する必要があります。デザイン、飾り、構図を固定しながら、アンカー画像の色を変更します:

このウィークエンダーバッグのデザインを完全に保ってください——同じ形状、同じブラウンレザーの飾りとハンドル、同じ真鍮金具、同じ白いスタジオ背景、同じ光と構図。キャンバス本体の色だけをバーントオレンジから深いフォレストグリーンに変更し、生地の質感とステッチを保ってください。

「ネイビー」、「チャコール」、「サンドベージュ」で繰り返せば、1回の撮影から5つの SKU のバリエーション画像を $0.175 で得られます——各バリエーションの構図は完全に同じで、これが商品ページのカラーセレクターを統一感のある見た目にする理由です。

Python で商品一覧画像のセットを一括生成する

本番環境では、編集を1つずつ送信することはありません。タスク API はきれいに並列化できます——すべての編集を一度に送信し、その後ポーリングします。以下は私たちが使用したパターンです(3つの編集が3分以内に同時に完了しました):

import json, time, requests, concurrent.futures

API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": "Bearer YOUR_HIAPI_KEY", "Content-Type": "application/json"}
ANCHOR = "https://your-cdn.com/products/weekender-anchor.jpg"

EDITS = [
    ("lifestyle", "3:2", "Keep this exact bag unchanged... place it on a weathered wooden bench in a sunlit loft..."),
    ("hardware-black", "1:1", "Change only the metal hardware to matte black. Do not alter anything else."),
    ("colorway-green", "1:1", "Change only the canvas body color to deep forest green, preserving texture and trim."),
]

def run_edit(name, aspect_ratio, prompt):
    task = requests.post(API, headers=HEADERS, json={
        "model": "seedream-5.0-lite/image-to-image",
        "input": {"prompt": prompt, "image_urls": [ANCHOR],
                  "aspect_ratio": aspect_ratio, "resolution": "2K"},
    }).json()
    task_id = task["data"]["taskId"]
    while True:
        d = requests.get(f"{API}/{task_id}", headers=HEADERS).json()["data"]
        if d["status"] == "success":
            img = requests.get(d["output"][0]["url"]).content   # expires — save it now
            open(f"{name}.jpg", "wb").write(img)
            return name, len(img)
        if d["status"] == "fail":
            raise RuntimeError(f"{name}: {d.get('error')}")
        time.sleep(5)

with concurrent.futures.ThreadPoolExecutor(max_workers=3) as ex:
    for name, size in ex.map(lambda e: run_edit(*e), EDITS):
        print(f"{name}: {size} bytes")

このコードを実行した後、実用的なアドバイスが3つあります:

  • image_urls は公開アクセス可能でなければなりません。 まずアンカー画像を CDN またはオブジェクトストレージにアップロードしてください。API はリクエストごとに最大14個の URL を検証します。
  • 出力はすぐに保存してください。 output[0].url は時間制限のあるリンクです。何よりも先に、バイトデータを自分のストレージバケットにコピーしてください。
  • 必要に応じて複数の参照画像を使用できます。 複数の参照画像(同じ商品の前/後/ディテール画像、または商品とスタイル参照画像)を渡すと、柄物の生地など扱いにくいアイテムに対してより多くの同一性のシグナルを提供できます。

コストと、このモデルを選ぶべき場合

2K 画像1枚あたり $0.035 で計算すると、現実的な SKU あたりの画像セット——アンカー画像1枚、ライフスタイル再配置画像1枚、細部修正画像1枚、カラーバリエーション3枚——の計6枚で $0.21 です。各ティアの最新価格は hiapi の価格ページ をご覧ください。

エディターを選ぶ場合:私たちの3モデルの image-to-image 比較では同じ編集を主要な競合で実行しており、Nano-Banana EC ガイドでは別のアンカリング&再配置の技術スタックを紹介しています。このワークフローにおける Seedream 5.0 Lite の強みは、指示追従の精度、14スロットの複数参照画像入力、そして SKU ごとのバッチ処理をわずかなコストにする統一された低価格です。

はじめに

API キーを取得し、クリーンな商品画像をアップロードし、seedream-5.0-lite/image-to-image に上記のライフスタイル再配置プロンプトを実行してください——数分で最初の派生画像セットが得られます。タスクエンドポイントの完全なリファレンスは hiapi ドキュメント をご覧ください。

永続的なAIアーティファクトで開発を始める

APIキーを取得して、タスクベースの1つのAPIで画像・動画・音声モデルを呼び出せます。

APIドキュメントを読む