Skip to content

Action - Midjourney 进阶操作 ​

通过 Action 接口操作已经生成的 Midjourney 图片,包括图片放大、图片变化和重新生成。

一、接口信息 ​

项目内容
请求方式POST
请求路径/mj/submit/action
完整地址https://api.hllapi.vip/mj/submit/action
Content-Typeapplication/json
鉴权方式Bearer Token

二、请求头 ​

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

三、请求参数 ​

参数类型必填说明
taskIdString是原始绘图任务 ID
customIdString是Fetch 返回的按钮 customId

注意:taskId 和 customId 必须对应同一个原始任务。

四、如何获取 customId ​

首先调用 Fetch 查询原始绘图任务:

GET /mj/task/{id}/fetch

在返回结果的 buttons 数组中找到需要操作的按钮。

例如:

{
  "label": "U1",
  "customId": "MJ::JOB::upsample::1::任务标识",
  "type": 2,
  "style": 2
}

请直接使用接口返回的完整 customId,不要自行拼接或修改。

五、操作类型 ​

1. 图片放大 Upscale ​

按钮操作customId 标识
U1放大第一张图片upsample::1
U2放大第二张图片upsample::2
U3放大第三张图片upsample::3
U4放大第四张图片upsample::4

U1 已完成真实提交及结果验证,其他按钮尚未逐项测试。

2. 图片变化 Variation ​

按钮操作customId 标识
V1对第一张图片进行变化variation::1
V2对第二张图片进行变化variation::2
V3对第三张图片进行变化variation::3
V4对第四张图片进行变化variation::4

注意:V1 已经测试提交成功,但最终任务返回 FAILURE,暂不能承诺 Variation 功能正常可用。V2-V4 尚未测试。

3. 重新生成 Reroll ​

Reroll 根据原始绘图任务重新生成图片。

按钮 customId 示例:

MJ::JOB::reroll::0::任务标识::SOLO

Reroll 已完成真实提交及结果查询,验证成功。

六、请求示例 ​

JSON ​

{
  "taskId": "YOUR_ORIGINAL_TASK_ID",
  "customId": "FETCH_RETURNED_CUSTOM_ID"
}

cURL ​

curl -X POST "https://api.hllapi.vip/mj/submit/action" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"taskId":"YOUR_ORIGINAL_TASK_ID","customId":"FETCH_RETURNED_CUSTOM_ID"}'

PowerShell ​

$body = @{
    taskId = "YOUR_ORIGINAL_TASK_ID"
    customId = "FETCH_RETURNED_CUSTOM_ID"
} | ConvertTo-Json

Invoke-RestMethod `
    -Uri "https://api.hllapi.vip/mj/submit/action" `
    -Method POST `
    -Headers $headers `
    -ContentType "application/json" `
    -Body $body

其中 $headers 应预先设置 Authorization: Bearer YOUR_API_KEY。

七、成功响应 ​

真实测试返回结构:

{
  "code": 1,
  "description": "提交成功",
  "result": "NEW_TASK_ID",
  "properties": {
    "discordInstanceId": "示例实例ID",
    "discordChannelId": "示例频道ID"
  }
}
字段说明
code请求结果代码
description提交结果
result新操作任务 ID
properties上游任务扩展信息

注意:提交成功不代表图片已经处理完成。

八、查询操作结果 ​

操作成功提交后,使用返回的新任务 ID 查询:

GET /mj/task/{id}/fetch

PowerShell 示例:

$result = Invoke-RestMethod `
    -Uri "https://api.hllapi.vip/mj/task/NEW_TASK_ID/fetch" `
    -Method GET `
    -Headers $headers

$result | Format-List id,action,status,progress,imageUrl,failReason

已验证的操作结果 ​

操作actionstatus测试结果
U1UPSCALESUCCESS已验证成功
V1VARIATIONFAILURE执行失败
RerollREROLLSUCCESS已验证成功

九、任务状态说明 ​

状态说明
IN_PROGRESS任务正在执行
SUCCESS任务执行成功
FAILURE任务执行失败

其他状态以实际接口返回为准。

十、注意事项 ​

  1. 必须使用原始任务对应的 taskId 和 customId。
  2. customId 应从 Fetch 返回的 buttons 数组中读取。
  3. 不要重复提交已经成功的操作。
  4. 新任务提交后需要再次调用 Fetch。
  5. 只有 status 为 SUCCESS 时,才能认为操作完成。
  6. 不同操作可能产生不同的额度消耗。
  7. U2-U4、V2-V4 尚未逐项验证。

返回 Midjourney 接口总览

火灵灵 API · 开发者服务中心