GPT Image 2 與 Gemini 圖片生成 API
透過 OpenAI 相容 Images API 使用 GPT Image 2,或透過 Gemini 原生 API 使用 Nano Banana Pro 與 Nano Banana 2。
本頁將兩套彼此獨立的圖片生成 API 協議放在同一處。它們共用 Modelflare API Key 與 Credits,但請求和回應格式不能混用。
- gpt-image-2 使用 OpenAI 相容的 /v1/images/generations 與 /v1/images/edits 協議。
- gemini-3-pro-image 與 gemini-3.1-flash-image 使用 Gemini 原生 generateContent 協議。
複製範例前請先選擇模型系列。不要把 Gemini 欄位送到 GPT 端點,也不要把 GPT Images 欄位送到 Gemini 端點。
1. GPT Image 2 — OpenAI 相容 Images API
透過 OpenAI 相容 Images API 使用 gpt-image-2 生成 PNG,或依據公開 URL、本機上傳的參考圖進行編輯。每個請求回傳一張圖片,支援中等或高畫質、短期簽名 URL 或 base64,以及可選 SSE。
選擇入口與模式
- 可能耗時數分鐘的同步 JSON 請求使用 https://origin.modelflare.dev/v1。
- 經 Cloudflare 的長請求使用 https://modelflare.dev/v1 並設定 stream=true;最終圖片完成前會持續傳送 SSE 心跳。
- 不要在請求進行中跨網域重新導向 POST;提交前先選定 Base URL。
同步請求
curl https://origin.modelflare.dev/v1/images/generations \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-image-2","prompt":"黎明時寧靜的湖畔木屋,電影感自然光","n":1,"quality":"medium","size":"1024x1024","response_format":"url","output_format":"png"}'
URL 回應包含一小時後到期的 Modelflare 私有簽名連結。將 response_format 設為 b64_json,可直接取得驗證後的 PNG 而不儲存 API 輸出物件。
即時模型與價格頁面會列出常用尺寸的 medium 與 high 價格點;實際扣費依請求的畫質與尺寸計算,不疊加一般路由群組倍率,最終費用會記錄於用量日誌。
編輯參考圖
向 POST /v1/images/edits 傳入一個或多個可公開存取的 HTTP(S) 圖片 URL。images 陣列的每一項只能包含一個 image_url:
curl https://origin.modelflare.dev/v1/images/edits \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-image-2","prompt":"把背景改成乾淨的白色攝影棚","images":[{"image_url":"https://example.com/input.png"}],"size":"2048x2048","response_format":"url"}'
也可以透過 multipart/form-data 上傳一個本機 PNG、JPEG 或 WebP 檔案:
curl https://origin.modelflare.dev/v1/images/edits \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-F "model=gpt-image-2" \
-F "prompt=把背景改成乾淨的白色攝影棚" \
-F "image=@/path/to/input.png" \
-F "size=2048x2048" \
-F "response_format=url"
multipart 請求必須且只能包含一個圖片檔案,總請求體不得超過 20 MiB。參考圖 URL 或上傳檔案會傳送給選定的上游服務商;URL 須在上游讀取期間保持可存取。Modelflare 不會把任一種參考圖輸入保存為 API 輸出資產。
串流請求
curl -N https://modelflare.dev/v1/images/generations \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-image-2","prompt":"一隻白貓在雨中的霓虹街道奔跑","n":1,"quality":"high","size":"1024x1024","response_format":"url","stream":true}'
SSE 註解只是心跳。收到 image_generation.completed 與 data: [DONE] 後結束。
支援欄位為 model、prompt、n=1、quality=medium|high、合法 WIDTHxHEIGHT、response_format=url|b64_json、output_format=png 與可選 stream。/v1/images/edits 接受非空的 images 陣列(每項含一個公開 HTTP(S) image_url),或 multipart image 欄位中的一個有效 PNG、JPEG 或 WebP 檔案。圖片生成仍拒絕參考圖;多個上傳檔案、data/base64 輸入、mask、input_fidelity、變體、局部圖及未知欄位會被拒絕。失敗請求的預扣 Credits 會透過依 Request ID 冪等的退款路徑返還。
請使用一般 API Key。綁定特定渠道的 Key 會被拒絕;啟用模型限制的 Key 必須包含 gpt-image-2。
2. Gemini 圖片 — Gemini 原生 API
透過 Gemini 原生請求與回應格式使用 Nano Banana Pro 或 Nano Banana 2。這兩個模型不使用 /v1/images/generations。
端點與長請求模式
- 同步:POST https://modelflare.dev/v1beta/models/{model}:generateContent。
- 圖片生成建議:POST https://modelflare.dev/v1beta/models/{model}:streamGenerateContent?alt=sse。
- origin.modelflare.dev 不開放 /v1beta。Gemini 原生請求請使用主網域,長時間生成優先使用串流端點。
串流請求
以下範例使用 Nano Banana 2。將 URL 中的模型替換為 gemini-3-pro-image 即可使用 Nano Banana Pro。
curl -N "https://modelflare.dev/v1beta/models/gemini-3.1-flash-image:streamGenerateContent?alt=sse" \
-H "x-goog-api-key: YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"role": "user",
"parts": [{"text": "Create a clean blue circle centered on a white background. No text."}]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}
}
}'
回應格式
每個 SSE data: 事件都是 Gemini 原生 JSON。最終圖片的 base64 位於 candidates[].content.parts[].inlineData.data,MIME 類型位於 inlineData.mimeType;同一回應也可能包含文字 part。最終 candidate 回傳 finishReason=STOP 或連線關閉後結束;這裡不會出現 GPT 的 image_generation.completed 事件。
模型、解析度與預估價格
| 模型 | 解析度 | 預估每張價格 |
|---|---|---|
| Nano Banana Pro | 1K / 2K | US$0.06720 |
| Nano Banana Pro | 4K | US$0.12000 |
| Nano Banana 2 | 0.5K | US$0.02241 |
| Nano Banana 2 | 1K | US$0.03360 |
| Nano Banana 2 | 2K | US$0.05040 |
| Nano Banana 2 | 4K | US$0.07560 |
imageSize 中的 K 必須大寫。以上為單張圖片預估價格;最終費用可能隨請求內容略有變化,並會記錄於用量日誌。
透過 x-goog-api-key 傳入一般 Modelflare API Key。Key 必須能使用 gemini-image 群組;啟用模型限制時也必須包含所選 Gemini 圖片模型。