簡短回答
用gpt-image-2,請求里加兩個欄位就行:
background: "transparent" 是 OpenAI 於 2026-08-21 為 GPT-Image-2 開放的能力(官方標註為 preview)。本站已實測可用,文生圖與圖片編輯均產出真 alpha 透明。哪些模型能出透明背景
三種呼叫方式
文生圖 /v1/images/generations
圖片編輯 /v1/images/edits
給一張普通照片,讓模型去掉背景:
mask)與透明背景可以同時用,互不衝突。
Responses 出圖工具
image_generation_call 裡會回顯 "background": "transparent"。
為什麼 jpeg 不行
JPEG 格式本身沒有 alpha 通道,裝不下透明資訊。傳 output_format: "jpeg" 加 background: "transparent" 會直接報 400:
png(無損,體積大)或 webp(有損可調,體積小,同樣支援 alpha)。webp 還能配合 output_compression 壓體積。
編輯介面是「重繪去背」,不是精確摳像
這一點要提前對齊預期:/v1/images/edits 傳 background: transparent 時,模型是理解畫面之後重新畫一遍主體,而不是像 Photoshop 那樣沿著原圖輪廓把主體切下來。所以:
- 主體的姿態、風格、細節會有變化,不是原影像素級保留
- 想盡量貼近原圖,用
quality: "high",並在提示詞裡明確「保持原有構圖 / 不要改變主體外觀」 - 如果業務要求畫素級還原,建議自己用
rembg、PIL、sharp這類工具做摳圖,模型出圖更適合”生成可複用素材”這類場景
計費
透明背景不額外收費。 相同畫質檔與尺寸下,background: "transparent" 與 background: "opaque" 消耗的 image token 完全一致,按 gpt-image-2 的正常按量計費規則走。
常見報錯
報 400:Transparent background is not supported for JPEG output format
報 400:Transparent background is not supported for JPEG output format
output_format 傳了 jpeg。改成 png 或 webp 即可。出圖確實是白底,不是透明的
出圖確實是白底,不是透明的
先確認三件事:一是
background 欄位真的傳上去了(編輯介面是 multipart/form-data,欄位要用 -F background=transparent 而不是塞進 JSON);二是響應頂層的 background 回顯是不是 transparent;三是你用的是不是 gpt-image-2 —— gpt-image-2-all 和 gpt-image-2-vip 沒有這個引數,傳了會被忽略。怎麼確認拿到的圖真的有 alpha 通道
怎麼確認拿到的圖真的有 alpha 通道
用 Python 一行就能驗:模式是
RGB 說明沒有 alpha 通道;RGBA 但 alpha 全是 255,說明有通道但沒鏤空。提示詞裡已經寫了 transparent background,為什麼還要傳引數
提示詞裡已經寫了 transparent background,為什麼還要傳引數
提示詞只是”請求模型這麼畫”,模型可能畫一個看起來像透明的灰白棋盤格,那仍然是不透明畫素。真正的 alpha 通道只有
background: "transparent" 引數能保證。相關文件
GPT-Image-2 概覽
完整引數、尺寸、畫質檔與錯誤碼
文生圖 API 參考
/v1/images/generations 全部欄位圖片編輯 API 參考
/v1/images/edits 與多圖融合蒙版局部重繪
用 alpha 蒙版標記要改的區域
官轉 vs 官逆對比
gpt-image-2 / -all / -vip 怎麼選白底圖出現髒塊怎麼辦
純白背景的另一類問題