Midjourney 生图 API
Essevin 上的 Midjourney v8.2——固定四张出图的任务、提示词参数、画幅比例与任务生命周期。
Essevin 上的 Midjourney 是异步接口:先提交任务,再轮询 Essevin 任务 ID。请使用 Midjourney 分组的密钥,正式发起付费任务前先用 GET /v1/models 确认准确的模型 ID。
端点
| 方法 | 路径 | 用途 |
|---|---|---|
| POST | /v1/images/generations | 提交 Midjourney 生图任务 |
所有请求使用 Authorization: Bearer sk-你的密钥 和 Content-Type: application/json。模型 ID 为 midjourney-v8-2。
每个任务固定返回四张图
这个模型每次任务固定出一组四张图,返回的每一张都计费。张数由官方写死:n 只接受 4 或整个省略,没有办法只要一张。请按每次提交四张图来做预算。
请求契约
| 字段 | 必填 | 说明 |
|---|---|---|
model | 是 | midjourney-v8-2 |
prompt | 是 | 画面描述加可选参数。只传图片、没有描述的请求会被拒绝 |
images | 否 | 最多一张参考图,形如 {"url": "https://…"} 或 {"file_id": "…"} |
n | 否 | 只能是 4,或者直接省略。其他值一律拒绝 |
quality | 否 | 这个模型不使用该字段。要 2K 请改在提示词里写 --hd |
curl https://api.essevin.com/v1/images/generations \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{"model":"midjourney-v8-2","prompt":"a red apple on a wooden table, studio light --ar 16:9"}'尺寸与画幅比例
图片尺寸不是请求字段,而是由提示词里的 --ar 决定,--hd 会以大约两倍的边长原生出图。下表尺寸均为实测值,不是换算得出的——--hd 并不是精确的两倍。
--ar | 默认 | 加 --hd |
|---|---|---|
1:1(默认) | 1024 × 1024 | 2048 × 2048 |
16:9 | 1456 × 816 | 2944 × 1648 |
9:16 | 816 × 1456 | 1648 × 2944 |
4:3 | 1232 × 928 | 2544 × 1904 |
21:9 | 1680 × 720 | 3376 × 1440 |
14:1 | 4096 × 288 | 拒绝——见下文 |
--ar 只接受整数比,--ar 1.5:1 会被拒绝。横竖两个方向的比例都不得超过 14:1,而且 --hd 会把这个上限压到 4:1,所以 --hd --ar 14:1 会被拒绝,--hd --ar 4:1 则出图 4096 × 1184。
提示词参数
下列参数会被接受并透传:
| 参数 | 取值范围 | 用途 |
|---|---|---|
--ar | 整数比 | 画幅比例 |
--hd | 开关 | 原生 2K 出图 |
--s / --stylize | 0-1000 | 风格化强度 |
--c / --chaos | 0-100 | 四张图之间的差异度 |
--weird / --w | 0-3000 | 非常规美学 |
--iw | 0-3 | 参考图权重 |
--sref + --sw | --sw 0-1000 | 风格参考及其强度 |
--no | 文本 | 排除元素 |
--seed | 整数 | 复现结果 |
--tile、--exp | 开关 / 0-100 | 无缝平铺;动态范围 |
这个模型版本不接受的参数
下列参数在提交时直接返回 400,错误信息里会说明原因。之所以拒绝而不是转发,是因为官方要么静默忽略它们——让你为一个根本没生效的效果付钱——要么在几分钟后把任务判失败。
| 参数 | 原因 |
|---|---|
--q / --quality | 在这个模型版本上没有效果 |
--niji | Niji 是另一个模型版本,不是这里的参数 |
--repeat / --r | 没有效果;每个任务的出图张数是固定的 |
--oref、--cref | v8.x 上没有 Omni 参考与角色参考 |
--stealth、--stop | 这个模型版本不支持 |
--draft | 每个任务会返回 24 张低分辨率图;不提供 |
--profile | 本接口不支持个性化配置档 |
:: | 这个模型版本不支持多段提示词权重 |
提交与轮询
提交成功返回 202,任务 ID 在 id 字段,同时返回 images_per_task。查询方式与其他异步媒体任务相同,不要在查询时传计费标头:
-H "Authorization: Bearer sk-你的密钥"status 依次经过 queued → processing → completed 或 failed,只有后两者是终态,其他任何值都按进行中处理。完成的任务在 outputs 里带四个输出地址,地址在 console.essevin.com 域名下,是自任务完成起 6 小时有效的签名链接;再次查询返回同一地址、不会续期,过期访问返回 410,请在有效期内下载保存。只有成功完成的任务才计费,失败的任务不计费。
失败情况
| 你看到的 | 含义 |
|---|---|
提交时返回 400 | 某个字段或提示词参数不合法。错误信息会指出是哪个,改正后重新提交 |
| 任务失败,内容被拒 | 提示词未通过内容审核。改写后重新提交 |
| 任务失败,服务繁忙 | 该模型在当前套餐分组下已达并发上限。稍后重试;不计费 |
这个模型的并发很有限
Midjourney 同时只允许少量提示词在出图,远少于同步生图模型。并行提交一大批任务只会让其中大多数失败,而不是排队等待。请少量多次提交,对返回繁忙的那些重试即可——失败的任务不计费。
价格
Midjourney 按返回的图片张数计费,所以一个任务按所在档位的单价收四张图的费用:默认出图与 --hd 2K 出图分属两个价格档。官方牌价见价格页。你的实际单价以登录后的模型广场为准,每次请求的实际扣费见用量记录。