图像生成 · API v1
Midjourney 生图 API
通过 Midjourney 生成图片。本页列出本站当前支持的参数、默认配置和完整调用示例。
/api/v1/images/generationstaskId,不代表图片已生成。每 3–5 秒查询一次任务,图片下载也需携带 API Key。默认配置参考:0.06 积分。实际消耗以提交前报价和任务结算为准。
快速开始:第一次生成图片
- 准备账户与密钥
登录后在开发者控制台创建 API Key,并确认账户有足够积分。保存完整密钥,关闭后无法再次查看。
- 选择模型与参数
在侧边栏选择一个模型,复制该页的请求示例。将
YOUR_API_KEY替换为自己的密钥,修改prompt为画面描述。先使用示例默认参数和一张图片。 - 确认积分报价
把相同请求发送到
POST /api/v1/images/quote,查看返回的estimatedPoints。报价不生成图片,也不冻结积分。 - 提交生成任务
发送到
POST /api/v1/images/generations。每次新任务更换Idempotency-Key;返回 HTTP 202 后保存taskId,此时图片仍在生成中。 - 查询并下载图片
每 3–5 秒请求一次
GET /api/v1/tasks/{taskId}。将路径中的占位符替换为刚才的任务 ID。任务完成后读取task.images[].url,拼接本站域名并携带同一密钥下载。
请求与响应示例在桌面端右侧展示,手机端位于参数说明之后。遇到报错?查看常见错误处理。
OpenAI 兼容文生图
客户端的 Base URL 填 https://luocisheng.cn/api/v1,使用本站 API Key,模型填本站模型 ID。仍调用 POST /api/v1/images/generations,以 model 字段提交。成功后直接读取 data[].b64_json。
{
"model": "midjourney",
"prompt": "一只坐在窗边的猫,柔和的自然光",
"n": 1
}请关闭客户端自动重试,并为每次新生成传入独立的 Idempotency-Key。生成等待最多 120 秒;超时后可查询错误中的 task_id,或复用原键及原参数。图片编辑请向 POST /api/v1/images/edits 提交 multipart 表单,使用 image 或 image[] 上传参考图,模型须支持图生图。文生图和图片编辑均可用 stream=true 接收最终 SSE 事件;流式仅支持一张结果,不提供过程预览或遮罩编辑。
创建与使用密钥
- 进入开发者控制台的 API 密钥页面,创建密钥并设置便于识别的名称。
- 复制完整密钥并保存在自己的服务端环境变量中;页面只展示一次完整密钥。
- 在每次 API 请求中携带下面的鉴权头,包括任务查询和图片下载。
- 密钥不再使用或意外泄露时,在开发者控制台撤销,并为自己的应用更换新密钥。
所有调用使用请求头 Authorization: Bearer YOUR_API_KEY,JSON 请求还需 Content-Type: application/json。请在自己的服务端使用密钥,不要放入网页、公开代码或 URL。
API Key 只授予图像和视频生成接口访问权限。撤销立即影响后续请求;同账户其他有效密钥仍可查询已提交的 API 任务。
选择模型与请求参数
侧边栏模型文档列出各模型的可用选项。modelId 使用本站业务标识,不要用展示名称替代;也可以携带密钥调用 GET /api/v1/models 获取当前账户可用模型。
以下选项由 Midjourney 的当前能力配置生成。 支持参考图的图片模型可先直传图片,再通过 referenceImageIds 进行图生图;视频接口支持文字和参考图片输入。参考视频、参考音频、视频编辑和回调暂未开放,具体参数见各视频模型文档。
modelIdstring · 必填固定为 midjourney
promptstring · 按操作填写描述要生成的画面
numImagesinteger · 可选示例值为 1;实际可用数量和输出规则由模型决定
aspectRatiostring · 可选auto / 1:1 / 9:16 / 16:9 / 3:4 / 4:3 / 2:3 / 3:2 / 1:2 / 2:1 / 9:21 / 21:9;默认 auto
qualitystring · 可选0.25 / 0.5 / 1 / 2;默认 1
negativePromptstring · 可选说明希望避免的画面元素
seedinteger · 可选随机种子,具体有效范围由模型校验
referenceImageIdsstring[] · 可选直传并确认后返回的本人素材 ID,最多 16 张,每张最多 5MB;不传时为文生图。可与 referenceUrls 配合使用,两种输入合计不超过上限;高级操作还须满足对应规则。
generationSpeedstringrelax / fast / turbo;默认 relax,影响报价
referenceUrlsstring[]最多 16 张公开 HTTP(S) 参考图 URL
imageAdvanced.actionenumimagine / blend / edits / describe / inpaint / modal / upscale / variation / high_variation / low_variation / reroll / zoom / pan / remix_strong / remix_subtle;imagine / blend / edits / describe / inpaint / modal / upscale / variation / high_variation / low_variation / reroll / zoom / pan / remix_strong / remix_subtle
imageAdvanced.dimensionsenumSQUARE / PORTRAIT / LANDSCAPE
imageAdvanced.directionenumleft / right / up / down
imageAdvanced.indexnumber1–4;图像操作选择四宫格第 1–4 张;视频为 0–3
imageAdvanced.generationIndexnumber1–100;关联任务的第几次生成请求,从 1 开始
imageAdvanced.repeatnumber2–40;原生重复参数 2–40;按请求报价,结果数量由模型决定
imageAdvanced.zoomRationumber0–100
imageAdvanced.parentTaskIdstring本站 Midjourney API 任务 ID;只能引用本人任务
imageAdvanced.operationIdstring父任务 results[].operations[].id;用于精确选择高级放大等操作
imageAdvanced.maskUrlstring局部重绘的公开 PNG 遮罩 URL:透明区域重绘,白色区域保留
imageAdvanced.aspectRatiostring自定义正整数宽高比,例如 5:4,覆盖顶层 aspectRatio
imageAdvanced.metadataobject最多 4096 字符的 JSON 对象,仅保存调用方提供的附加数据
imageAdvanced.modeenumgenerate / edit;generate 生成;edit 图片编辑,编辑至少需要一张参考图
imageAdvanced.versionenum8.2 / 8.1 / 7 / 6.1 / 6 / 5.2 / 5.1;默认 8.2;niji 需选择 7 或 6
imageAdvanced.renderQualityenum0.25 / 0.5 / 1 / 2;渲染质量,与图片数量无关
imageAdvanced.rawbooleanimageAdvanced.tilebooleanimageAdvanced.nijibooleanimageAdvanced.draftbooleanimageAdvanced.hdbooleanimageAdvanced.contentFilterboolean是否启用内容过滤;模型自身规则仍然适用
imageAdvanced.stylizenumber0–1000
imageAdvanced.chaosnumber0–100
imageAdvanced.weirdnumber0–3000
imageAdvanced.imageWeightnumber0–3
imageAdvanced.characterWeightnumber0–100
imageAdvanced.styleWeightnumber0–1000
imageAdvanced.depthWeightnumber0–100
imageAdvanced.stopnumber10–100
imageAdvanced.stylestringimageAdvanced.characterReferencestring角色参考图片的公开 HTTP(S) URL
imageAdvanced.styleReferencestring风格参考图片的公开 HTTP(S) URL
imageAdvanced.depthReferencestring深度参考图片的公开 HTTP(S) URL
imageAdvanced.extrastring附加创作指令;仅允许文档列出的创作 flags
图生图与图片直传
- 携带本站 API Key 请求 POST /api/v1/reference-uploads/authorize,JSON 为 {"modelId":"midjourney","file":{"name":"reference.png","type":"image/png","size":12345}}。size 为真实文件字节数;支持 image/jpeg / image/png / image/webp,单张最多 5MB。
- 向返回的 uploadUrl 发送 PUT,以文件原始字节为请求体,原样携带返回的 headers;此步不要携带本站 API Key。上传凭证在 expiresAt 前有效。
- 携带本站 API Key 请求 POST /api/v1/reference-uploads/{uploadId}/complete,返回 id、mime、size。确认成功后再使用 id;重复确认返回 409。
- 在生成或报价请求中加入 referenceImageIds 数组,最多 16 张;填写 prompt 描述修改要求。素材仅限本人使用,过期后重新上传。参考图数量与提示词还须满足所选高级操作的要求;可继续使用原有 referenceUrls。
action 放在 imageAdvanced 中。blend 需要 2–4 张参考图;edits 需要提示词及参考图;describe 返回 task.results[].description。
后续操作填写本站 parentTaskId,图像 index 为 1–4。使用 task.results[].operations[].id 作为 operationId 可选择高级放大等精确操作;原始操作指令不公开。
局部重绘先提交 action=inpaint,按最高速度档预扣。查询到 task.results[].awaitingInput=true 后,在 expiresAt 前再次向图像生成接口提交 action=modal、原本站 parentTaskId、可选提示词、maskUrl 与 generationSpeed。返回原任务,不再次冻结。透明遮罩区域重绘,白色区域保留;不提供遮罩则扩图。相同继续参数可重试,修改已提交参数返回 409;确认超时只查询原任务。成功按所选速度结算差额,失败或过期退还预扣。
每个 numImages 单位代表一次请求,通常交付 1–4 张图;repeat 可重复生成。水印、内部任务标识、路由及原始回调均不开放。完整可用创作指令与例子见本页 Markdown 文档。
报价与 API 积分
详细价格表
6 个价格档位
| 创作模式 | 生成速度 | API 积分 / 次 |
|---|---|---|
| 图片生成 | relax | 0.06 |
| 图片生成 | fast | 0.076 |
| 图片生成 | turbo | 0.13 |
| 图片编辑 | relax | 0.076 |
| 图片编辑 | fast | 0.076 |
| 图片编辑 | turbo | 0.13 |
1 美元 = 1 API 积分。图片编辑与其它后续操作使用同一档售价。
每次请求收费,生成最多交付四张图;版本和创作参数同价。repeat 使用原生重复指令,仍按请求报价。
局部重绘按最高速度档预扣,继续时不重复冻结,成功按所选速度结算差额。
GET /api/v1/balance 返回 API 账面余额 balance、冻结积分 held 与可用积分 available。API 钱包初始为零,支持在开发者控制台自定义充值。
向 POST /api/v1/images/quote 发送与生成接口相同的参数,获得 estimatedPoints。报价不创建任务、不冻结积分。
1 美元 = 1 API 积分,支持小数。API 使用独立报价和 API 积分,不享受网站会员折扣。请在开发者控制台单独充值,网站原有余额保留且不互通。失败退款规则仍按模型规则执行。提交时冻结报价积分,结束后结算实际消耗。未结算时 chargedPoints 为 null;结算后为实际扣除的积分,失败是否收费沿用网站规则。
查询任务与下载图片
queued 表示排队,processing 表示生成中;这两种状态继续等待。succeeded 表示成功,partial 表示部分成功,failed 表示失败,进入这三种状态后停止轮询。下载前检查 task.images 是否有结果;没有图片时查看错误说明。
请求 GET /api/v1/tasks/{taskId}。任务状态可能为 queued、processing、succeeded、partial 或 failed。部分成功时仍可能返回图片,积分以 settled 和 chargedPoints 为准。
task.images[].url 是本站的相对路径,拼接本站域名后携带相同鉴权请求头下载。API 只能查询当前账户自己的 API 任务;全部创作记录和消耗可在任务日志与积分流水查看。
幂等重试与调用规则
每个新任务使用独立的 Idempotency-Key。网络超时重试时保持幂等键和参数不变,避免重复创建或冻结积分;更改参数会返回 409。幂等键为 8–128 位字母、数字或 ._:-,同账户多个密钥共用幂等范围。删除任务后不能依赖原键防止重复提交。
API Key 接入不受网页会员等级的任务并发上限限制,可同时提交多个任务;任务实际完成时间取决于排队与处理进度。
有效 API Key 的模型查询、报价、提交、任务查询和图片下载不设请求频率上限。建议每 3–5 秒查询一次生成中的任务,避免无效轮询;实际完成时间取决于排队与处理进度。无效密钥的重复认证尝试仍受防滥用保护。
错误处理
400参数无效,请检查模型能力与字段
401密钥无效或已撤销
402积分不足
404任务或图片不存在,或不属于当前账户
409幂等键对应的参数冲突
429无效密钥认证尝试过于频繁
5xx服务或图片暂不可用,稍后重试
错误响应统一包含 error 与 code。遇到提交超时,先使用原幂等键重试,避免重复付费。
