跳转到主要内容

接口

MethodEndpointDescription
POST/api/v1/generateTask/midjourney创建生成任务
GET/api/v1/statusTask/midjourney查询任务状态

认证

所有请求需在请求头中携带 API 密钥:
Authorization: Bearer YOUR_API_KEY

请求体

{
  "request_type": "async",
  "callback_url": "https://...",
  "provider": "auto",
  "input": {
    "mode": "text-to-image",
    "version": "v7",
    "speed": "fast",
    "prompt": "..."
  }
}

参数

通用参数

request_type
string
默认值:"async"
async(轮询)或 callback(webhook)
callback_url
string
回调 URL,当 request_type=callback 时必填(条件必填)
provider
string
默认值:"auto"
路由策略:auto、value 或 official

输入参数

所有模式均需 input 对象及模式专属参数。 通用输入参数:
mode
string
必填
操作模式:text-to-image、image-to-image、vary 或 upscale
version
string
默认值:"v6.1"
模型版本(见下方版本说明)。可选:‘v6’、‘v6.1’、‘v7’、‘niji 6’、‘niji 7’
speed
string
默认值:"fast"
生成速度:‘fast’ 或 ‘turbo’
可选增强参数:
enableTranslation
boolean
默认值:"false"
自动将 prompt 翻译为英文以提高效果。英文 prompt 在 Midjourney 中通常效果更好。
aspect
string
默认值:"1:1"
图像宽高比。可选:1:1(正方形)、4:3(经典)、2:3(竖版)、16:9(宽屏)、9:16(手机)。完整列表:1:1、1:2、2:1、2:3、3:2、3:4、4:3、5:6、6:5、9:16、16:9
chaos
integer
默认值:"0"
变体程度(0-100)。低(0-30):结果稳定。中(30-70):平衡多样。高(70-100):多样、意外效果。
stylize
integer
默认值:"100"
艺术感与真实感平衡(0-1000)。低(0-250):真实、具象。中(250-750):平衡。高(750-1000):强烈艺术感。
weird
integer
默认值:"0"
超现实/非常规效果(0-3000)。低(10-300):轻微异样。中(300-1000):明显非常规元素。高(1000-3000):极端超现实。

模型版本说明

可选版本: v6v6.1v7niji 6niji 7(默认:v6.1 v7(最新,2025 年 4 月)
  • 综合质量最佳,文字与图像理解有突破
  • 人体结构、手部、物体纹理精度高
  • 含 Sketch Mode 快速迭代及增强图像参考能力
  • 推荐:追求最高质量与细节的专业创作
v6.1(默认,2024 年 7 月)
  • 比 v6 约快 25%,结果更连贯
  • 细节与纹理精确,速度与质量平衡良好
  • 推荐:通用用途和生产流程
v6(2023 年 12 月)
  • 更长 prompt 的准确度与连贯性提升
  • 高级图像提示与 remix 能力
  • 推荐:需要 v6 特性的项目
niji 7(动漫最新版)
  • 专业动漫创作,角色控制精确、风格丰富
  • 光影突出,可从写实到高度风格化灵活调整
  • 多角色一致性与美学质量出色
  • 推荐:动漫、漫画、插画类项目
niji 6(2024 年 6 月)
  • 面向东方/动漫审美,日文渲染更好
  • 动漫眼部结构与细节表现更好
  • 推荐:带日文的动漫风格插画

Mode: text-to-image(文生图)

从文字描述生成图像。
mode
string
必填
设为 ‘text-to-image’
prompt
string
必填
文字描述,1-2000 字符
version
string
必填
模型版本:‘v6.1’、‘v7’、‘niji 6’ 或 ‘niji 7’
speed
string
必填
生成速度:‘fast’ 或 ‘turbo’
注意:text-to-image 模式也支持上述可选增强参数(aspect、chaos、stylize、weird、enableTranslation)。

Mode: image-to-image(图生图)

基于参考图生成新图。prompt 用描述性语言,而非编辑指令。 最佳实践:描述期望结果,而非编辑动作。
  • ✅ 好:“a dog lying in a park”
  • ❌ 差:“change the background to a park”
mode
string
必填
设为 ‘image-to-image’
prompt
string
必填
期望结果的描述(非编辑指令)。使用描述性语言:‘a dog in a park’ 而非 ‘change background to park’
image_urls
string[]
必填
参考图 URL 数组。参考图越多,对输出的控制越少。建议 1-2 张以取得更好效果
version
string
必填
模型版本:‘v6.1’、‘v7’、‘niji 6’ 或 ‘niji 7’
speed
string
必填
生成速度:‘fast’ 或 ‘turbo’

Mode: upload-paint(局部重绘 / 区域编辑)

通过绘制蒙版编辑图像特定区域。需精确的蒙版定义。
mode
string
必填
设为 ‘upload-paint’
prompt
string
必填
蒙版区域的文字描述
image_urls
string[]
必填
包含 1 个图片 URL 的数组(待编辑的源图)
version
string
必填
模型版本:‘v6.1’、‘v7’、‘niji 6’ 或 ‘niji 7’
speed
string
必填
生成速度:‘fast’ 或 ‘turbo’
mask
object
必填
重绘区域(二选一:areas 或 url)
canvas
object
必填
画布尺寸
imgPos
object
必填
图片在画布上的位置与尺寸

Mode: vary(创建变体)

生成与前一结果风格相近但略有变化的版本。
mode
string
必填
设为 ‘vary’
taskId
string
必填
前一任务 ID
imageIndex
integer
必填
前一结果中的图片索引(0-3)
type
integer
必填
变体强度:0=轻微变体,1=明显变体
prompt
string
变体的可选文字引导

Mode: upscale(高分辨率放大)

将前一结果放大至更高分辨率。
mode
string
必填
设为 ‘upscale’
taskId
string
必填
前一任务 ID
imageIndex
integer
必填
前一结果中的图片索引(0-3)
type
integer
必填
放大类型:0=标准 HD,1=创意 HD,2=2x HD,3=4x HD

可用模式

当前可用:
  • text-to-image — 文生图
  • image-to-image — 基于参考图的图生图
  • upload-paint — 区域重绘(需蒙版)
  • vary — 生成风格相似的变体
  • upscale — 高分辨率放大
额外能力(需联系我们开通):
  • Outpaint — 扩展画面边界
  • Retexture — 应用新纹理
  • Remove Background — 背景移除
  • Reroll — 重新执行生成任务

示例

文生图

curl -X POST "https://api.apixo.ai/api/v1/generateTask/midjourney" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "callback",
    "callback_url": "https://your-server.com/callback",
    "provider": "value",
    "input": {
      "mode": "text-to-image",
      "prompt": "一个温馨的赛博朋克咖啡馆,霓虹灯光,电影级照明",
      "version": "v7",
      "speed": "fast",
      "aspect": "16:9",
      "enableTranslation": true,
      "stylize": 500,
      "chaos": 20
    }
  }'

图生图

curl -X POST "https://api.apixo.ai/api/v1/generateTask/midjourney" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "async",
    "provider": "official",
    "input": {
      "mode": "image-to-image",
      "prompt": "a dog lying in a beautiful park with green grass and trees",
      "image_urls": ["https://example.com/dog-at-home.jpg"],
      "version": "v7",
      "speed": "fast"
    }
  }'

Upload-Paint(局部重绘)

curl -X POST "https://api.apixo.ai/api/v1/generateTask/midjourney" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "async",
    "provider": "official",
    "input": {
      "mode": "upload-paint",
      "prompt": "add a modern coffee machine in the center",
      "image_urls": ["https://example.com/cafe.jpg"],
      "version": "v7",
      "speed": "fast",
      "mask": {
        "areas": [{
          "width": 512,
          "height": 512,
          "points": [10,10,10,100,100,100,100,10]
        }]
      },
      "canvas": {
        "width": 1024,
        "height": 1024
      },
      "imgPos": {
        "width": 512,
        "height": 512,
        "x": 256,
        "y": 256
      }
    }
  }'

Vary(创建变体)

curl -X POST "https://api.apixo.ai/api/v1/generateTask/midjourney" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "async",
    "input": {
      "mode": "vary",
      "taskId": "task_previous_midjourney",
      "imageIndex": 0,
      "type": 1,
      "prompt": "add more vibrant colors"
    }
  }'

Upscale(放大)

curl -X POST "https://api.apixo.ai/api/v1/generateTask/midjourney" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "async",
    "input": {
      "mode": "upscale",
      "taskId": "task_previous_midjourney",
      "imageIndex": 2,
      "type": 1
    }
  }'

响应

POST /api/v1/generateTask/midjourney

成功时返回 taskId,用于后续查询状态。 成功:
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_12345678"
  }
}
错误:
{
  "code": 400,
  "message": "Insufficient credits",
  "data": null
}

GET /api/v1/statusTask/midjourney

通过 taskId 查询任务执行状态与结果。
curl -X GET "https://api.apixo.ai/api/v1/statusTask/midjourney?taskId=task_12345678" \
  -H "Authorization: Bearer YOUR_API_KEY"
成功:
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_12345678",
    "state": "success",
    "resultJson": "{\"resultUrls\":[\"https://r2.apixo.ai/img1.png\",\"https://r2.apixo.ai/img2.png\",\"https://r2.apixo.ai/img3.png\",\"https://r2.apixo.ai/img4.png\"]}",
    "createTime": 1767965610929,
    "completeTime": 1767965652317,
    "costTime": 41388
  }
}
失败:
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_12345678",
    "state": "failed",
    "failCode": "CONTENT_VIOLATION",
    "failMsg": "Content does not meet safety guidelines"
  }
}

状态响应字段

taskId
string
任务唯一标识。
state
string
当前任务状态:pendingprocessingsuccessfailed
resultJson
string
包含 resultUrls 数组的 JSON 字符串。仅在成功时存在。使用 JSON.parse() 解析。
failCode
string
错误码。仅当 statefailed 时存在。详见错误码
failMsg
string
可读的错误信息。仅当 statefailed 时存在。
createTime
integer
任务创建时间戳(Unix 毫秒)。
completeTime
integer
任务完成时间戳(Unix 毫秒)。
costTime
integer
处理耗时(毫秒)。

错误码

CodeDescription
400参数无效或请求错误
401API 密钥无效或缺失
429超过速率限制
Fail CodeDescription
CONTENT_VIOLATION内容违反安全准则
INVALID_IMAGE_URL无法访问提供的图片 URL
INVALID_TASK_ID前一任务 ID 无效

速率限制

LimitValue
Requests10000 / minute
Concurrent tasks1000
超出限制返回 429 错误。请稍后重试。

提示

  • Prompt 翻译:非英文 prompt 可开启 enableTranslation: true。英文 prompt 在 Midjourney 中通常效果更好。
  • 宽高比:按用途选择:
    • 1:1 — 社交媒体、头像
    • 4:3 — 经典照片、演示
    • 16:9 — 宽屏、视频、横幅
    • 9:16 — 手机故事、竖屏视频
  • Chaos 参数:控制结果多样性:
    • 0-30 — 结果稳定、可预测(建议生产环境)
    • 30-70 — 平衡多样与创意
    • 70-100 — 最大多样性,实验性输出
  • Stylize 参数:真实感与艺术感平衡:
    • 0-250 — 贴近字面、写实
    • 250-750 — 平衡(默认 100)
    • 750-1000 — 高艺术感、创意解读
  • Weird 参数:添加超现实/非常规元素:
    • 10-300 — 轻微异样
    • 300-1000 — 明显非常规元素
    • 1000-3000 — 极端超现实与抽象
  • 生成时间
    • fast 模式:约 30-45 秒,生成 4 张图
    • turbo 模式:约 15-25 秒,更快
    • 提交任务后等待 20 秒,再每隔 3 秒轮询
  • 回调模式:建议使用 callback 模式,避免频繁轮询。
  • 图片有效期:结果 URL 有效期为 15 天。请及时下载。
  • 内容审核:prompt 需符合安全准则。
  • 版本选择:参见上方模型版本说明,按用途选择合适版本
  • 推荐流程
    1. text-to-image 生成初始 4 张图
    2. 选择心仪图片(0-3),用 upscale 获取高分辨率
    3. 或用 vary 生成更多变体
    4. 反复迭代直至满意
  • 图生图模式
    • prompt 使用描述性语言:描述想看到的内容,而非编辑动作
    • 例:“a dog in a park” 而非 “change background to park”
    • 参考图越多,对输出控制越少。建议 1-2 张效果最佳
  • Upload-paint 模式(局部重绘):
    • mask.areas:用 width、height 和 points 数组定义多边形。points 按顺时针为 [x1,y1,x2,y2,…],从左上角起
    • mask.url:黑白蒙版图,尺寸与源图一致(白色=重绘区)。支持 base64
    • imgPos:指定图片在画布上的位置与尺寸
  • 放大类型
    • Type 0:标准 HD
    • Type 1:创意 HD(增加创意细节)
    • Type 2:2x HD 分辨率
    • Type 3:4x HD 分辨率
  • 图片格式image_urls 支持 JPG、PNG、WebP,单张最大 10MB。

**结果 URL 15 天后失效。**请及时下载并保存重要输出。高并发场景建议使用 callback 模式,避免频繁轮询。

相关