Skip to main content

了解核心概念

MidJourney API 模擬 Discord 按鈕互動。不同於典型的 REST API,它以狀態機的方式運作,其中每個操作都會回傳下一步可用的新按鈕。

4 個核心 API


完整工作流程圖


關鍵概念:按鈕與 customId

每個成功的任務都會回傳一個 buttons 陣列。每個按鈕都有一個 customId,你可以用它來觸發下一個操作。 來自 /mj/task/\{id\}/fetch 的回應範例:
customId 不是固定值。它會隨每個任務而變化。請務必從 buttons 陣列中取得它。

各階段的按鈕參考

IMAGINE 之後(4 宮格圖片)

當初始圖片生成完成後,會返回以下按鈕:

UPSCALE 之後(單張圖片)

放大後,你可以使用以下編輯工具:
Note: 按鈕標籤與 customId 格式可能會依你在 prompt 中指定的 MJ 版本而有所不同(例如 --v 6.1--v 5.2)。請務必始終從 API 回應中讀取按鈕資訊。
Inpaint(Vary Region)按鈕只會在 Upscale 之後出現。

完整範例:生成並放大

步驟 1:提交 imagine 請求

回應:

步驟 2:輪詢任務狀態

回應(完成時):

步驟 3:點擊 U1 進行放大

回應:

步驟 4:輪詢新任務並取得結果


什麼情況需要 Modal?

當你呼叫 /mj/submit/action 且任務狀態變成 MODAL 而不是 SUCCESS 時,你必須呼叫 /mj/submit/modal 來提供額外輸入。

已確認需要 Modal 的操作

範例:Inpaint 流程

速度模式選擇

在路徑前加入速度前綴:

其他入口點

這些 API 是獨立入口點,不遵循 imagine → action 的流程:

疑難排解提示

根據 API 設計與工作流程,以下是你可能遇到的常見問題: