gpt-image-1、最新的 gpt-image-2,以及通過同一接口接入的 nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro 系列模型。
本文檔主要介紹 OpenAI Images Edits API 操作的使用流程,利用它我們可以輕鬆使用官方 OpenAI 圖像編輯功能。
申請流程
要使用 OpenAI Images Edits API,首先到 Ace Data Cloud 控制台 獲取您的 API Token,留作備用。
如果你尚未登錄或註冊,會自動跳轉到登錄頁面邀請你註冊和登錄,完成後會自動返回當前頁面。
一個 API Token 即可調用平台所有服務,無需為每個服務單獨申請。 首次申請會贈送免費額度,可免費體驗;額度不足時可在 控制台 充值通用餘額。
📘 完整文檔:OpenAI Images Edits API →
GPT-Image-2 模型
gpt-image-2 在圖像編輯場景下相比 gpt-image-1 有非常明顯的提升:
- 結構保持更穩定:換皮膚、換配色、換背景時幾乎不會破壞原圖的版式與構圖。
- 文字保留更準確:信息圖、海報、菜單等含文字的圖片在編輯後文字仍然清晰可讀。
- 支持 URL 直傳:除了傳統的
multipart/form-data文件上傳,gpt-image-2還額外支持以 JSON 方式傳入圖片 URL,無需先把圖片下載到本地,非常適合服務端流水線接入。 - 支持 base64 直傳:和官方一致,
image欄位也可以直接傳 base64(data:image/png;base64,...或裸 base64),本地圖片無需先上傳到圖床即可編輯。 - 支持高分辨率重繪:可以傳入一張 1K 原圖,通過
size參數請求 2K / 4K 輸出,模型會在編輯過程中同時完成放大。
线路变体(:official / :reverse)
gpt-image-2 默認走標準线路。通過模型名後綴可以顯式選擇线路:
gpt-image-2:official:官方通道,穩定合規。支持真實 2K / 4K 高分辨率,按每張圖片計費,單價為默認gpt-image-2的 2 倍。线路不可用時直接返回錯誤,不會自動降級。gpt-image-2:reverse:與默認gpt-image-2完全等價,性價比更高,價格不變。
支持的 size 取值
編輯接口對 size 的格式校驗與生成接口一致——gpt-image-2 只需要 size 為 auto、空,或者符合 WIDTHxHEIGHT 格式,任何其他形態會返回 400。所有尺寸(1K / 2K / 4K / 自定義)按單張統一扣費,與原圖分辨率和 size 請求值都無關。
尺寸限制:自定義尺寸須滿足寬高均為 16 的倍數、長邊 ≤ 3840、總像素數 ≤ 8,294,400,超出會返回 4xx。
例如:原圖是1024x1024,size傳2048x2048時,模型會按編輯指令重繪並輸出 2K 圖;size傳3840x2160時輸出 4K 橫屏圖。三者計費一致。 傳auto(或省略size)時,輸出會沿用參考圖的寬高比——上例中原圖是 1:1,就會得到 1:1 的結果,而不會被壓成別的畫幅。這一點與生成接口不同:生成接口沒有參考圖,auto是按提示詞語義挑畫幅的。想改變畫幅時再顯式指定size。
關於下面通過兩個不同方位的真實示例感受n參數gpt-image-2編輯接口支持n > 1:一次請求即可返回並按張計費對應數量的編輯結果(n取值 1–10)。同樣適用於gpt-image-1/gpt-image-1.5,以及nano-banana/nano-banana-2-lite/nano-banana-2/nano-banana-pro系列。注意response_format=b64_json僅支持n=1,n>1時請使用默認的 URL 返回。若其中部分圖片生成失敗,只會返回並計費成功的部分。
gpt-image-2 的編輯能力。
調用方式一:JSON + 圖片 URL(推薦)
直接以application/json 方式發送請求,image 欄位填入一張圖片的 URL,模型會去抓取該圖片並按 prompt 進行編輯。
例如,下面這張原圖是用 gpt-image-2 生成的科普圖鑑:


提示:image字段也支持傳入一個數組,例如"image": ["url1", "url2", "url3"],最多可同時傳入 16 張參考圖,讓模型綜合參考多張圖片進行編輯。
base64 直傳:image(及數組裡的每一項)除了 URL,也可以是 base64 ——data:image/png;base64,...或裸 base64 都行,適合本地圖片不想先上傳圖床的場景。例如:
調用方式二:JSON + 多張參考圖
gpt-image-2 支持同時參考多張圖片來生成最終結果,例如把多張產品照合成到一張禮物籃中:
場景示例:換風格 + 保持結構
下面是另一個例子,把一張木質書架替換為現代浮架,但嚴格保留每層書本的數量和排列。 原圖(用gpt-image-2 生成的木質書架):

task_id: e9544dba-727e-44a2-81e1-223d49869380):

調用方式三:multipart/form-data(兼容 OpenAI SDK)
如果你已經在使用官方 OpenAI Python SDK,原有的multipart/form-data 上傳方式同樣適用,只需把 model 改為 gpt-image-2:
OPENAI_BASE_URL 設為 https://api.acedata.cloud/openai,OPENAI_API_KEY 設為申請到的 token:
Nano Banana 系列模型
nano-banana 系列在編輯場景下同樣接入了 /openai/images/edits,把 model 改為下表中的任意一個即可。
重要:参数支持范围 Nano Banana 通过适配层接入 OpenAI 协议,仅支持以下参数:model、prompt、image、n。
image既可以通过multipart/form-data上传文件(本地文件会自动转为 base64 处理),也可以通过表单字段直接传图片 URL 字符串。- 不支持
mask、size、response_format等参数;填了也会被忽略。n > 1则受支持(1–10),会返回并按张计费对应数量的编辑结果。- 返回结构遵循 OpenAI 格式(
data[].url),但created固定为0,且不会返回b64_json,revised_prompt始终等于原始prompt。
通过表单 + 图片 URL 调用

通过表单 + 本地文件调用
异步回调
callback_url 异步回调机制对 nano-banana 同样有效,调用流程与其它模型完全一致,详见下文 异步回调 一节。
基本使用
接下来就可以使用代码进行调用,下方是通过CURL进行调用:authorization,直接在下拉列表里面选择即可。另一个参数是 model, model 就是我们选择使用 OpenAI 官网模型类别,这里我们主要有 1 种模型,详情可以看我们提供的模型。还有一个参数是prompt,prompt 是我们输入要生成图像的提示词。最后一个参数是image,这个参数需要编辑的图片路径,需要编辑的图片如下图所示:
提示:image[]可以重复出现多次以上传多张参考图,例如-F "image[]=@a.png" -F "image[]=@b.png",GPT Image 系列模型最多支持 16 张(每张不超过 50MB,格式为 png/webp/jpg)。超出数量会返回 400。

OPENAI_BASE_URL,可以设置为https://api.acedata.cloud/openai,还有一个使用凭证变量OPENAI_API_KEY,这个值是从authorization获取到的,在Mac OS可以通过以下命令设置环境变量:
gift-basket.png,具体的结果如下:

gpt-image-1 和 gpt-image-2 两种模型,其中 gpt-image-2 是当前推荐使用的模型,详见上文 GPT-Image-2 模型 一节。
异步回调
由于 OpenAI Images Edits 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:錯誤請求,可能是由於缺少或無效的參數。400 api_not_implemented:錯誤請求,可能是由於缺少或無效的參數。401 invalid_token:未授權,無效或缺少授權令牌。429 too_many_requests:請求過多,您已超過速率限制。500 api_error:內部伺服器錯誤,伺服器出現問題。

