Midjourney 生圖 API
Midjourney v8.2 在 Essevin 上的固定四張出圖、提示詞參數、畫幅與任務生命週期。
Essevin 上的 Midjourney 是非同步介面:先提交任務,再輪詢 Essevin 任務 ID。請使用 Midjourney 分組的金鑰,正式發付費請求前先用 GET /v1/models 確認完整模型 ID。
介面
| 方法 | 路徑 | 用途 |
|---|---|---|
| POST | /v1/images/generations | 提交 Midjourney 生圖任務 |
所有請求使用 Authorization: Bearer sk-你的金鑰 和 Content-Type: application/json。模型 ID 是 midjourney-v8-2。
每個任務固定回四張圖
這個模型每個任務固定算一組四張圖,且回傳的每一張都計費。張數由官方寫死:n 只接受 4 或整個省略,沒有辦法只要一張。請按每次提交四張圖編列預算。
請求契約
| 欄位 | 是否必填 | 說明 |
|---|---|---|
model | 是 | midjourney-v8-2 |
prompt | 是 | 描述文字加上可選參數。只傳圖片、沒有描述的請求會被拒絕 |
images | 否 | 最多一張參考圖,寫成 {"url": "https://…"} 或 {"file_id": "…"} |
n | 否 | 只能是 4,或直接省略。其他值一律拒絕 |
quality | 否 | 這個模型不使用它。要出 2K 請改在提示詞裡加 --hd |
curl https://api.essevin.com/v1/images/generations \
-H "Authorization: Bearer sk-你的金鑰" \
-H "Content-Type: application/json" \
-d '{"model":"midjourney-v8-2","prompt":"a red apple on a wooden table, studio light --ar 16:9"}'尺寸與畫幅
圖片尺寸不是請求欄位,而是由提示詞裡的 --ar 決定;--hd 會原生出約兩倍邊長的圖。下表是實測尺寸,不是推算出來的——--hd 並不是精確的兩倍。
--ar | 預設 | 加 --hd |
|---|---|---|
1:1(預設) | 1024 × 1024 | 2048 × 2048 |
16:9 | 1456 × 816 | 2944 × 1648 |
9:16 | 816 × 1456 | 1648 × 2944 |
4:3 | 1232 × 928 | 2544 × 1904 |
21:9 | 1680 × 720 | 3376 × 1440 |
14:1 | 4096 × 288 | 拒絕——見下文 |
--ar 只接受整數比例,--ar 1.5:1 會被拒絕。比例在兩個方向上都不能超過 14:1,而且 --hd 會把這個上限壓到 4:1,所以 --hd --ar 14:1 會被拒絕,--hd --ar 4:1 則會出 4096 × 1184。
提示詞參數
以下參數會被接受並原樣傳遞:
| 參數 | 取值範圍 | 用途 |
|---|---|---|
--ar | 整數比例 | 畫幅 |
--hd | 旗標 | 原生 2K 出圖 |
--s / --stylize | 0-1000 | 風格化強度 |
--c / --chaos | 0-100 | 四張圖之間的差異度 |
--weird / --w | 0-3000 | 非常規美感 |
--iw | 0-3 | 參考圖的權重 |
--sref + --sw | --sw 0-1000 | 風格參考圖與其強度 |
--no | 文字 | 排除元素 |
--seed | 整數 | 可重現性 |
--tile、--exp | 旗標 / 0-100 | 無縫平鋪;動態範圍 |
這個模型版本不接受的參數
以下參數會在提交時直接回傳 400,錯誤訊息裡會寫明原因。之所以擋下而不是照樣轉發,是因為官方要嘛靜默忽略它們——讓你為一個根本沒拿到的效果付錢——要嘛在數分鐘後才讓任務失敗。
| 參數 | 原因 |
|---|---|
--q / --quality | 對這個模型版本沒有效果 |
--niji | Niji 是另一個模型版本,不是這裡的參數 |
--repeat / --r | 沒有效果;每個任務的出圖張數是固定的 |
--oref、--cref | v8.x 不提供 Omni 參考與角色參考 |
--stealth、--stop | 這個模型版本不支援 |
--draft | 每個任務會回 24 張低解析度圖片,不提供 |
--profile | 這個 API 不支援個人化風格檔案 |
:: | 這個模型版本不支援多段提示詞權重 |
提交與輪詢
提交成功回傳 202,任務 ID 在 id 欄位,另外還帶 images_per_task。輪詢方式與其他非同步媒體任務相同,查詢時不要傳計費標頭:
-H "Authorization: Bearer sk-你的金鑰"status 依序經過 queued → processing → completed 或 failed,只有後兩者是終態,其他任何值都按進行中處理。完成的任務會在 outputs 裡帶四個輸出位址,位址在 console.essevin.com 網域下,是自任務完成起 6 小時有效的簽名連結;再次查詢會回傳同一位址、不會延長,過期存取回傳 410,請在 6 小時內下載保存。只有成功完成的任務才計費,失敗的任務不計費。
失敗情形
| 你看到的現象 | 代表什麼 |
|---|---|
提交時回傳 400 | 某個欄位或提示詞參數不合法。訊息會指出是哪一個,修正後重新提交 |
| 任務失敗,內容被拒 | 提示詞被內容審核拒絕。改寫後再提交一次 |
| 任務失敗,服務忙碌 | 這個模型在你所屬套餐分組的並行已達上限。稍後重試即可,不會計費 |
這個模型的並行上限很低
Midjourney 同時只允許少量提示詞在算圖,遠少於同步的圖片模型。一次並行送出一大批任務不會排隊,而是大部分直接失敗。請分批少量提交,對回報忙碌的任務稍後重試——失敗的任務不計費。
價格
Midjourney 按回傳張數計費,因此一個任務就是四張圖乘上該檔位的單價:預設出圖與 --hd 的 2K 出圖分屬兩個價格檔。官方牌價見價格頁。你的實際單價以登入後的模型廣場為準,每次請求的實際扣費見用量記錄。