AI 绘画创作
这篇解决什么
绘画任务落哪张表、通用绘制和 Midjourney 各走哪组接口。读完能对上 POST /ai/image/draw 实际支持的 platform,不要按前端 Tab 当成后端都已实现。
默认端口 48080。开启见 AI 功能设计。先有 type=2 的图片模型。
示意图:通用绘制异步写状态。MJ 另走 Proxy,回调 /midjourney/notify。
从哪改
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 绘画 | @RequestMapping("/ai/image") | ruoyi-office/yudao-module-ai/.../controller/admin/image/AiImageController.java |
| 通用绘制 | POST /draw | AiImageServiceImpl#buildImageOptions |
| MJ | /midjourney/imagine /action /notify | notify 免登录 |
| 作品表 | ai_image | AiImageDO |
| 用户页 | 四个 Tab | ruoyi-office-vben/apps/web-antd/src/views/ai/image/index/ |
| 管理页 | 作品审核 | views/ai/image/manager/ |
官方菜单:AI 绘画 2783,绘画管理 2784。权限 ai:image:query / update / delete。
/draw 实际支持:OpenAI、SiliconFlow、StableDiffusion、TongYi。通用 Tab 若还列出文心、智谱,后端会抛「不支持的 AI 平台」。
Midjourney 配置在 yudao.ai.midjourney:base-url、api-key、notify-url(指向 /admin-api/ai/image/midjourney/notify)。
字段
AiImageStatusEnum:10 进行中,20 已完成,30 已失败。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
prompt / platform / model | 提示词、平台、模型 | AiImageDO |
width / height | 尺寸 | 同上 |
status / finishTime | 状态、完成时间 | 同上 |
picUrl | 结果图 | 同上 |
publicStatus | 是否公开 | 同上 |
taskId / buttons | MJ 任务和按钮 | 同上 |
options | JSON 扩展 | 同上 |
用户接口:GET /my-page、/public-page、POST /draw、DELETE /delete-my。列表页会轮询 get-my。
平台字符串区分大小写
枚举是 TongYi、StableDiffusion、Midjourney。不要写成通义的中文名或 SD。
MJ 回调要公网
本机地址 Proxy 打不进来。通用 /draw 不走这套回调。
按本仓库 DO 生成的 ER。一行一张任务。
配置与操作
走 AI 绘画(2783,/ai/image)提交。通用绘制 POST /draw 只认 OpenAI / SiliconFlow / StableDiffusion / TongYi,要先有 type=2 的图片模型。Midjourney 走 /midjourney/imagine,见 Midjourney 接入。管理端审核在 控制台 → 绘画管理(2784,/ai/console/image)改 publicStatus。
前端 Tab 若还列文心、智谱,后端会抛不支持。开启见 AI 功能设计。

本系统截图:AI 绘画。通用绘制和 Midjourney 不是同一组接口。

本系统截图:控制台 → 绘画管理。改公开状态,不改生成参数。
