MidJourney 接入说明
YutoAPI 的 MidJourney 能力放在“绘图模型 -> MidJourney”分类下。这个页面用于说明应该从哪些接口开始接入,以及一次完整 MidJourney 任务通常怎么跑通。
推荐阅读顺序
- 先看 Midjourney 接入向导,了解 fast / relax 模式、任务类型、轮询方式和按钮动作。
- 第一次生成图片时,使用 提交 Imagine 任务。
- 拿到任务 ID 后,使用 指定 ID 获取任务 轮询任务状态。
- 如果返回了
buttons,可以把customId与taskId传给 执行动作,完成放大、变体、重绘、重新生成等后续操作。
常用能力
| 场景 | 接口 | 说明 |
|---|---|---|
| 文生图 / 图文生图 | /mj/submit/imagine | 最常用入口,提交 prompt 与可选参考图。 |
| 多图混合 | /mj/submit/blend | 将多张图片混合生成新图。 |
| 图生文 | /mj/submit/describe | 根据图片生成描述文本。 |
| Prompt 分析 | /mj/submit/shorten | 帮助拆解或压缩 prompt。 |
| 按钮动作 | /mj/submit/action | 对已生成任务执行 U、V、Reroll、Zoom 等动作。 |
| 局部重绘 / Modal | /mj/submit/modal | 提交局部重绘、Zoom 等需要弹窗参数的动作。 |
| 查询任务 | /mj/task/{id}/fetch | 轮询任务状态、进度、结果图与可执行按钮。 |
最小调用流程
第一步,提交 Imagine 任务:
bash
curl --request POST \
--url '{BaseURL}/mj/submit/imagine' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"base64Array": [],
"prompt": "black cat, cinematic lighting"
}'返回中会包含任务 ID,例如:
json
{
"code": 1,
"description": "Submit success",
"result": "1320098173412546"
}第二步,用任务 ID 查询结果:
bash
curl --request GET \
--url '{BaseURL}/mj/task/1320098173412546/fetch' \
--header 'Authorization: Bearer YOUR_API_KEY'当 status 为 SUCCESS 且 progress 为 100% 时,读取 imageUrl 作为结果图。如果任务失败,优先查看 failReason。
第三步,如果需要放大或生成变体,从查询结果的 buttons 中取出目标按钮的 customId:
bash
curl --request POST \
--url '{BaseURL}/mj/submit/action' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"taskId": "1320098173412546",
"customId": "MJ::JOB::upsample::1::example"
}'动作接口也会返回新的任务 ID,需要继续用查询接口轮询到完成。
接入注意事项
prompt建议写清主体、风格、构图、比例和限制词,减少反复重试。- 任务是异步执行的,不要在提交接口里等待最终图片;应提交后轮询查询接口。
- 查询间隔建议使用递增退避,例如 2 秒、4 秒、8 秒,避免高频轮询。
- fast / relax 模式的费用和速度不同,请按你的业务场景选择。
- 不要把 API Key 写入前端公开代码、日志、GitHub 或截图。