Skip to content

Latest commit

 

History

History
139 lines (128 loc) · 4.18 KB

api.md

File metadata and controls

139 lines (128 loc) · 4.18 KB

API接口说明

http://ip:port/mj 已有api文档,此处仅作补充

1. 数据结构

任务

字段 类型 示例 描述
id string 1689231405853400 任务ID
action string IMAGINE 任务类型: IMAGINE(绘图)、UPSCALE(选中放大)、VARIATION(选中变换)、REROLL(重新执行)、DESCRIBE(图生文)、BLEAND(图片混合)
status string SUCCESS 任务状态: NOT_START(未启动)、SUBMITTED(已提交处理)、IN_PROGRESS(执行中)、FAILURE(失败)、SUCCESS(成功)
prompt string 猫猫 提示词
promptEn string Cat 英文提示词
description string /imagine 猫猫 任务描述
submitTime number 1689231405854 提交时间
startTime number 1689231442755 开始执行时间
finishTime number 1689231544312 结束时间
progress string 100% 任务进度
imageUrl string https://cdn.discordapp.com/attachments/xxx/xxx/xxxx.png 生成图片的url, 成功或执行中时有值,可能为png或webp
failReason string [Invalid parameter] Invalid value 失败原因, 失败时有值
properties object {"finalPrompt": "Cat"} 任务的扩展属性,系统内部使用

2. 任务提交返回

  • code=1: 提交成功,result为任务ID
    {
      "code": 1,
      "description": "成功",
      "result": "8498455807619990",
      "properties": {
          "discordInstanceId": "1118138338562560102"
      }
    }
  • code=21: 任务已存在,U时可能发生
    {
        "code": 21,
        "description": "任务已存在",
        "result": "0741798445574458",
        "properties": {
            "status": "SUCCESS",
            "imageUrl": "https://xxxx"
         }
    }
  • code=22: 提交成功,进入队列等待
    {
        "code": 22,
        "description": "排队中,前面还有1个任务",
        "result": "0741798445574458",
        "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"
         }
    }
  • other: 提交错误,description为错误描述

3. /mj/submit/simple-change 绘图变化-simple

接口作用同 /mj/submit/change(绘图变化),传参方式不同,该接口接收content,格式为ID 操作,例如:1320098173412546 U2

  • 放大 U1~U4
  • 变换 V1~V4
  • 重新执行 R

4. /mj/submit/describe 图生文

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

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

{
  "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"
  }
  // ...
}

5. 任务变更回调

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

  • 接口地址为配置的 mj.notify-hook,任务提交时支持传notifyHook以改变此任务的回调地址
  • 两者都为空时,不触发回调

POST application/json

{
  "id": "14001929738841620",
  "action": "IMAGINE",
  "status": "SUCCESS",
  "prompt": "猫猫",
  "promptEn": "Cat",
  "description": "/imagine 猫猫",
  "submitTime": 1689231405854,
  "startTime": 1689231442755,
  "finishTime": 1689231544312,
  "progress": "100%",
  "imageUrl": "https://cdn.discordapp.com/attachments/xxx/xxx/xxxx.png",
  "failReason": null,
  "properties": {
    "finalPrompt": "Cat"
  }
}