Midjourney API 文档
接口网址、Key、Secret:注册、充值后获取
1.1 提交 Imagine 任务
接口地址:/mjApi/imagine
请求方式:POST
请求数据类型:application/json
响应数据类型:/
接口描述:执行 Imagine 操作,提交绘图任务。
请求示例:
{ "mode": "RELAX", "notifyHook": "", "prompt": "Cat" }
参数名称 | 参数含义 | 是否必选 | 参数类型 | 备注 |
---|---|---|---|---|
mode | 调用模式,默认RELAX | 非必填 | string | RELAX: 慢速模式,FAST: 快速模式 |
notifyhook | 回调地址,为空时不进行回调通知,建议填写 | 非必填 | string | |
prompt | 提示词,示例值( https://abc.com/1.jpg Cat --ar 9:16),垫图网址拼在前边(垫图过大会导致MJ出图失败),提示词支持中文(会自动翻译成英文) | 必填 | string |
响应示例:
{ "code": 1, "description": "Submit success", "result": "123" }
参数名称 | 参数说明 | 类型 |
---|---|---|
code | 状态码: 1(提交成功), 22(排队中), 23(队列已满,请稍后尝试),24(prompt包含敏感词),other(错误) | integer(int32) |
description | 描述 | string |
result | 任务ID | string |
1.2 提交 Action 任务
接口地址:/mjApi/action
请求方式:POST
请求数据类型:application/json
响应数据类型:/
接口描述:用于点击图片下方的按钮,customId可通过任务查询接口或回调通知获取。
请求示例:
{ "notifyHook": "", "customId": "MJ::JOB::upsample::2::3dbbd469-36af-4a0f-8f02-df6c579e7011", "taskId": "123", }
参数名称 | 参数含义 | 是否必选 | 参数类型 | 备注 |
---|---|---|---|---|
notifyhook | 回调地址,为空时不进行回调通知 | 非必填 | string | |
customId | 动作标识,示例值(MJ::JOB::upsample::2::3dbbd469-36af-4a0f-8f02-df6c579e7011) | 必填 | string | |
taskId | 任务id | 必填 | string |
响应示例:
{ "code": 1, "description": "Submit success", "result": "234" }
参数名称 | 参数说明 | 类型 |
---|---|---|
code | 状态码: 1(提交成功), 22(排队中), 23(队列已满,请稍后尝试),24(prompt包含敏感词),other(错误) | integer(int32) |
description | 描述 | string |
result | 任务ID | string |
1.3 提交 Blend 任务
接口地址:/mjApi/blend
请求方式:POST
请求数据类型:application/json
响应数据类型:/
接口描述:执行 Blend 操作,提交融图、混合图任务。
请求示例:
{ "mode": "RELAX", "notifyHook": "", "base64Array": [ "data:image/png;base64,xxx1", "data:image/png;base64,xxx2" ], "dimensions": "SQUARE" }
参数名称 | 参数含义 | 是否必选 | 参数类型 | 备注 |
---|---|---|---|---|
mode | 调用模式,默认RELAX | 非必填 | string | RELAX: 慢速模式,FAST: 快速模式 |
notifyhook | 回调地址,为空时不进行回调通知 | 非必填 | string | |
base64Array | 图片base64数组,示例值([ "data:image/png;base64,xxx1", "data:image/png;base64,xxx2" ]) | 必填 | array | string |
dimensions | "比例:PORTRAIT(2:3);SQUARE(1:1);LANDSCAPE(3:2),可用值:PORTRAIT,SQUARE,LANDSCAPE,示例值(SQUARE)" | 非必填 | string |
响应示例:
{ "code": 1, "description": "Submit success", "result": "123" }
参数名称 | 参数说明 | 类型 |
---|---|---|
code | 状态码: 1(提交成功), 22(排队中), 23(队列已满,请稍后尝试),24(prompt包含敏感词),other(错误) | integer(int32) |
description | 描述 | string |
result | 任务ID | string |
1.4 提交 Modal 任务
接口地址:/mjApi/modal
请求方式:POST
请求数据类型:application/json
响应数据类型:/
接口描述:当执行其他任务时(主要用于局部重绘),code 返回 21,需要执行 modal 接口,传入新的提示词以修改细节。
请求示例:
{ "maskBase64": "data:image/png;base64,xxx1", "prompt": "Cat", "taskId": "123" }
参数名称 | 参数含义 | 是否必选 | 参数类型 | 备注 |
---|---|---|---|---|
taskId | 任务ID,示例值(123) | 必填 | string | |
maskBase64 | 局部重绘的蒙版base64 | 必填 | string | 该字段用于局部重绘时传入 |
prompt | 提示词 | 非必填 | string |
响应示例:
{ "code": 1, "description": "Submit success", "result": "123" }
参数名称 | 参数说明 | 类型 |
---|---|---|
code | 状态码: 1(提交成功), 22(排队中), 23(队列已满,请稍后尝试),24(prompt包含敏感词),other(错误) | integer(int32) |
description | 描述 | string |
result | 任务ID | string |
1.5 提交 Describe 任务
接口地址:/mjApi/describe
请求方式:POST
请求数据类型:application/json
响应数据类型:/
接口描述:执行 Describe 操作,提交图生文任务。
请求示例:
{ "mode": "RELAX", "notifyHook": "", "base64": "data:image/png;base64,xxx" }
参数名称 | 参数含义 | 是否必选 | 参数类型 | 备注 |
---|---|---|---|---|
mode | 调用模式,默认RELAX | 非必填 | string | RELAX: 慢速模式,FAST: 快速模式 |
notifyhook | 回调地址,为空时不进行回调通知 | 非必填 | string | |
base64 | 图片base64,示例值(data:image/png;base64,xxx) | 必填 | string | string |
响应示例:
{ "code": 1, "description": "Submit success", "result": "123" }
参数名称 | 参数说明 | 类型 |
---|---|---|
code | 状态码: 1(提交成功), 22(排队中), 23(队列已满,请稍后尝试),24(prompt包含敏感词),other(错误) | integer(int32) |
description | 描述 | string |
result | 任务ID | string |
1.6 指定 ID 查询任务(fetch)
接口地址:/mjApi/task/{id}
请求方式:GET
请求数据类型:application/json
响应数据类型:/
接口描述:通过任务 ID,查询任务信息。
请求示例:
curl API地址 + '/mjApi/task/123'
响应示例:
{ "id": "123", "action": "DESCRIBE", "prompt": "", "promptEn": "1️⃣ White haired anime boy...", "description": "Submit success", "submitTime": 1712205491372, "startTime": 1712205494313, "finishTime": 1712205499534, "status": "SUCCESS", "progress": "100%", "imageUrl": "https://cdn.discordapp.com/attachments/1304804107042947178/1311931734664679464/price491263_a_big_Tiger_35796086-8231-4a17-ba8e-4adabae615cb.png?ex=674aa724&is=674955a4&hm=27a982fdc5661adf9a0787614e35796e8996e3ad1ac52e93915ce1a295808230&", "cnTempImgUrl": "http://xxxxxx.com/xxx/xxx/e6278fb4db0a44c79b3f80d0d977350.png", "buttons": [ {"customId": "MJ::Job::PicReader::1", "emoji": "1️⃣"}, {"customId": "MJ::Job::PicReader::2", "emoji": "2️⃣"} …… ] }
参数名称 | 参数说明 | 类型 |
---|---|---|
action | 任务类型,可用值:IMAGINE,UPSCALE,VARIATION,ZOOM,PAN,DESCRIBE…… | string |
buttons | 按钮数组:图片下方对应的各个按钮数组,需要点击按钮的时候,把customId传给action接口即可 | array |
description | 任务描述 | string |
failReason | 失败原因 | string |
finishTime | 结束时间 | integer(int64) |
id | ID | string |
imageUrl | 图片url(此图为最终生成的图片,请自行保存到自己的服务器) | string |
cnTempImgUrl | 如imageUrl不能访问,请使用此备用的临时图片地址,有效期24小时,请及时下载 | string |
progress | 任务进度 | string |
prompt | 提示词 | string |
promptEn | 提示词-英文 | string |
startTime | 开始执行时间 | integer(int64) |
status | 任务状态,可用值:NOT_START,SUBMITTED,MODAL,IN_PROGRESS,FAILURE,SUCCESS,CANCEL | string |
submitTime | 提交时间 | integer(int64) |
1.7 指定 ID 查询多个任务
接口地址:/mjApi/taskList
请求方式:POST
请求数据类型:application/json
响应数据类型:/
接口描述:通过任务 ID 数组,查询任务信息。(可以通过轮询调用该接口,实现任务进行的查询,也可以通过回调接口获取)
请求示例:
{ "ids": ["123","345"] }
响应示例:
[ { "id": "123", "action": "IMAGINE", "prompt": "a cat", "description": "Submit success", "status": "SUCCESS", "progress": "100%" …… } …… ]
1.8 获取任务图片的 seed
接口地址:/mjApi/seed/{id}
请求方式:GET
请求数据类型:application/json
响应数据类型:/
接口描述:通过任务 ID,查询图片的 seed。