帮助/API文档
  1. Mid journey文生图
帮助/API文档
  • 系统使用介绍
  • API介绍
  • 项目说明
  • 导言
  • 身份验证
  • 发出请求
  • 参数详情
  • OpenAI
    • 聊天(Chat)
      • 聊天完成对象
      • 聊天完成块对象
      • gpt-4-all
        • gpt-4-all(识图)
        • gpt-4-all(生成图片)
      • GPT创建聊天(补全)接口
      • 识图(gpt和gemini)
      • gpts
      • gemini-pro
    • 音频(Audio)
      • 创建语音
      • 创建转录
      • 创建翻译
    • 图像(Images)
      • README
      • 图像对象
      • 创建图像
      • 创建图片编辑
      • 创建图像变体
    • 文件(Files)
      • README
      • 文件对象
      • 上传文件
      • 删除文件
      • 检索文件
      • 检索文件内容
      • 列出文件
    • 自动补全(Completions)
      • 完成对象
      • 创建完成
    • 嵌入(Embeddings)
      • 嵌入对象
      • 创建嵌入
  • 音乐接口
    • Suno
      • 常用格式
        • 说明
        • 异步调用(API形式)格式
          • 任务提交
            • 生成歌曲
            • 生成歌词
            • 上传音乐
            • 歌曲拼接
          • 任务查询
            • 查询任务
            • 查询歌词
        • OpenAI 聊天格式
        • GoAmzAI格式
    • udio
      • 常用格式
        • 说明
        • 异步调用(API形式)格式
          • 任务提交
            • 生成歌曲
            • 续写
          • 任务查询
            • 查询任务
  • 绘图接口
    • Mid journey文生图
      • 说明:接口说明及参数
      • 任务提交
        • 提交Describe任务(图生文)
        • 提交Imagine任务(文生图、文图生图)
        • 提交Blend任务(图生图)
        • 绘图变化(UPSCALE; VARIATION; REROLL)
        • 执行动作(所有的关联按钮动作UPSCALE; VARIATION; REROLL; ZOOM等)
        • 绘图变化-simple(UPSCALE; VARIATION; REROLL)
        • 提交Modal(提交局部重绘、ZOOM)
        • 提交Shorten任务(prompt分析)
        • MJ上传图片获得url
        • 提交图片编辑任务
        • 提交Imagine任务(文生图、文图生图) Copy
      • 任务查询
        • 指定ID获取任务
        • 根据ID列表查询任务
        • 获取任务图片的seed
      • 提交swap_face任务
        POST
    • Flux文生图
      • 官方异步格式
        • flux生成图像
        • 指定ID获取任务
      • OpenAI 聊天格式
    • recraftv3文生图
      • OpenAI 聊天格式
      • OpenAI Dalle3格式
  • 视频接口
    • luma
      • 官方异步调用
        • 提交视频生成任务
        • 指定ID获取任务
      • GoAmzAI格式
        • 提交视频生成任务
        • 指定ID获取任务
      • OpenAI 聊天格式
    • runway
      • 官方异步调用
        • 提交视频生成任务
        • 指定ID获取任务
      • 简单格式(goamz/rocket)
        • 文本生成视频
        • 参考图片生成视频
        • video2video(视频转视频 风格重绘)
        • Act-one 表情迁移
        • 指定ID获取任务(免费)
    • pixverse
      • 提交视频生成任务
      • 指定ID获取任务
    • google-veo
      • 异步调用
        • 提交视频生成任务
        • 提交(带图)视频生成任务
        • 指定ID获取任务
      • OpenAI 聊天格式
    • veo Copy
      • 异步调用
        • 提交视频生成任务
        • 提交(带图)视频生成任务
        • 指定ID获取任务
      • OpenAI 聊天格式
  1. Mid journey文生图

说明:接口说明及参数

代理 MidJourney 的discord频道,实现api形式调用AI绘图

API接口说明

同时支持 Mid journey proxy Plus 以及 Mid journey proxy 接口协议
默认地址例子: https://{BASE_URL}/mj/submit/imagine
此处补充

切换 MJ mode方式:

1.通过 URL 路径切换
默认 /mj 是 fast mode
/mj-fast/mj 是 fast mode
/mj-turbo/mj 是 turbo mode
/mj-relax/mj 是 relax mode
例如: https://{BASE_URL}/mj-turbo/mj/submit/imagine

切换 MJ 返回的图片地址:

1.通过 URL 路径切换
默认 /mj 是管理员设置默认方式
/mj-{mode}-relay/mj 是使用服务转发地址,图片国内访问较快
/mj-{mode}-origin/mj 是使用discord 原地址,图片国外访问很快
/mj-{mode}-proxy/mj 是使用管理员设置的代理地址,图片国内访问较快
例如: https://{BASE_URL}/mj-turbo-proxy/mj/submit/imagine
例如: https://{BASE_URL}/mj-proxy/mj/submit/imagine

通常,应用程序是填写 /mj/ 前的地址
例如:
https://{BASE_URL}
https://{BASE_URL}/mj-turbo-proxy
2. 在令牌编辑,选择图片代理(推荐,可以设置自定义图片代理)
优先级: 令牌 > 路径 > 系统默认

创建新的绘画任务:

1.Blend、Describe、Imagine

2.查询任务进度

3.执行动作或绘图变化或提交Model

4.查询子任务进度

1. 数据结构

任务

字段类型示例描述
idstring1689231405853400任务ID
actionstringIMAGINE任务类型: IMAGINE(绘图)、UPSCALE(放大)、VARIATION(变化)、ZOOM(图片变焦)、PAN(焦点移动)、DESCRIBE(图生文)、BLEND(图片混合)、SHORTEN(prompt分析)、SWAP_FACE(人脸替换)
statusstringSUCCESS任务状态: NOT_START(未启动)、SUBMITTED(已提交处理)、MODAL(窗口等待)、IN_PROGRESS(执行中)、FAILURE(失败)、SUCCESS(成功)、CANCEL(已取消)
promptstring猫猫提示词
promptEnstringCat英文提示词
descriptionstring/imagine 猫猫任务描述
submitTimenumber1689231405854提交时间
startTimenumber1689231442755开始执行时间
finishTimenumber1689231544312结束时间
progressstring100%任务进度
imageUrlstringhttps://cdn.discordapp.com/attachments/xxx/xxx/xxxx.png生成图片的url, 成功或执行中时有值,可能为png或webp
failReasonstring[Invalid parameter] Invalid value失败原因, 失败时有值
propertiesobject{"finalPrompt": "Cat"}任务的扩展属性,系统内部使用
buttonsButton[][]任务完成后的可执行按钮

Button
执行放大后返回的参数内容

字段类型示例描述
customIdstringMJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862动作标识
emojistring🪄图标
labelstringMake Variations文本
typenumber2类型,系统内部使用
stylenumber2样式: 2(Primary)、3(Green)

properties 常见字段

字段类型示例描述
botTypestringNIJI_JOURNEYbot类型: MID_JOURNEY,NIJI_JOURNEY,INSIGHT_FACE
discordInstanceIdstring1118138338562560102执行该任务的实例ID(频道ID)
finalPromptstringCat消息内容提取出的prompt
messageIdstring1174910863984033903消息ID
messageContentstringCat - Image #1 <@590422081204912129>消息内容

2. /mj/submit/describe 图生文

参数:

{
  // 图片的base64字符串
  "base64": "data:image/png;base64,xxx"
}

后续任务完成后,properties中finalPrompt即为图片生成的prompt,finalZhPrompt为翻译的中文

{
  "id":"14001929738841620",
  "action":"DESCRIBE",
  "status": "SUCCESS",
  "description":"/describe 14001929738841620.png",
  "imageUrl":"https://cdn.discordapp.com/attachments/xxx/xxx/14001929738841620.png",
  "properties": {
    "finalPrompt": "1️⃣ Cat --ar 5:4\n\n2️⃣ Cat2 --ar 5:4\n\n3️⃣ Cat3 --ar 5:4\n\n4️⃣ Cat4 --ar 5:4",
    "finalZhPrompt": "1️⃣ 猫 --ar 5:4\n\n2️⃣ 猫2 --ar 5:4\n\n3️⃣ 猫3 --ar 5:4\n\n4️⃣ 猫4 --ar 5:4"
  }
  // ...
}

3. 任务提交返回

code=1: 提交成功,result为任务ID

{
  "code": 1,
  "description": "提交成功",
  "result": "14001929738841620",
  "properties": {
      "discordInstanceId": "1118138338562560102"
  }
}

code=22: 提交成功,进入队列等待

{
    "code": 22,
    "description": "排队中,前面还有1个任务",
    "result": "14001929738841620",
    "properties": {
        "numberOfQueues": 1,
        "discordInstanceId": "1118138338562560102"
     }
}

code=23: 队列已满,请稍后尝试

{
    "code": 23,
    "description": "队列已满,请稍后尝试",
    "result": "14001929738841620",
    "properties": {
        "discordInstanceId": "1118138338562560102"
     }
}

code=24: prompt包含敏感词

{
    "code": 24,
    "description": "可能包含敏感词",
    "properties": {
        "promptEn": "nude body",
        "bannedWord": "nude"
     }
}

code=3: 关联任务不存在或已失效;母图账号被封

{
    "code": 3,
    "description": "关联任务不存在或已失效/Account unavailable or accountFilter Setting error",
    "properties": {
        "promptEn": "nude body",
        "bannedWord": "nude"
     }
}

other: 提交错误,description为错误描述

4. 执行任务的关联动作
调用 /mj/submit/action,几乎所有的button都做了支持,除了以下情况:

图生文结果的 🎉Imagine all

图片放大后的

{
  // 关联任务的ID
  "taskId": "1689216801333574",
  // 动作标识
  "customId": "MJ::JOB::reroll::0::1c6dff5e-5632-40c6-9d4c-afb261705313::SOLO"
}

⚠️ 注意: 某些场景需要modal弹框确认
(即接口先调用弹窗确认接口在调用关联动作接口)

执行CustomZoom(自定义变焦)

执行️Region(局部重绘)

执行PicReader(Describe后选择生图)

执行PromptAnalyzer(Shorten后选择生图)

💡

开启Remix模式时,执行Reroll、Variation、Pan也需要弹框确认;但账号设置了remix自动提交时,不需要确认

需要确认时返回的code为 21,示例:

{
  "code": 21,
  "description": "窗口等待",
  "result": "14001929738841620"
}

该任务状态为MODAL,但不会进队列影响并发。需调用/mj/submit/modal提交最终任务

{
  // 需确认的任务ID
  "taskId": "1689228047868174",
  // prompt: 为空时使用原任务的prompt
  "prompt": "Cat"
}
  • CustomZoom的prompt需要设置--zoom(1到2之间),例如: Cat --zoom 1.5
  • ️Vary (Region) 需要额外传maskBase64: 局部重绘的蒙版base64(底色纯黑,选中区域纯白)

5./mj/submit/shorten prompt分析

参数

{
  "prompt": "️appdash appdash, in the style of expert draftsmanship, commission for, ethereal, dreamlike quality, dadaistic, toonami"
}

后续任务完成后,properties中finalPrompt即为分析结果,finalZhPrompt为翻译的中文

{
  "id":"1689252749098647",
  "action":"SHORTEN",
  "status": "SUCCESS",
  "description":"/shorten appdash appdash, in the style of expert draftsmanship, commission for, ethereal, dreamlike quality, dadaistic, toonami",
  "properties": {
    "finalPrompt": "## Important tokens\n**appdash** **appdash**, in the ~~style~~ of ~~expert~~ **draftsmanship**, commission for, ethereal, dreamlike quality, ~~dadaistic~~, **toonami**\n## Shortened prompts\n1️⃣ appdash appdash, draftsmanship, commission for, ethereal, toonami\n\n2️⃣ appdash appdash, draftsmanship, commission, toonami\n\n3️⃣ appdash appdash, draftsmanship, toonami\n\n4️⃣ appdash appdash, toonami\n\n5️⃣ appdash appdash",
    "finalZhPrompt": "## 重要词汇\n**appdash** **appdash**,以专家的绘画风格,委托制作,飘渺的,梦幻般的质感,达达主义的,**toonami**\n## 简化提示\n1️⃣ appdash appdash,绘画风格,委托制作,飘渺的,toonami\n\n2️⃣ appdash appdash,绘画风格,委托制作,toonami\n\n3️⃣ appdash appdash,绘画风格,toonami\n\n4️⃣ appdash appdash,toonami\n\n5️⃣ appdash appdash"
  }
  // ...
}

对该任务执行 Show Details 动作,能获得进一步的分析结果

{
  "id":"1689253263953453",
  "action":"SHORTEN",
  "status": "SUCCESS",
  "description":"/up 168925266642808397 Show Details",
  "properties": {
    "finalPrompt": "## Important tokens\n**appdash** (1.00) **appdash** (0.79), in the style (0.01) of expert (0.00) **draftsmanship** (0.09), commission (0.08) for, ethereal (0.05), dreamlike (0.02) quality (0.01), dadaistic (0.01), **toonami** (0.19)\n\n██████████ appdash\n████████░░ appdash\n██░░░░░░░░ toonami\n█░░░░░░░░░ draftsmanship\n█░░░░░░░░░ commission\n█░░░░░░░░░ ethereal\n## Shortened prompts\n1️⃣ appdash appdash, draftsmanship, commission for, ethereal, toonami\n\n2️⃣ appdash appdash, draftsmanship, commission, toonami\n\n3️⃣ appdash appdash, draftsmanship, toonami\n\n4️⃣ appdash appdash, toonami\n\n5️⃣ appdash app",
    "finalZhPrompt": "## 重要的词语\n**appdash** (1.00) **appdash** (0.79),以专家级(0.01) **绘画技巧** (0.09) 的风格,委托(0.08) 制作,飘渺的(0.05),梦幻般的(0.02) 质感(0.01),达达主义的(0.01),**toonami** (0.19)\n\n██████████ appdash\n████████░░ appdash\n██░░░░░░░░ toonami\n█░░░░░░░░░ draftsmanship\n█░░░░░░░░░ commission\n█░░░░░░░░░ ethereal\n## 简化的提示\n1️⃣ appdash appdash,绘画技巧,委托制作,飘渺,toonami\n\n2️⃣ appdash appdash,绘画技巧,委托制作,toonami\n\n3️⃣ appdash appdash,绘画技巧,toonami\n\n4️⃣ appdash appdash,toonami\n\n5️⃣ appdash appdash"
  }
  // ...
}

6. 获取任务图片的seed

绘图任务执行后,不会设置seed,如需获取seed,需要执行 /mj/task/{id}/image-seed

  • code=1: 获取成功,result为图片对应的seed
{
  "code": 1,
  "description": "成功",
  "result": "636646138"
}
  • other: 执行错误,description为错误描述

7.部分buttons解释:

放大1234
[{"emoji":"","style":2,"label":"U1","type":2,"customId":"MJ::JOB::upsample::1::4eefc978-b874-4c97-ace0-f4d44d12464f"},
{"emoji":"","style":2,"label":"U2","type":2,"customId":"MJ::JOB::upsample::2::4eefc978-b874-4c97-ace0-f4d44d12464f"},
{"emoji":"","style":2,"label":"U3","type":2,"customId":"MJ::JOB::upsample::3::4eefc978-b874-4c97-ace0-f4d44d12464f"},
{"emoji":"","style":2,"label":"U4","type":2,"customId":"MJ::JOB::upsample::4::4eefc978-b874-4c97-ace0-f4d44d12464f"},
重绘
{"emoji":"🔄","style":2,"label":"","type":2,"customId":"MJ::JOB::reroll::0::4eefc978-b874-4c97-ace0-f4d44d12464f::SOLO"},
仿制1234
{"emoji":"","style":2,"label":"V1","type":2,"customId":"MJ::JOB::variation::1::4eefc978-b874-4c97-ace0-f4d44d12464f"},
{"emoji":"","style":2,"label":"V2","type":2,"customId":"MJ::JOB::variation::2::4eefc978-b874-4c97-ace0-f4d44d12464f"},
{"emoji":"","style":2,"label":"V3","type":2,"customId":"MJ::JOB::variation::3::4eefc978-b874-4c97-ace0-f4d44d12464f"},
{"emoji":"","style":2,"label":"V4","type":2,"customId":"MJ::JOB::variation::4::4eefc978-b874-4c97-ace0-f4d44d12464f"}]

Upscale (Subtle)
[{"emoji":"upscale_1","style":2,"label":"Upscale (Subtle)","type":2,"customId":"MJ::JOB::upsample_v6_2x_subtle::1::cb0136fe-5aca-4590-89b3-6ca527b0a423::SOLO"},
Upscale (Creative)
{"emoji":"upscale_1","style":2,"label":"Upscale (Creative)","type":2,"customId":"MJ::JOB::upsample_v6_2x_creative::1::cb0136fe-5aca-4590-89b3-6ca527b0a423::SOLO"},
弱变换
{"emoji":"🪄","style":2,"label":"Vary (Subtle)","type":2,"customId":"MJ::JOB::low_variation::1::cb0136fe-5aca-4590-89b3-6ca527b0a423::SOLO"},
强变换
{"emoji":"🪄","style":2,"label":"Vary (Strong)","type":2,"customId":"MJ::JOB::high_variation::1::cb0136fe-5aca-4590-89b3-6ca527b0a423::SOLO"},
局部重绘
{"emoji":"🖌️","style":2,"label":"Vary (Region)","type":2,"customId":"MJ::Inpaint::1::cb0136fe-5aca-4590-89b3-6ca527b0a423::SOLO"},
变焦2倍
{"emoji":"🔍","style":2,"label":"Zoom Out 2x","type":2,"customId":"MJ::Outpaint::50::1::cb0136fe-5aca-4590-89b3-6ca527b0a423::SOLO"},
变焦1.5倍
{"emoji":"🔍","style":2,"label":"Zoom Out 1.5x","type":2,"customId":"MJ::Outpaint::75::1::cb0136fe-5aca-4590-89b3-6ca527b0a423::SOLO"},
自定义变焦
{"emoji":"🔍","style":2,"label":"Custom Zoom","type":2,"customId":"MJ::CustomZoom::cb0136fe-5aca-4590-89b3-6ca527b0a423"},
左扩展
{"emoji":"⬅️","style":2,"label":"","type":2,"customId":"MJ::JOB::pan_left::1::cb0136fe-5aca-4590-89b3-6ca527b0a423::SOLO"},
右扩展
{"emoji":"➡️","style":2,"label":"","type":2,"customId":"MJ::JOB::pan_right::1::cb0136fe-5aca-4590-89b3-6ca527b0a423::SOLO"},
上扩展
{"emoji":"⬆️","style":2,"label":"","type":2,"customId":"MJ::JOB::pan_up::1::cb0136fe-5aca-4590-89b3-6ca527b0a423::SOLO"},
下扩展
{"emoji":"⬇️","style":2,"label":"","type":2,"customId":"MJ::JOB::pan_down::1::cb0136fe-5aca-4590-89b3-6ca527b0a423::SOLO"},

8. 任务变更回调

任务状态变化或进度改变时,会调用业务系统的接口

  • 任务提交时支持传notifyHook以改变此任务的回调地址
  • 为空时,不触发回调
  • 回调地址不可为 ip 地址,需要有域名,最好是https
  • 接口为post请求
  • 如遇到测试问题,可先尝试使用 https://webhook.site 进行测试回调

POST application/json

  "id": "1739493067043666",
  "action": "IMAGINE",
  "prompt": "Cat",
  "promptEn": "Cat",
  "description": "/imagine Cat",
  "state": "string",
  "submitTime": 1739493067043,
  "startTime": 0,
  "finishTime": 0,
  "imageUrl": "",
  "status": "NOT_START",
  "progress": "0%",
  "failReason": "",
  "properties": {
    "botType": "MID_JOURNEY",
    "discordChannelId": "1197809038348521566",
    "discordInstanceId": "1197809038348521566",
    "nonce": "1890197039530545152",
    "notifyHook": ""
  },
  "buttons": []
}
修改于 2025-06-14 04:49:01
上一页
查询任务
下一页
提交Describe任务(图生文)
Built with