Claude Opus 5.5 已在 SeedRouter 上線

Midjourney V8.2 API:提交影像任務並輪詢結果

提交 Midjourney V8.2 影像任務、儲存任務 ID,並以 Python 輪詢結果。了解版本參數、影像操作與即時計費方式。

以 Markdown 閱讀

串接 Midjourney V8.2 API,需要明確的版本、有效的影像請求,以及取得已完成任務的方法。透過 SeedRouter,請向 /v1/images/generations 提交請求,保留傳回的任務 ID,再輪詢 /v1/tasks/{id}。提交成功只代表任務已受理;影像會在完成結果中提供。

本指南依照 SeedRouter 請求契約撰寫。2026 年 10 月 18 日的付費檢查完成了一個 V8.2 快速請求,交付四張 1024 × 1024 影像。下方人像是其中一張。模型頁 提供 Playground 與即時價格;API 參考文件 則區分支援的輸入與仍待驗證的組合。[1]

Midjourney V8.2 API 輸出:紅髮女子穿著奶油色毛衣,站在海邊懸崖上

從明確指定版本的 Midjourney V8.2 API 請求開始

請使用完整模型 ID:midjourney-v8.2。SeedRouter 要求明確指定模型,不可縮寫為 midjourney,也不要從其他介面的帳號設定推斷版本。請將模型與提交的請求一併記錄。[1]

準備伺服器端 API 金鑰,並撰寫一條結果容易檢查的簡短提示詞。第一次先不加參考影像或父圖操作,讓請求只測試基本流程。下方請求生成了文中展示的人像組,使用快速模式並開啟額外內容檢查:

{
  "model": "midjourney-v8.2",
  "prompt": "Cinematic portrait of a young woman with freckles and wind-swept auburn hair, wearing a cream cable-knit sweater, laughing on a coastal cliff at golden hour, warm rim light, shallow depth of field, 85mm film photograph",
  "speed": "fast",
  "nsfw_check": true
}

最小請求只需要 model 與 prompt;省略速度時預設為快速模式。若加入 size,請使用 "16:9" 這類寬高比,而非 WIDTHxHEIGHT 像素指令。通用影像客戶端預設送出的 1024x1024、quality: "high" 或任意 n,都不符合此模型契約。請依 Midjourney 欄位表調整請求本文,不要直接沿用其他模型的設定。

只提交一次,再輪詢儲存的任務 ID

可下載的 Python 範例 使用標準函式庫,將金鑰放在環境變數,並把已受理的任務 ID 寫入本機檔案。提交與輪詢分為兩個命令,因此可以恢復讀取而不建立另一個影像任務。

export SEEDROUTER_API_KEY='your-server-side-key'
python3 midjourney-v8-2.py submit request.json --state mj-task.json
python3 midjourney-v8-2.py poll --state mj-task.json

將上方 JSON 請求儲存為 request.json。在本機環境中將範例金鑰換成自己的密鑰;不要放入瀏覽器程式包或提交至儲存庫。若要測試本機部署,請將範例的 SEEDROUTER_BASE_URL 設為該部署的 /v1 基底 URL。

範例提交時會拒絕覆寫現有狀態檔,也不會在連線失敗後自動重送 POST。若回應遺失,應用程式可能無法確定任務是否受理。決定重新提交前,請先查看任務紀錄。

輪詢則是讀取已存在的任務。範例會在任務完成或失敗時停止;若仍在處理中,則回報等待已達上限。等待上限是客戶端觀察,不代表任務必須重新生成。

依操作類型讀取結果結構

完成的影像操作會在 output.data 中傳回 URL。請逐一處理這個陣列,不要假設一定有四筆。影像生成、選取單張影像、描述影像與編輯輸入步驟,可能傳回不同類型的輸出。

結果欄位應用程式的處理方式
status區分處理中、已完成與失敗的任務
output.data[].url顯示或儲存每張交付影像
output.grid將交付網格標示為網格;一個檔案可能包含多個影像選項
output.text顯示傳回文字,不預設有四條建議或一定使用英文
output.seed有提供時記錄,不要求每個結果都包含它
output.awaiting_input繼續文件規定的編輯輸入流程

即使讀取任務的 HTTP 請求成功,應用程式仍應將失敗任務視為失敗。HTTP 成功只代表狀態查詢已獲回應,不代表要求的影像已生成。

當 output.grid 為 true 時,一個 URL 包含整張網格。不要從這個檔案自行編造四個獨立 URL。後續選取會使用網格中從 1 開始的影像位置;URL 數量不等於可選影像數量。

範例會將完成的輸出列印為 JSON。應用程式可以為傳回影像加入儲存、縮圖與選取控制項。請將任務 ID 與結果一併保留,讓後續操作能引用正確父任務。

轉換原生參數時,不要隱藏衝突

此串接接受結構化欄位與支援的原生提示詞旗標,優先順序是 結構化欄位、extra、prompt 內的旗標。明確提供的零值與 false 值會保留。

例如,提示詞中有 --stylize 700,同時設定 "stylize": 0,便會採用明確指定的零值。這對獨立送出控制項的介面很實用,但若應用程式在不同位置組合提示詞與 JSON,就可能感到意外。每項設定最好只有一個來源。

SeedRouter 的 V8.2 請求中,quality 在相容組合下接受 0.25、0.5、1 或 2。品質與 hd 是獨立輸入:設定品質不會選用高畫質。加入兩者或其他參考控制項前,請查看目前的組合限制;文件列出某個輸入,不代表它在所有版本的效果皆已確立。Raw 也與兩者不同,Raw 指南 會說明這些差異。[1]

此串接會捨棄未知的 JSON 欄位,但會拒絕未知的原生旗標。不要把請求獲准,當成無關額外 JSON 欄位影響了輸出的證據。請核對文件中的欄位名稱,並將實際提交的完整本文保留在測試紀錄。

將父圖操作綁定原任務

後續操作請使用 SeedRouter 的 parent_task_id。依賴任務的操作仍綁定原始執行環境;若該環境無法使用,操作會失敗,不會在其他地方另建父任務。父任務必須屬於同一帳號、使用相同模型,並仍可執行要求的操作。公開影像索引從 1 開始。

選取影像與創意放大是不同操作。select 結果不能描述為提升了解析度。同樣地,變化、重混與官方 V8.2 Edit Model 是不同功能,各有不同要求。

目前串接尚未將新版 Edit Model 開放為經過驗證的 API 操作。不要改用舊版局部重繪請求,再假設它提供相同行為。編輯指南 說明可用替代方式與已驗證的 V6.1 遮罩編輯流程;API 參考文件 記錄已實作的操作限制。

依任務估價,不要計算縮圖數量

此串接的計價契約將一次完成的生成視為一個任務。從網格選取現有影像,不會建立另一個收費生成。進入編輯輸入階段不會再收一次生成費;最後的 modal 操作才是收費步驟。一次生成四張影像,並不自動等於四個分別計費的任務。10 月 18 日的 V8.2 草稿檢查在一個任務內傳回 24 張影像,因此影像數量不是可靠的計價公式。

請使用所選版本、操作、速度與模式的目前費率。父圖操作可能沿用設定,因此應依實際生效的請求計價,不要猜測預設值。模型頁會讀取設定費率,不會在這篇教學中寫死美元金額。

驗收測試時,請記錄請求、任務 ID、最終狀態、輸出數量與帳號實際扣款。編譯成功或模擬 HTTP 測試,無法證明這些執行時的事實。SeedRouter 不會對失敗請求收費。

常見問題

同一把 API 金鑰可以用在前端 JavaScript 嗎?

請將金鑰留在伺服器。讓瀏覽器呼叫經過驗證的應用程式端點,再由端點使用伺服器端金鑰提交請求。

取得任務 ID 就表示影像已經完成了嗎?

不是。請持續讀取任務,直到回報完成或失敗,再處理對應結果。開始輪詢前請先儲存 ID。

逾時應該觸發新的生成嗎?

不要自動這麼做。請保留已知任務 ID 並查看現有任務。連線或客戶端等待逾時,不代表原始提交遭到拒絕。

父圖操作可以更換版本嗎?

此串接要求與父任務使用相同模型。想評估另一個版本時,請另開生成。

串接 Midjourney V8.2 API 時,先從一次明確請求與儲存任務 ID 開始。確認交付輸出與扣款後,再加入參考影像或一連串影像操作。

來源

契約與執行證據核對日期:2026 年 10 月 18 日。文中影像來自付費串接檢查,並非通用模型效能評測。

[1] SeedRouter Midjourney API 參考文件

[2] 模型版本設定與目前價格