File size: 4,276 Bytes
41c1b5e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
# 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
```json
{
"code": 1,
"description": "成功",
"result": "8498455807619990",
"properties": {
"discordInstanceId": "1118138338562560102"
}
}
```
- code=21: 任务已存在,U时可能发生
```json
{
"code": 21,
"description": "任务已存在",
"result": "0741798445574458",
"properties": {
"status": "SUCCESS",
"imageUrl": "https://xxxx"
}
}
```
- code=22: 提交成功,进入队列等待
```json
{
"code": 22,
"description": "排队中,前面还有1个任务",
"result": "0741798445574458",
"properties": {
"numberOfQueues": 1,
"discordInstanceId": "1118138338562560102"
}
}
```
- code=23: 队列已满,请稍后尝试
```json
{
"code": 23,
"description": "队列已满,请稍后尝试",
"result": "14001929738841620",
"properties": {
"discordInstanceId": "1118138338562560102"
}
}
```
- code=24: prompt包含敏感词
```json
{
"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` 图生文
```json
{
// 图片的base64字符串
"base64": "data:image/png;base64,xxx"
}
```
后续任务完成后,properties中finalPrompt即为图片生成的prompt
```json
{
"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
```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"
}
}
```
|