Midjourney中文版 - 用API接入也方便

API文档 | API定价 | 注册&登录

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。

请求示例:

curl API地址 + '/mjApi/seed/123' 

响应示例:

{
    "code": 1,
    "description": "Submit success",
    "result": "3523523" //seed值,非任务ID
} 

1.9 产品换背景

接口地址:/mjApi/changeBackground

请求方式:POST

请求数据类型:application/json

响应数据类型:/

接口描述:传入背景相对干净的图片,通过提示词更换背景

请求示例:

{
        'prompt' => '树林',
        'imgX' => '70.5',
        'imgY' => '200',
        'imgScale' => '0.253',
        'imgRatio' => '9:16',
        'baseWidth' => '539.4375',
        'originalWidth' => '1536',
        'imgUrl' => 'https://sh2-1256181000.cos.ap-shanghai.myqcloud.com/img/cdn/diantu-20241210/97c16c2429392b8ccb962e0b40047db9.png',
        'notifyHook' => ''
}
    
参数名称 参数含义 是否必选 参数类型 备注
baseWidth 画布的宽度 必填 string
imgRatio 画布的比例 必填 string
originalWidth 商品图原始的宽度 必填 string
imgUrl 商品图片的URL,必须是云服务器上的可访问到的图片地址 必填 string
imgScale 商品图在画布中的缩放比例 必填 string
imgX 商品图在画布的X坐标 必填 string
imgY 商品图在画布的Y坐标 必填 string
notifyhook 回调地址,为空时不进行回调通知,建议填写 非必填 string
prompt 提示词,支持中文(会自动翻译成英文)、英文 必填 string

响应示例:

{
    "code": 1,
    "description": "Submit success",
    "result": "123"
} 
参数名称 参数说明 类型
code 状态码: 1(提交成功), 22(排队中), 23(队列已满,请稍后尝试),24(prompt包含敏感词),other(错误) integer(int32)
description 描述 string
result 任务ID string

2.0 放大单张图片

接口地址:/mjApi/upScale

请求方式:POST

请求数据类型:application/json

响应数据类型:/

接口描述:通过任务 ID,放大4合1的拼图中的一张

请求示例:

{
        'taskId' => '123',
        'numId' => '3',
        'notifyHook' => ''
}
    
参数名称 参数含义 是否必选 参数类型 备注
taskId 任务ID 必填 string
numId 图片位置ID,4合1拼图的图片共4张图,分别是1(左上)、2(右上)、3(左下)、4(右下) 必填 string
notifyhook 回调地址,为空时不进行回调通知,建议填写 非必填 string

响应示例:

{
    "code": 1,
    "description": "Submit success",
    "result": "123"
} 
参数名称 参数说明 类型
code 状态码: 1(提交成功), 22(排队中), 23(队列已满,请稍后尝试),24(prompt包含敏感词),other(错误) integer(int32)
description 描述 string
result 任务ID string