跳到主要內容

Midjourney 代理

透過 Midjourney Proxy 格式呼叫 Midjourney。所有提交類端點均為 POST(查詢類除外),驗證方式與其他端點相同。

呼叫流程​

  1. 提交任務(/mj/submit/*)→ 取得任務 ID。
  2. 輪詢查詢(/mj/task/{id}/fetch)→ 得到 status 與 imageUrl。
  3. 視需要對四宮格結果發起 放大 / 變化 / 重繪(/mj/submit/change 或 /mj/submit/action)。

提交繪圖​

POST /mj/submit/imagine
curl 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" }'
參數類型必填說明
promptstring是繪圖提示詞,可帶 MJ 參數(--ar、--v 等)
base64Arrayarray否參考圖(Base64 陣列)
notifyHookstring否回呼網址(也可用輪詢)
statestring否自訂轉傳欄位

回應:

{ "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}/fetch
curl 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
}
欄位說明
statusNOT_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 }
參數說明
actionUPSCALE / 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 確認後才會執行——人物特寫等場景常見此流程。