Midjourney 代理
透過 Midjourney Proxy 格式呼叫 Midjourney。所有提交類端點均為 POST(查詢類除外),驗證方式與其他端點相同。
呼叫流程
- 提交任務(
/mj/submit/*)→ 取得任務 ID。 - 輪詢查詢(
/mj/task/{id}/fetch)→ 得到status與imageUrl。 - 視需要對四宮格結果發起 放大 / 變化 / 重繪(
/mj/submit/change或/mj/submit/action)。
提交繪圖
POST /mj/submit/imaginecurl https://test.kailin.com.cn/mj/submit/imagine \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-token" \
-d '{ "prompt": "a cyberpunk cat, neon light --ar 16:9" }'
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
prompt | string | 是 | 繪圖提示詞,可帶 MJ 參數(--ar、--v 等) |
base64Array | array | 否 | 參考圖(Base64 陣列) |
notifyHook | string | 否 | 回呼網址(也可用輪詢) |
state | string | 否 | 自訂轉傳欄位 |
回應:
{ "code": 1, "description": "Submitted", "result": "1792xxxx-task-id" }
code: 1 表示成功,result 即任務 ID;code: 21 表示任務需要再呼叫 /mj/submit/modal 確認;code: 22 表示有重複任務;code: 9 表示排隊中(result 為提示訊息)。
查詢任務
GET /mj/task/{id}/fetchcurl https://test.kailin.com.cn/mj/task/1792xxxx-task-id/fetch \
-H "Authorization: Bearer sk-your-token"
{
"id": "1792xxxx-task-id",
"action": "IMAGINE",
"status": "SUCCESS",
"progress": "100%",
"imageUrl": "https://cdn.example.com/mj/xxx.png",
"prompt": "a cyberpunk cat, neon light --ar 16:9",
"submitTime": 1730000000000,
"finishTime": 1730000600000
}
| 欄位 | 說明 |
|---|---|
status | NOT_START / SUBMITTED / IN_PROGRESS / SUCCESS / FAILURE / CANCEL |
imageUrl | 結果圖網址(SUCCESS 後回傳) |
failReason | 失敗原因(FAILURE 時回傳) |
批次查詢
POST /mj/task/list-by-condition{ "ids": ["id1", "id2"] }
後續操作
放大 / 變化 / 重繪
POST /mj/submit/change{ "taskId": "1792xxxx-task-id", "action": "UPSCALE", "index": 2 }
| 參數 | 說明 |
|---|---|
action | UPSCALE / VARIATION / REROLL / HIGH_VARIATION / LOW_VARIATION / ZOOM 等 |
index | 四宮格編號 1–4(UPSCALE / VARIATION 時必填) |
customId | 也可直接傳任務回傳的按鈕 customId |
按鈕操作
POST /mj/submit/action點擊任務回傳的 buttons 中某個按鈕(U/V 按鈕、Regional、Pan 等):
{ "taskId": "1792xxxx-task-id", "customId": "MJ::JOB::upsample::3::uuid" }
其他提交端點
| 端點 | 說明 |
|---|---|
POST /mj/submit/blend | 混合 2–4 張圖片(base64Array,dimensions 可選) |
POST /mj/submit/describe | 圖生提示詞(傳 base64,回傳四條候選提示詞) |
POST /mj/submit/modal | 確認 code: 21 的任務(taskId + prompt) |
POST /mj/submit/shorten | 提示詞分析與精簡 |
POST /mj/submit/simple-change | 快速變更:content 填 "taskId U2" 這類指令 |
POST /mj/submit/edits | 局部編輯 |
POST /mj/submit/video | 影片生成 |
POST /mj/submit/upload-discord-images | 上傳圖片並取得參考網址 |
POST /mj/insight-face/swap | 換臉(InsightFace) |
輔助端點
| 端點 | 說明 |
|---|---|
GET /mj/task/{id}/image-seed | 取得任務圖片的 seed |
GET /mj/image/{id} | 圖片代理存取 |
提示
所有回傳 code: 21 的提交都必須再透過 /mj/submit/modal 確認後才會執行——人物特寫等場景常見此流程。