Midjourney 代理
通过 Midjourney Proxy 格式调用 Midjourney。所有接口均为 POST(除查询类),鉴权同其他接口。
调用流程
- 提交任务(
/mj/submit/*)→ 返回任务 ID; - 轮询查询(
/mj/task/{id}/fetch)→ 得到status与imageUrl; - 对生成的四宫格图按需发起 放大/变化/重绘(
/mj/submit/change或/mj/submit/action)。
提交绘图
POST /mj/submit/imaginecurl 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" }'
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
prompt | string | 是 | 绘图提示词,可带 MJ 参数(--ar、--v 等) |
base64Array | array | 否 | 垫图(Base64 图片数组) |
notifyHook | string | 否 | 回调地址(也可用轮询) |
state | string | 否 | 自定义透传字段 |
响应:
{ "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}/fetchcurl 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
}
| 字段 | 说明 |
|---|---|
status | NOT_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 }
| 参数 | 说明 |
|---|---|
action | UPSCALE 放大 / 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 才会真正执行;绘制人物特写等场景常见此 流程。