跳到主要内容

Midjourney 代理

通过 Midjourney Proxy 格式调用 Midjourney。所有接口均为 POST(除查询类),鉴权同其他接口。

调用流程​

  1. 提交任务(/mj/submit/*)→ 返回任务 ID;
  2. 轮询查询(/mj/task/{id}/fetch)→ 得到 status 与 imageUrl;
  3. 对生成的四宫格图按需发起 放大/变化/重绘(/mj/submit/change 或 /mj/submit/action)。

提交绘图​

POST /mj/submit/imagine
curl https://test.kailin.com.cn/mj/submit/imagine \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的令牌" \
-d '{ "prompt": "a cyberpunk cat, neon light --ar 16:9" }'
参数类型必填说明
promptstring是绘图提示词,可带 MJ 参数(--ar、--v 等)
base64Arrayarray否垫图(Base64 图片数组)
notifyHookstring否回调地址(也可用轮询)
statestring否自定义透传字段

响应:

{ "code": 1, "description": "提交成功", "result": "1792xxxx-task-id" }

code: 1 成功,result 即任务 ID;code: 21 表示需要再调 /mj/submit/modal 确认;code: 22 表示已存在相同任务;code: 9 表示排队中(result 为提示)。

查询任务​

GET /mj/task/{id}/fetch
curl https://test.kailin.com.cn/mj/task/1792xxxx-task-id/fetch \
-H "Authorization: Bearer sk-你的令牌"
{
"id": "1792xxxx-task-id",
"action": "IMAGINE",
"status": "SUCCESS",
"progress": "100%",
"imageUrl": "https://cdn.example.com/mj/xxx.png",
"prompt": "a cyberpunk cat, neon light --ar 16:9",
"submitTime": 1730000000000,
"finishTime": 1730000600000
}
字段说明
statusNOT_START / SUBMITTED / IN_PROGRESS / SUCCESS / FAILURE / CANCEL
imageUrl结果图地址(SUCCESS 后返回)
failReason失败原因(FAILURE 时返回)

批量查询​

POST /mj/task/list-by-condition
{ "ids": ["id1", "id2"] }

后续操作​

放大 / 变化 / 重绘​

POST /mj/submit/change
{ "taskId": "1792xxxx-task-id", "action": "UPSCALE", "index": 2 }
参数说明
actionUPSCALE 放大 / VARIATION 变化 / REROLL 重绘 / HIGH_VARIATION / LOW_VARIATION / ZOOM 等
index四宫格编号 1–4(UPSCALE / VARIATION 时必填)
customId也可直接传任务返回的按钮 customId

按钮交互(action)​

POST /mj/submit/action

对任务返回的 buttons 中的某个按钮发起点击(如 U/V 按钮、Regional、Pan 等):

{ "taskId": "1792xxxx-task-id", "customId": "MJ::JOB::upsample::3::uuid" }

其他提交接口​

接口说明
POST /mj/submit/blend多图融合(base64Array 2–4 张,dimensions 可选)
POST /mj/submit/describe图生文(传 base64 图片,返回四条候选提示词)
POST /mj/submit/modal提交 code: 21 任务的补充确认(taskId + prompt)
POST /mj/submit/shorten提示词精简分析
POST /mj/submit/simple-change简易变更:content 直接填 "任务ID U2" 这类快捷指令
POST /mj/submit/edits局部编辑
POST /mj/submit/video视频生成
POST /mj/submit/upload-discord-images上传图片获取引用地址
POST /mj/insight-face/swap换脸(InsightFace)

辅助接口​

接口说明
GET /mj/task/{id}/image-seed获取任务图片的 seed
GET /mj/image/{id}图片代理访问
提示

所有 submit 接口返回的 code: 21 都需要再调一次 /mj/submit/modal 才会真正执行;绘制人物特写等场景常见此流程。