電商圖的文字是可驗收項,不是風格項。品牌名少一個字母、售價少一位數,這張圖就不能上架,也沒有「大概對」的空間。
2026年11月11日,我用同一套提示詞把兩個圖像模型各跑三個高難度電商場景,全部英文文字、統一1024×1024、每場景每模型只產出一張、不重新抽卡。十四組指定文字逐字核對,結果與工程面差異整理如下。這是一份實測筆記,瑕疵照登。
| 項目 | 內容 |
|---|---|
| 測試日期 | 2026年11月11日 |
| 模型 | GPT Image 2(OpenAI Images協定)、Nano Banana Pro(Gemini原生協定) |
| 尺寸 | 1024×1024;GPT Image 2用quality=medium,Nano Banana Pro用1:1 |
| 抽卡次數 | 每場景每模型1次,不重複生成 |
| 場景 | 促銷主圖、包裝標籤、詳情頁資訊卡 |
兩家走不同協定,端點分別是/v1/images/generations與/v1beta/models/nano-banana-pro:generateContent。這次共用Crazyrouter的同一個入口與同一把金鑰,模型ID是gpt-image-2與nano-banana-pro,切換只改model參數:
https://api.crazyrouter.com/v1
模型ID與額度這種東西改得比文章快,所以我在跑之前先對過模型目錄:兩個目標ID都還在,同族另有gpt-image-2.5-flare、gpt-image-2.5-sunburst與nano-banana-2.1,要不要換成新版是另一個決定,但至少知道自己在調哪一個。
| 場景 | 指定文字組數 | GPT Image 2 | Nano Banana Pro |
|---|---|---|---|
| 促銷主圖 | 5 | 5/5 | 5/5 |
| 包裝標籤 | 3 | 3/3 | 3/3 |
| 詳情頁資訊卡 | 6 | 6/6 | 6/6 |
| 合計 | 14 | 14/14 | 14/14 |
兩家都沒有出現亂碼、錯字、漏字,也都沒有自行加入提示詞以外的文字。在文字這一項,兩個模型的差距是零。
需求是黑五促銷的耳機主圖:標題BLACK FRIDAY SALE、左側黃色徽章50% OFF、主價格$49.99、旁邊灰色刪除線$99.99、底部白色橫幅NOV 24 - NOV 30 ONLY。


兩張都過關,刪除線位置正確。GPT Image 2把標題拆成兩行,屬排版選擇;Nano Banana Pro的底部橫幅用灰字配白底,對比度偏低但仍可讀,若要走量這點要列進驗收清單。
標籤貼圖的風險不是錯字,而是模型覺得版面空、自己補一段裝飾性假字。這次提示詞末尾明確寫了範圍限制:
Front label design for a hot sauce bottle, photographed straight-on: a deep red label with a thin white border. Brand name 'FIRE DROP' in large bold white letters at the top of the label. Below it, the flavor name 'SMOKY CHIPOTLE' in smaller cream-colored letters. Near the bottom of the label, the text 'NET 250ml' in small print, and a small chili pepper illustration in the middle. The glass bottle stands on a wooden table with soft studio lighting and a warm blurred kitchen background. Only these words appear on the label.


FIRE DROP、SMOKY CHIPOTLE、NET 250ml三組全對,標籤上沒有多餘字。插畫語意上兩家分岔:GPT Image 2畫成寫實風乾辣椒,Nano Banana Pro畫成扁平卡通插畫,後者更貼近提示詞裡的illustration。
這關另有一個穩定性數據:Nano Banana Pro的首次請求在連線層中斷(IncompleteRead),重試一次成功。模型端沒有報錯,屬於傳輸層問題,處理方式見下面「失敗分類」。
六組文字、三種字級、圖文混排,最底部還有NET WT 300ml / SERVINGS: 2這種極小字級的規格行。提示詞的約束是:標題COLD BREW COFFEE、三行賣點分別為READY IN 30 SECONDS、ONLY 15 CALORIES、NO ADDED SUGAR、底部一行小字規格,並要求不得加入其他詞。


六組文字兩家全對,最小字級的規格行也正確,數字、冒號、斜線無誤。但兩張圖各有一個工程上必須處理的問題:
| 維度 | GPT Image 2 | Nano Banana Pro |
|---|---|---|
| 協定 | OpenAI Images | Gemini原生 |
| 尺寸控制 | size參數 |
aspectRatio比例 |
| 品質分級 | quality多檔 |
無分級 |
| 回傳格式 | PNG(本次1.0~1.4MB/張) | JPEG(本次0.4~0.6MB/張) |
| 參考圖 | 最多16張(各入口上限不一),支援遮罩局部編輯 | 最多14張,圖片置於parts隨請求送出 |
| 本次耗時 | 75.5~124.6秒 | 18.4~21.0秒 |
| 非同步 | 可用Prefer: respond-async |
可用:asyncGenerateContent |
回傳格式對管線的影響:PNG留得住透明背景與二次編輯空間,代價是體積約為JPEG的三倍;JPEG體積小、上傳快,但要疊圖或去背得先轉檔。批次產出上萬張時,這個差異會直接反映在儲存與CDN成本上,也會影響前端載入。
耗時對排程的影響:Nano Banana Pro的18~21秒與GPT Image 2的75~125秒,在單張場景看不出差別,在並行批次裡就是吞吐量與逾時設定的差別。若走同步呼叫,GPT Image 2的HTTP逾時不要沿用一般API的預設值,拉到180秒以上;否則你會收到一堆逾時錯誤,但圖片其實已經生成。
排程要抓數字的話,兩家的規格與計費可以放在同一頁比:Crazyrouter模型廣場就是我核對ID與額度的地方,省掉一次開兩個分頁對照的功夫。
這次實測只出現一次失敗,剛好可以用來把重試策略講清楚:
IncompleteRead、連線重置、逾時):圖片可能已經生成也可能沒有。直接重試,但要在資料庫記錄「同一請求的重試次數」,避免重複入庫。這次Nano Banana Pro就是這一類,重試一次即成功三類混在一起重試,是批次腳本最常見的浪費。這次總共只多花了一次請求,就是因為分得清楚。
要拿這些結果做採購或架構決策,建議用你自己的商品與文案重跑一輪,把上面補上。