dall-e-3、文字渲染能力更強的 gpt-image-1、最新一代的 gpt-image-2,以及透過同一介面接入的 nano-banana / nano-banana-2 / nano-banana-pro 系列模型。它們都能根據文本描述生成高品質的圖像。
本文檔主要介紹 OpenAI Images Generations API 操作的使用流程,利用它我們可以輕鬆使用 OpenAI 系列的圖像生成功能。
申請流程
要使用 OpenAI Images Generations API,首先可以到 OpenAI Images Generations API 頁面點擊「Acquire」按鈕,獲取請求所需要的憑證:
如果你尚未登入或註冊,會自動跳轉到登入頁面邀請您來註冊和登入,登入註冊之後會自動返回當前頁面。
在首次申請時會有免費額度贈送,可以免費使用該 API。
GPT-Image-2 模型
gpt-image-2 是 OpenAI 推出的新一代圖像生成模型,相較於 dall-e-3 和 gpt-image-1,在以下方面有明顯提升:
- 指令遵循能力更強:能夠準確理解複雜構圖、計數、位置關係等結構化指令。
- 文字渲染更清晰:海報、菜單、資訊圖、標誌等場景下的英文與數字幾乎不會出現錯亂。
- 風格表現更豐富:原生支援電影感人像、復古海報、兒童插畫、產品攝影、資訊圖等多種風格。
- 原生多比例 + 高解析度支援:覆蓋 5 種比例(1:1、4:3、3:4、16:9、9:16)共 3 檔解析度(1K / 2K / 4K)。
model 欄位設定為 gpt-image-2 即可。返回結果中的 url 是一個永久托管在 platform.cdn.xhuoapi.ai 上的圖片連結,可以直接在瀏覽器中開啟或嵌入到網頁中。
支援的 size 取值與計費檔位
gpt-image-2 只檢查 size 的格式,只要不是 auto 或空字串,就需要匹配 WIDTHxHEIGHT(例如 1024x1024、2048x1152、800x600);任何其他形態會返回 400。計費只分兩個檔位:
- 1K 標準價:輸入為下表中任一 1K 推薦尺寸,或為上游常見的 1K 輸出別名(
1254x1254、1672x941、941x1672——這些是上游在 1K 檔下實際返回的尺寸,收到後重新代入不會被跳價)。 - 其他檔位(1.5×):任何不在上述 1K 集合裡的尺寸,包括下表推薦的 2K / 4K 預設,以及你自訂傳入的任意
WIDTHxHEIGHT。
| 比例 | 1K(標準價) | 2K推薦(×1.5) | 4K推薦(×1.5) |
|---|---|---|---|
| 1:1 | 1024x1024 | 2048x2048 | 2880x2880 |
| 4:3 | 1536x1024 | 2048x1536 | 3264x2448 |
| 3:4 | 1024x1536 | 1536x2048 | 2448x3264 |
| 16:9 | 1792x1024 | 2048x1152 | 3840x2160 |
| 9:16 | 1024x1792 | 1152x2048 | 2160x3840 |
你也可以傳size: "auto"或者省略size欄位,此時由模型自行選擇預設尺寸,按 1K 標準價計費。 1K 檔下上游輸出不保證嚴格像素對齊 —— 你傳1024x1024可能拿到1254x1254,比例保持一致。如果你重新把它當作size傳進來,仍然按 1K 計費。 4K 單次呼叫通常需要 4–8 分鐘,建議配合後文的callback_url非同步回調使用。
關於下面透過幾個不同角度的真實範例來直觀感受n參數gpt-image-2目前不支援n > 1:該參數會被靜默忽略,無論傳n=1還是n=10,單次請求都只會返回 1 張圖,並且只按 1 張計費。如果你需要一次拿到多張候選圖,請自行併發發起多次請求(建議同時傳不同的prompt或不同的seed,否則得到的幾張圖可能高度相似)。該限制同樣適用於gpt-image-1/gpt-image-1.5,以及nano-banana/nano-banana-2/nano-banana-pro系列。dall-e-2是目前唯一原生支援n > 1的模型;dall-e-3僅支援n = 1。
gpt-image-2 的能力。
場景一:電影感人像
提示詞中可以使用電影術語(35mm 膠片、淺景深、霓虹光等)來精準控制氛圍與質感。 Python 範例呼叫程式碼:
場景二:復古旅行海報(帶文字渲染)
gpt-image-2 在排版與字體渲染方面表現穩定,非常適合用來生成海報、菜單、賀卡等帶文字的設計稿。
url 欄位對應的圖片如下:

AMALFI 與 ITALIA 1958 都被清晰、正確地渲染出來。
場景三:複雜構圖與計數
下面這個提示詞用來測試模型對「數量」和「位置」等結構化指令的遵循能力。
dall-e-3 時代很難穩定做到的。
場景四:插畫風格(橫屏)
透過指定藝術媒介與情緒關鍵詞,可以引導模型產出風格化的插畫。
非同步與回調
gpt-image-2 單次呼叫通常需要 60~90 秒,如果不希望保持長連線,可以使用本文後續介紹的 callback_url 非同步回調機制,呼叫流程與其他模型完全一致。
Nano Banana 系列模型
nano-banana 系列是基於 Gemini 的圖像生成模型,已透過同一個 /openai/images/generations 介面接入,無需切換 endpoint,只要把 model 改為下表中的任意一個即可。
| 模型 | 計費(Credits / 次) | 適用場景 |
|---|---|---|
nano-banana | 0.14 | 普通圖像生成,速度最快、成本最低 |
nano-banana-2 | 0.28 | 品質與細節明顯提升 |
nano-banana-pro | 0.35 | 系列中的旗艦,構圖、細節、文字均最佳 |
重要:參數支援範圍 Nano Banana 透過適配層接入 OpenAI 協議,與gpt-image-*相比僅支援以下參數:model、prompt、size。
size會按下表映射為內部aspect_ratio,未列出的尺寸會退化為1:1:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16- 不支援
n、quality、style、response_format、background、output_format等參數;填了也會被忽略。- 返回結構遵循 OpenAI 格式(
data[].url),但created固定為0,且不會返回b64_json,revised_prompt始終等於原始prompt。
基本呼叫
url 欄位訪問:

升級到旗艦模型 nano-banana-pro
只需把 model 改為 nano-banana-pro,其餘參數完全一致:

非同步回調
callback_url 非同步回調機制對 nano-banana 同樣有效,呼叫流程與其他模型完全一致,詳見下文 非同步回調 一節。
基本使用
接下來就可以在介面上填寫對應的內容,如圖所示:
authorization,直接在下拉列表裡面選擇即可。另一個參數是 model,model 就是我們選擇使用 OpenAI DALL-E 官網模型類別,這裡我們主要有 1 種模型,詳情可以看我們提供的模型。最後一個參數是 prompt,prompt 是我們輸入要生成圖像的提示詞。
同時您可以注意到右側有對應的呼叫程式碼生成,您可以複製程式碼直接執行,也可以直接點擊「Try」按鈕進行測試。

created,生成此次圖像生成的 ID,用於唯一標識此次任務。data,包含圖像生成的結果資訊。
data 是包含了模型生成圖片的具體資訊,它裡面的 url 是生成圖片的詳細連結,可以發現如圖所示。

圖片品質參數 quality
接下來將介紹如何設定圖像生成結果的一些詳細參數,其中圖片品質參數 quality 包含兩種,第一個 standard 表示生成標準的圖片,另一個 hd 表示建立的圖像具有更精細的細節和更大的一致性。
下面設定圖片品質參數為 standard ,具體設定如下圖:


standard 的生成圖片如下圖所示:

hd ,可以得到如下圖所示的圖片:

hd 比 standard 生成的圖片具有更精細的細節和更大的一致性。
圖片大小尺寸參數 size
我們還可以設定生成圖片的尺寸大小,我們可以進行下面的設定。
下面設定圖片的尺寸大小為 1024 * 1024 ,具體設定如下圖:


1024 * 1024 的生成圖片如下圖所示:

1792 * 1024 ,可以得到如下圖所示的圖片:
可以看到圖片的尺寸大小很明顯不一樣,另外還可以設定更多尺寸大小,詳情資訊參考我們官網文件。
圖片風格參數 style
圖片風格參數 style 包含兩個參數,第一種 vivid 表示生成的圖片是更加生動的,另一種 natural 表示生成的圖片更加自然一點。
下面設定圖片風格參數為 vivid ,具體設定如下圖:


vivid 的生成圖片如下圖所示:

natural ,可以得到如下圖所示的圖片:

vivid 比 natural 生成的圖片具有更加生動逼真。
圖片連結的格式參數 response_format
最後一個圖片連結的格式參數 response_format 也有兩種,第一種 b64_json 是對圖片連結進行 Base64 編碼,另一種 url 就是普通的圖片連結,可以直接查看圖片。
下面設定圖片連結的格式參數為 url ,具體設定如下圖:


url 的生成圖片的連結為 圖片 URL 這是可以直接訪問的,圖片內容如下圖所示:

b64_json ,可以得到結果 Base64 編碼後的圖片連結,具體結果如下圖所示:
非同步回調
由於 OpenAI Images Generations API 生成圖片的時間可能相對較長,如果 API 長時間無回應,HTTP 請求會一直保持連線,導致額外的系統資源消耗,所以本 API 也提供了非同步回調的支援。 整體流程是:用戶端發起請求的時候,額外指定一個callback_url 欄位,用戶端發起 API 請求之後,API 會立刻返回一個結果,包含一個 task_id 的欄位資訊,代表當前的任務 ID。當任務完成之後,生成圖片的結果會透過 POST JSON 的形式發送到用戶端指定的 callback_url,其中也包括了 task_id 欄位,這樣任務結果就可以透過 ID 關聯起來了。
下面我們透過範例來了解下具體怎麼操作。
首先,Webhook 回調是一個可以接收 HTTP 請求的服務,開發者應該替換為自己搭建的 HTTP 伺服器的 URL。此處為了方便演示,使用一個公開的 Webhook 範例網站 https://webhook.site/,打開該網站即可得到一個 Webhook URL,如圖所示:
將此 URL 複製下來,就可以作為 Webhook 來使用,此處的範例為 https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab。
接下來,我們可以設定欄位 callback_url 為上述 Webhook URL,同時填入相應的參數,如以下程式碼所示:
task_id 欄位,data 欄位包含了和同步呼叫一樣的圖片生成結果,透過 task_id 欄位即可實現任務的關聯。
錯誤處理
在呼叫 API 時,如果遇到錯誤,API 會返回相應的錯誤代碼和資訊。例如:400 token_mismatched:Bad request,可能由於缺少或無效參數。400 api_not_implemented:Bad request,可能由於缺少或無效參數。401 invalid_token:Unauthorized,無效或缺少授權令牌。429 too_many_requests:Too many requests,您已超過速率限制。500 api_error:Internal server error,伺服器內部錯誤。

