Skip to main content

理解核心概念

MidJourney API 模拟 Discord 按钮交互。与典型的 REST API 不同,它以状态机的方式工作,其中每次操作都会返回下一步所需的新按钮。

4 个核心 API


完整工作流图


关键概念:按钮和 customId

每个成功的任务都会返回一个 buttons 数组。每个按钮都有一个 customId,你可以用它来触发下一步操作。 来自 /mj/task/\{id\}/fetch 的响应示例:
customId 不是固定值。它会随着每个任务而变化。请始终从 buttons 数组中获取它。

按阶段划分的按钮参考

IMAGINE 之后(4 宫格图像)

当你的初始图像生成完成后,会返回这些按钮:

UPSCALE 之后(单张图像)

放大后,你可以使用这些编辑工具:
注意: 按钮标签和 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 设计和工作流,以下是你可能遇到的常见问题: