Midjourney API
本文介绍通过 ModelVaults 调用 Midjourney 的完整流程,包含文生图、放大、变体和重新生成四个操作。
模型列表
服务地址
认证方式:Authorization: Bearer <your-api-key>
工作流
所有 Midjourney 任务均为异步执行:
POST /v1/tasks/submit提交任务,得到task_id轮询
GET /v1/tasks/status?task_id=<task_id>,直到task_status为Success或Failure
接口详情
提交任务
POST https://api.modelverse.cn/v1/tasks/submit
请求体
{
"model": "<模型名>",
"input": {
"prompt": "<提示词,仅 imagine 需要>"
},
"parameters": {
"mj_task_id": "<上一步操作的 task_id,upscale / variation / reroll 必填>",
"mj_custom_id": "<buttons 中的 custom_id,upscale / variation / reroll 必填>"
}
}参数说明
响应
{
"output": {
"task_id": "1775203239196609"
},
"request_id": "abc123..."
}查询任务状态
GET https://api.modelverse.cn/v1/tasks/status?task_id=<task_id>
响应
{
"output": {
"task_id": "1775203239196609",
"task_status": "Success",
"urls": ["https://...图片地址..."],
"submit_time": 1775203239,
"buttons": [
{"custom_id": "MJ::JOB::upsample::1::431a5822-...", "label": "U1"},
{"custom_id": "MJ::JOB::upsample::2::431a5822-...", "label": "U2"},
{"custom_id": "MJ::JOB::upsample::3::431a5822-...", "label": "U3"},
{"custom_id": "MJ::JOB::upsample::4::431a5822-...", "label": "U4"},
{"custom_id": "MJ::JOB::reroll::0::431a5822-...::SOLO", "emoji": "🔄"},
{"custom_id": "MJ::JOB::variation::1::431a5822-...", "label": "V1"},
{"custom_id": "MJ::JOB::variation::2::431a5822-...", "label": "V2"},
{"custom_id": "MJ::JOB::variation::3::431a5822-...", "label": "V3"},
{"custom_id": "MJ::JOB::variation::4::431a5822-...", "label": "V4"}
]
}
}task_status 枚举
响应字段说明
完整示例
Step 1 — 文生图(imagine)
curl -X POST https://api.modelverse.cn/v1/tasks/submit \
-H "Authorization: Bearer $MODELVAULTS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "midjourney-fast-imagine",
"input": {
"prompt": "a cute cat sitting on a cloud, anime style"
}
}'提交后轮询查询接口,直到 task_status 为 Success:
curl "https://api.modelverse.cn/v1/tasks/status?task_id=1775203239196609" \
-H "Authorization: Bearer $MODELVAULTS_API_KEY"成功后记录:
urls[0]:4 张图的拼合网格图地址task_id:后续 upscale / variation / reroll 需要buttons:后续操作的custom_id来源
Step 2a — 放大单张(upscale,以 U1 为例)
从 buttons 中找到 label 为 "U1" 的项,取其 custom_id:
curl -X POST https://api.modelverse.cn/v1/tasks/submit \
-H "Authorization: Bearer $MODELVAULTS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "midjourney-fast-upscale",
"input": {},
"parameters": {
"mj_task_id": "1775203239196609",
"mj_custom_id": "MJ::JOB::upsample::1::431a5822-bfb2-4c55-8fc5-fc101abebd91"
}
}'upscale 成功后同样返回 buttons,包含更多二次操作选项(二次放大、Vary、Zoom、Pan、Animate 等),均可继续通过 midjourney-fast-upscale 模型发起。
Step 2b — 变体(variation,以 V1 为例)
从 buttons 中找到 label 为 "V1" 的项,取其 custom_id:
curl -X POST https://api.modelverse.cn/v1/tasks/submit \
-H "Authorization: Bearer $MODELVAULTS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "midjourney-fast-variation",
"input": {},
"parameters": {
"mj_task_id": "1775203239196609",
"mj_custom_id": "MJ::JOB::variation::1::431a5822-bfb2-4c55-8fc5-fc101abebd91"
}
}'variation 成功后返回新的 buttons,可继续对新图执行 upscale 等操作。
Step 2c — 重新生成(reroll)
从 buttons 中找到 emoji 为 "🔄" 的项,取其 custom_id:
curl -X POST https://api.modelverse.cn/v1/tasks/submit \
-H "Authorization: Bearer $MODELVAULTS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "midjourney-fast-reroll",
"input": {},
"parameters": {
"mj_task_id": "1775203239196609",
"mj_custom_id": "MJ::JOB::reroll::0::431a5822-bfb2-4c55-8fc5-fc101abebd91::SOLO"
}
}'








