非同步圖片任務:提交一次,安全輪詢
區分 api.maxapi.dev 的 HTTP 202 與 async.maxapi.dev 的 HTTP 200,了解任務狀態及避免重複提交的恢復方式。
技術核對日期:
哪個主機回傳 200 或 202?
POST /v1/images/generations 與 POST /v1/images/edits 使用 https://async.maxapi.dev 時,省略 async 即預設非同步;明確傳入 async: false 則使用同步。在 https://api.maxapi.dev 上請傳入 async: true 啟用非同步。這項主機預設不會啟用 Gemini 原生接口的非同步模式。
api.maxapi.dev 接受帶有 async: true 的圖片請求後回傳 HTTP 202。async.maxapi.dev 接受圖片請求後,以 HTTP 200 回傳任務 id 與 poll_url,並非已生成的圖片。請使用同一把 API 金鑰輪詢該 URL,直到 status 為 succeeded、failed 或 canceled。成功時讀取 data[].url,失敗時查看 error;不要僅憑 HTTP 200 判定生成成功。
支援的 Gemini 原生圖片請求 /v1beta/models/{model}:generateContent 必須明確傳入 X-MaxAPI-Async: true,即使使用 async.maxapi.dev 也一樣。請使用 generationConfig.responseModalities: ["IMAGE"],圖生圖時明確指定 imageConfig.aspectRatio。使用非同步無法保留的原生功能時,必須改用同步;不要同時設定非同步與 X-MaxAPI-Inline-Data: true。
指定非同步回應
MaxAPI JSON 圖片端點可透過 async true 取得任務受理結果,不必等待長時間的生成回應。在 api.maxapi.dev 成功提交非同步請求後會回傳 HTTP 202,以及 id、status、poll_url。請先將它們與自己的工作 ID 一起保存,再標示提交完成。不要從模型名稱或供應商任務 ID 猜測輪詢路徑,使用 MaxAPI 實際返回的網址。
{
"model": "google/gemini-3.1-flash-lite-image",
"prompt": "A blue ceramic cup on a cream background.",
"resolution": "1K", "aspect_ratio": "1:1", "n": 1, "async": true
}以任務狀態判斷結果
輪詢使用 GET 與同帳號認證。範例將 submitted、queued、pending、running、processing 視為未完成,succeeded 才是成功終態。即使查詢返回 HTTP 200,failed 或 canceled 也不是圖片生成成功。未知狀態應提示檢查,不能默認成功。結果可能包含圖片網址或 result_payload_url,不要假設每個回應都是 inline base64。
POST once → save id + poll_url
GET poll_url → queued/running → wait → GET again
→ succeeded → use result
→ failed/canceled → inspect, do not silently resubmit分別限制生成與輪詢
五秒輪詢間隔只是範例起點,不是服務 SLA 或帳號限制。應分別限制查詢次數、網路逾時與 worker 數。瀏覽器重新整理時應載入既有任務,而不是重新提交。大量任務同時執行時,分散查詢時間;GET 失敗後保留任務 ID,不要為了恢復查詢而建立另一個生成任務。
客戶端逾時不代表任務取消
關閉分頁、取消 fetch 或用完本地輪詢次數,只是客戶端停止等待,不能證明伺服器停止處理或沒有消耗積分。有任務 ID 時恢復查詢或查看 Console 紀錄;初次提交結果不明時,先核對紀錄與 request ID。不要自行假設存在冪等保證,應保存自己的提交狀態並防止並行重複 POST。
各模型參數
這是公開設定快照,不代表即時可用性。參數、支援路由與參考圖限制請查看各模型頁面。
- Gemini 3.1 Flash Lite Image
google/gemini-3.1-flash-lite-image - Gemini 3.1 Flash Image Preview
google/gemini-3.1-flash-image-preview - GPT Image 2
openai/gpt-image-2