|

gpt-image-2 生成電商套圖的 2 種方案:單圖多維度 vs 文本拆解 + 併發調用(附完整代碼)

最近有客戶在羣裏問了一個很典型的問題:「我們這種 images2,可以生成電商套圖吧?」答案是可以,但不是一次調用就吐出一整套圖。gpt-image-2 的接口是「一個提示詞對應一次生成」,想要主圖、賣點圖、場景圖、詳情頁這樣內容各不相同的一套圖,需要在調用方式上做一點設計。

本文把 gpt-image-2 電商套圖拆成兩條路線:一條是用一張圖承載多維度信息,適合詳情頁長圖;另一條是先用文本模型拆解需求、生成每張圖的提示詞,再併發調用 gpt-image-2,適合真正意義上的多圖套圖。讀完你會拿到完整的流程設計、可運行的代碼,以及保持整套圖風格統一的幾個關鍵技巧。

gpt-image-2-ecommerce-image-set-workflow-zh-hant-image-0


gpt-image-2 電商套圖的核心限制:一次調用只對應一個提示詞

先把接口行爲說清楚,後面的方案設計都建立在這個前提上。gpt-image-2 的 /v1/images/generations 和 /v1/images/edits 每次請求只接受一個 prompt。官方 gpt-image-2 和 2.5 系列都支持 n 參數,API易 也完整支持,但 n 的含義是「同一個提示詞生成 n 張變體」,而不是「n 個提示詞各出 1 張」。

所以 n=5 拿到的是同一畫面的 5 個版本,適合「多出幾張挑一張最好的」,不適合做套圖。電商套圖的本質是多張內容不同、風格統一的圖片:主圖要突出產品,賣點圖要配文案,場景圖要有使用環境,參數圖要有尺寸標註。每張圖的提示詞都不一樣,自然需要多次調用。

gpt-image-2 電商套圖的 3 個真正難點

想清楚限制之後,會發現套圖的難點其實不在「出多張」,而在下面三件事:

  1. 主體一致:5 張圖裏的產品必須是同一個產品,顏色、Logo、結構不能每張都變樣。
  2. 風格一致:色調、光線、背景質感、字體風格要像出自同一個設計師之手。
  3. 信息分工:每張圖承擔不同的營銷任務,不能 5 張都在講同一個賣點。

這三件事決定了套圖不能靠「把一句話丟給模型」解決,需要在調用之前先做規劃。下面這張表是常見電商平臺套圖的標準構成,可以作爲規劃的起點。

套圖位置 主要用途 推薦比例 信息密度 是否需要文字
主圖(首圖) 搜索結果點擊率 1:1 低,突出產品 可選,少量
白底圖 平臺規範、廣告投放 1:1 極低 不需要
賣點圖 傳達 2-3 個核心賣點 1:1 或 3:4 中 需要
場景圖 營造使用氛圍 1:1 或 4:5 中 可選
尺寸/參數圖 降低諮詢和退貨 1:1 高 需要
詳情頁長圖 完整講解產品 9:16 或更長 很高 需要

🎯 規劃建議:動手寫代碼前,先按上表確定你的平臺需要幾張圖、每張圖承擔什麼任務。我們建議在 API易 apiyi.com 上用 gpt-image-2 先手動跑 2-3 張單圖,確認產品還原度和文字渲染效果符合預期,再進入批量套圖流程。


方案一:gpt-image-2 單圖承載多維度信息(詳情頁長圖)

第一條路線是「一張圖講完一套話」。gpt-image-2 的中文文字渲染和版面理解能力很強,在一張豎版大圖裏分區排布主視覺、賣點、參數表是完全可行的。對於詳情頁長圖、賣點合集圖、信息圖這類需求,一次調用就能出一張信息量很大的成品。

這條路線最大的好處是天然沒有一致性問題。所有內容都在同一張圖裏由模型一次生成,色調和風格自然統一,也不需要額外的編排代碼。缺點是單圖篇幅有限,內容太多時文字會變小、變擠,而且沒法拆成獨立的主圖去投放。

gpt-image-2 詳情長圖的分區提示詞寫法

單圖多維度的關鍵在於分區描述。不要寫一大段混在一起的描述,而是按從上到下的版面順序,告訴模型每個區域放什麼。下面是一個保溫杯詳情長圖的提示詞結構示例:

豎版 9:16 電商詳情頁長圖,整體風格:簡約北歐風,米白色背景,柔和自然光。
【頂部區域】產品主視覺:一隻啞光墨綠色保溫杯斜 45 度放置,標題文字“24 小時長效保溫”。
【中部區域】三欄賣點,每欄一個線性圖標加短文案:“316 不鏽鋼內膽”“一鍵彈蓋單手開”“500ml 大容量”。
【底部區域】參數表格:容量 500ml、重量 320g、高度 22cm、材質 316 不鏽鋼。
所有文字使用清晰的無襯線中文字體,不要出現多餘文字。

尺寸方面,長圖建議用 9:16 豎版,比如 2K 檔的 1152x2048。如果需要更高清的最終素材,可以用 4K 檔的 2160x3840。

單圖方案只需 1 次調用,成本最低,風格天然統一;代價是信息容量有限,超過 5 個區塊文字就容易擁擠,也無法拆出來單獨作爲搜索主圖投放。它最適合家電、數碼配件、日用品這類參數型標品的詳情頁和賣點合集。

💡 實踐提示:分區超過 5 個時,文字渲染錯誤率會明顯上升。建議把長圖拆成 2-3 張「半屏圖」分別生成,再在詳情頁裏縱向拼接。這些半屏圖本身就是一組小套圖,也就自然過渡到了方案二。


方案二:文本模型拆解 + gpt-image-2 多次調用生成電商套圖

如果你要的是真正的多圖套圖(主圖、賣點圖、場景圖各自獨立),就需要一條小型流水線。思路是把「理解需求、規劃分鏡」交給文本模型,把「出圖」交給 gpt-image-2,兩者用結構化的 JSON 銜接。

gpt-image-2-ecommerce-image-set-workflow-zh-hant-image-1

完整流程分 4 步:

  1. 輸入:商家提供產品名稱、賣點、目標平臺,以及至少一張清晰的產品實拍圖。
  2. 需求分析:文本模型根據輸入,輸出一個 JSON 數組,每個元素是一張圖的分鏡,包括用途、提示詞、尺寸、文案。
  3. 併發出圖:程序遍歷分鏡數組,每條分鏡調用一次 gpt-image-2,帶上同一張產品參考圖。
  4. 彙總校驗:收集所有結果,失敗的單張單獨重試,最後按順序輸出整套圖。

文本模型怎麼選:gpt-image-2 套圖的「大腦」

需求分析這一步對文本模型的要求是:能理解電商營銷邏輯、能穩定輸出 JSON、能寫出畫面感強的提示詞。目前 API易 上的幾款最新模型都能勝任:

模型 定位 適合場景 選擇理由
gpt-6.1-sol 旗艦推薦 高客單價商品、複雜賣點提煉 營銷文案和分鏡規劃質量最好
claude-haiku-5-5 低價高速 批量 SKU、標準化品類 指令遵循穩定,JSON 輸出規整
gemini-3.8-flash 低價高速 大批量、多語言跨境商品 速度快、成本低,多語言文案自然

需求分析每套圖只調用一次,token 消耗很少,成本主要還是在出圖上。我們建議先用 gpt-6.1-sol 把提示詞模板調到滿意,批量跑量時再切換到 claude-haiku-5-5 或 gemini-3.8-flash 降本。三款模型在 API易 apiyi.com 上都走 OpenAI 兼容接口,切換時只需改 model 參數。

gpt-image-2 電商套圖的分鏡 JSON 設計

讓文本模型輸出固定結構的 JSON,是整條流水線穩定運行的關鍵。下面是推薦的字段設計:

字段 類型 說明 示例
scene string 套圖位置標識 main / white_bg / selling
purpose string 這張圖的營銷任務 突出產品外觀,提升點擊率
prompt string 給 gpt-image-2 的完整提示詞 啞光墨綠保溫杯置於木質桌面…
size string 輸出尺寸 2048x2048
text_overlay string 圖中需要渲染的文字 24 小時長效保溫

gpt-image-2 套圖極簡代碼

下面是最小可運行版本:先讓文本模型生成分鏡,再逐條調用 gpt-image-2 的 edits 接口(帶產品參考圖)。

import json, base64
from openai import OpenAI

client = OpenAI(api_key="YOUR_APIYI_KEY", base_url="https://api.apiyi.com/v1")

plan = client.chat.completions.create(
    model="gpt-6.1-sol",
    response_format={"type": "json_object"},
    messages=[{"role": "user", "content": "爲墨綠色 316 保溫杯規劃 5 張淘寶套圖,輸出 {\"shots\": [...]},"
               "每項含 scene/purpose/prompt/size/text_overlay,統一風格:北歐簡約、米白背景、柔和自然光"}],
)
shots = json.loads(plan.choices[0].message.content)["shots"]

for s in shots:
    img = client.images.edit(model="gpt-image-2", image=open("cup.png", "rb"),
                             prompt=s["prompt"], size=s["size"])
    open(f"{s['scene']}.png", "wb").write(base64.b64decode(img.data[0].b64_json))

這段代碼是串行執行的,5 張圖要依次等待,下一節會改成併發版本。

如何保持 gpt-image-2 電商套圖風格一致

多次調用最容易出的問題,就是 5 張圖看起來像 5 個不同店鋪的。下面幾個技巧組合使用,可以把一致性提升到可商用的水平:

  • 統一 style block:把色調、光線、背景、鏡頭語言寫成一段固定文字,拼接在每條分鏡提示詞的末尾。不要讓文本模型每次自由發揮風格描述。
  • 固定產品參考圖:每次調用都通過 edits 接口傳入同一張產品實拍圖,並在提示詞裏明確「保持參考圖中產品的顏色、Logo 和結構不變」。這是保證主體一致最有效的手段。
  • 固定參數:同一套圖使用相同的 quality 檔位,尺寸只在必要時變化(比如長圖用豎版)。
  • 用 n 參數做擇優:對主圖這種最關鍵的位置,可以設置 n=2 或 n=3 生成幾個變體,人工挑一張最好的。這正是 n 參數的正確用法。

🎯 一致性建議:style block 是整套圖的「品牌規範」,建議爲每個店鋪沉澱一份固定模板。通過 API易 apiyi.com 調用 gpt-image-2 時,可以把 style block 存在配置文件裏,所有 SKU 共用,換季時統一更新即可。


gpt-image-2 電商套圖併發調用:提速與放量策略

串行生成一套 5 張圖,等待時間是每張圖耗時的總和,圖片越多越慢。由於每張分鏡之間互不依賴,完全可以併發調用,讓整套圖的耗時接近「最慢那一張」的耗時。

API易 對 gpt-image-2 的調用沒有設置併發上限,500 RPM 以下可以直接使用,不需要額外申請。對絕大多數商家來說,即使同時跑幾十個 SKU 的套圖,也遠到不了這個量級。

gpt-image-2-ecommerce-image-set-workflow-zh-hant-image-2

gpt-image-2 套圖併發代碼

把上面的串行循環換成線程池,就能實現併發出圖,同時加入失敗重試,避免一張失敗導致整套重來:

from concurrent.futures import ThreadPoolExecutor

def gen_one(s, retries=2):
    for i in range(retries + 1):
        try:
            img = client.images.edit(model="gpt-image-2", image=open("cup.png", "rb"),
                                     prompt=s["prompt"] + STYLE_BLOCK, size=s["size"])
            return s["scene"], img.data[0].b64_json
        except Exception as e:
            if i == retries:
                return s["scene"], None

with ThreadPoolExecutor(max_workers=5) as pool:
    results = dict(pool.map(gen_one, shots))
failed = [k for k, v in results.items() if v is None]
查看完整版代碼(含 style block、多 SKU 批量、失敗補生成、結果落盤)
import json, base64, time
from pathlib import Path
from concurrent.futures import ThreadPoolExecutor
from openai import OpenAI

client = OpenAI(api_key="YOUR_APIYI_KEY", base_url="https://api.apiyi.com/v1")

STYLE_BLOCK = (
    "。整體風格:北歐簡約,米白色背景,柔和自然光,低飽和配色,"
    "保持參考圖中產品的顏色、Logo 和結構完全不變,文字使用清晰無襯線中文字體。"
)

PLAN_PROMPT = """你是資深電商視覺策劃。根據以下商品信息規劃一套 {count} 張的{platform}套圖。
商品信息:{product}
輸出 JSON:{{"shots": [{{"scene": "...", "purpose": "...", "prompt": "...",
"size": "2048x2048", "text_overlay": "..."}}]}}
要求:每張圖承擔不同營銷任務;prompt 只描述畫面內容,不要描述整體風格;
需要文字時把文字原文寫進 prompt 並用引號標出。"""


def plan_shots(product: str, platform: str = "淘寶", count: int = 5,
               model: str = "gpt-6.1-sol") -> list:
    """用文本模型拆解分鏡,批量時可換 claude-haiku-5-5 / gemini-3.8-flash"""
    resp = client.chat.completions.create(
        model=model,
        response_format={"type": "json_object"},
        messages=[{"role": "user", "content": PLAN_PROMPT.format(
            count=count, platform=platform, product=product)}],
    )
    return json.loads(resp.choices[0].message.content)["shots"]


def gen_one(shot: dict, ref_image: str, retries: int = 2):
    """單張出圖,失敗指數退避重試"""
    for attempt in range(retries + 1):
        try:
            with open(ref_image, "rb") as f:
                img = client.images.edit(
                    model="gpt-image-2",
                    image=f,
                    prompt=shot["prompt"] + STYLE_BLOCK,
                    size=shot.get("size", "2048x2048"),
                )
            return shot["scene"], img.data[0].b64_json
        except Exception as e:
            print(f"[{shot['scene']}] 第 {attempt + 1} 次失敗:{e}")
            time.sleep(2 ** attempt)
    return shot["scene"], None


def gen_image_set(sku: str, product: str, ref_image: str, workers: int = 5):
    shots = plan_shots(product)
    out_dir = Path("output") / sku
    out_dir.mkdir(parents=True, exist_ok=True)
    (out_dir / "plan.json").write_text(json.dumps(shots, ensure_ascii=False, indent=2))

    with ThreadPoolExecutor(max_workers=workers) as pool:
        results = dict(pool.map(lambda s: gen_one(s, ref_image), shots))

    # 失敗單張補生成一輪
    failed = [s for s in shots if results.get(s["scene"]) is None]
    for s in failed:
        results[s["scene"]] = gen_one(s, ref_image, retries=3)[1]

    for scene, b64 in results.items():
        if b64:
            (out_dir / f"{scene}.png").write_bytes(base64.b64decode(b64))
    print(f"{sku}: 成功 {sum(1 for v in results.values() if v)}/{len(shots)} 張")


if __name__ == "__main__":
    gen_image_set(
        sku="cup-green-500",
        product="墨綠色 316 不鏽鋼保溫杯,500ml,24 小時保溫,一鍵彈蓋",
        ref_image="cup.png",
    )

併發放量的 3 個階段

雖然沒有併發上限,我們仍然建議按階段放量,先驗證效果再擴大規模,避免一次性跑出幾百張不合格的圖:

  1. 小規模測試:選 1-3 個 SKU,串行或低併發跑通,人工檢查產品還原度、文字正確率和風格統一度。
  2. 中等併發:效果穩定後,開到每套圖 5 併發、同時 5-10 個 SKU,觀察失敗率和平均耗時。
  3. 批量放量:確認失敗率可控後,按業務量繼續提高併發,500 RPM 以內都可以直接跑。
調用方式 一套 5 張耗時 穩定性 適用階段
串行調用 約 5 倍單張耗時 最穩,便於調試 提示詞調試期
套內併發(5 線程) 約等於最慢單張 穩定 日常上新
多 SKU + 套內併發 與單套接近 需配合重試 大促批量上新

🚀 放量建議:對於大促前集中上新的場景,我們推薦通過 API易 apiyi.com 採用「多 SKU + 套內併發」模式。平臺 500 RPM 以下無需任何申請,配合失敗單張補生成機制,幾十個 SKU 的整套圖可以在很短時間內全部完成。


gpt-image-2 電商套圖方案怎麼選

兩種方案並不互斥,實際業務中經常組合使用。下面按常見平臺和場景給出推薦:

平臺/場景 推薦方案 建議張數 說明
淘寶/天貓主圖 方案二 5 張 主圖、白底、賣點、場景、參數各一張
淘寶/拼多多詳情頁 方案一 + 方案二 3-6 張半屏圖 分段生成後縱向拼接
亞馬遜 Listing 方案二 7 張 首圖白底嚴格合規,其餘做賣點和場景
獨立站商品頁 方案二 4-6 張 場景圖權重更高,突出品牌調性
小紅書種草 方案二 3-6 張 3:4 豎版,生活化場景爲主
活動海報/賣點合集 方案一 1 張 單圖信息集中,傳播效率高

選擇的核心原則很簡單:需要獨立投放、獨立展示的圖,用方案二;只在一個頁面裏連續閱讀的內容,用方案一。如果拿不準,就先用方案二出主圖和場景圖,再用方案一出一張賣點合集長圖,覆蓋面最廣。

💡 組合建議:兩種方案用的是同一個 gpt-image-2 模型、同一套 API Key。建議把兩套流程封裝成一個服務,按商品類型自動選擇方案,商家只需要上傳一張產品圖和幾行賣點文字即可。


常見問題

gpt-image-2 的 n 參數能直接生成電商套圖嗎?

不能。官方 gpt-image-2 和 2.5 系列都支持 n 參數,API易 也支持,但它是同一個提示詞生成 n 張變體。套圖的每張圖內容不同,需要不同的提示詞,所以要多次調用。n 更適合用在主圖這種關鍵位置做擇優。

生成的多張圖裏產品長得不一樣怎麼辦?

這是套圖最常見的問題。最有效的做法是每次調用都用 edits 接口傳入同一張產品實拍圖,並在提示詞裏寫明「保持參考圖中產品的顏色、Logo 和結構不變」。同時把風格描述固定成 style block,不要讓文本模型自由發揮。參考圖建議用背景乾淨、光線均勻的實拍圖,還原效果最好。

圖中的中文文字渲染錯誤怎麼處理?

gpt-image-2 的中文渲染能力已經很強,但文字越多出錯概率越高。建議每張圖的文字控制在 2-3 個短句以內,在提示詞中用引號標出文字原文。如果某張圖文字出錯,只重新生成這一張即可,不用整套重來。

文本拆解用哪個模型最划算?

調試提示詞模板時用 gpt-6.1-sol,規劃質量最好;模板穩定後批量跑量,可以切換到 claude-haiku-5-5 或 gemini-3.8-flash,成本更低、速度更快。這一步每套圖只調用一次,花費遠低於出圖本身。三款模型在 API易 apiyi.com 上用同一個 API Key 即可調用。

併發調用需要申請額度嗎?

不需要。API易 對 gpt-image-2 沒有設置併發上限,500 RPM 以下直接使用即可。建議先用 1-3 個 SKU 做小規模測試,確認效果後再逐步提高併發放量。


總結

gpt-image-2 生成電商套圖,關鍵在於理解它「一次調用對應一個提示詞」的接口特性。n 參數解決的是擇優問題,套圖需要的是多個不同提示詞的多次調用。在這個前提下,詳情頁、賣點合集這類連續閱讀的內容,可以用單圖多維度方案一次生成;主圖、場景圖這類需要獨立展示的套圖,用文本模型拆解 + 併發調用的流水線批量完成。

兩條路線的共同核心是一致性控制:固定的 style block 加上同一張產品參考圖,是讓多張圖看起來出自同一個設計團隊的關鍵。併發方面,500 RPM 以下可以直接放量,按「小規模測試 → 中等併發 → 批量放量」三步走最穩妥。

我們建議通過 API易 apiyi.com 一站式完成整條流水線:gpt-6.1-sol、claude-haiku-5-5、gemini-3.8-flash 負責需求拆解,gpt-image-2 負責出圖,一個 API Key 打通全部環節,可以快速搭建自己的電商套圖生成服務。


作者: APIYI Team | 專注 AI 大模型 API 技術分享,更多模型接入教程歡迎訪問 API易 apiyi.com

Similar Posts