Appearance
Action - Midjourney 进阶操作
通过 Action 接口操作已经生成的 Midjourney 图片,包括图片放大、图片变化和重新生成。
一、接口信息
| 项目 | 内容 |
|---|---|
| 请求方式 | POST |
| 请求路径 | /mj/submit/action |
| 完整地址 | https://api.hllapi.vip/mj/submit/action |
| Content-Type | application/json |
| 鉴权方式 | Bearer Token |
二、请求头
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
三、请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| taskId | String | 是 | 原始绘图任务 ID |
| customId | String | 是 | 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
已验证的操作结果
| 操作 | action | status | 测试结果 |
|---|---|---|---|
| U1 | UPSCALE | SUCCESS | 已验证成功 |
| V1 | VARIATION | FAILURE | 执行失败 |
| Reroll | REROLL | SUCCESS | 已验证成功 |
九、任务状态说明
| 状态 | 说明 |
|---|---|
| IN_PROGRESS | 任务正在执行 |
| SUCCESS | 任务执行成功 |
| FAILURE | 任务执行失败 |
其他状态以实际接口返回为准。
十、注意事项
- 必须使用原始任务对应的 taskId 和 customId。
- customId 应从 Fetch 返回的 buttons 数组中读取。
- 不要重复提交已经成功的操作。
- 新任务提交后需要再次调用 Fetch。
- 只有 status 为 SUCCESS 时,才能认为操作完成。
- 不同操作可能产生不同的额度消耗。
- U2-U4、V2-V4 尚未逐项验证。