Skip to content

AI绘画 PRD

文档信息

项目内容
产品名称PMForge - AI绘画
文档版本v2.0
创建日期2026-09-22
最后更新2026-09-24
文档状态评审中
优先级P1

一、功能概述

1.1 功能定位

AI绘画是 PMForge AI 模块的核心创作子模块,为用户提供"文字变图片"的 AI 图像生成能力。

通俗理解:把它想象成一个"AI 画师工作室"。你用文字告诉画师"画一只星空下的狐狸",画师 1-3 分钟就能给你 4 张不同构图的成品。工作室里请了三位画师——Midjourney(擅长艺术风格)、Stability AI(开源可控)、DALL-E(OpenAI 出品),你可以指定哪位画师来画。除了"文字画画",还能"拿照片改画"(图生图)、"多张照片混搭"(/blend)、"看照片猜描述"(/describe)。画完的作品可以存进个人画廊,也可以分享到社区广场让大家点赞。

一句话定位:集成多平台 AI 绘画能力的企业级图像创作与社区运营平台。

1.2 目标用户与使用频率

用户类型使用场景使用频率
C端创作者用 AI 生成图片、管理个人作品集、参与社区互动高频(日均 3-10 次生成)
设计师/运营人员快速生成营销素材、设计灵感初稿中高频(日均 5-20 次生成)
研学导师为课程生成教学插图、场景图中频(周均 5-10 次生成)
平台运营人员管理绘画任务、审核作品、运营作品广场高频(工作日持续使用)
系统管理员配置绘画模型服务商、监控 Token 消耗低频(周均 1-2 次配置)

1.3 业务价值

价值维度具体收益衡量指标
降低创作门槛无需专业设计技能,文字描述即可出图用户首次生成成功率 ≥ 90%
多模型聚合集成 3 大平台,灵活选择最优模型模型可用性 ≥ 99.5%
社区生态作品广场促进灵感碰撞和用户留存广场日活跃用户占比 ≥ 15%
精细化运营任务监控、作品审核、统计分析闭环运营人效提升 50%
可扩展架构基于 Spring AI 统一抽象层,快速接入新服务商新模型接入周期 ≤ 3 人日

1.4 功能范围

功能分类后台管理端前台用户端
绘画模型管理(CRUD)
绘画任务管理✅(仅本人)
绘画作品管理/审核✅(仅本人)
绘画统计(生成次数/Token消耗)
文生图
图生图
Midjourney 专属功能
参数配置(尺寸/风格/质量/数量)
作品管理(收藏/分享)
作品广场✅(管理)✅(浏览/互动)

二、用户场景

2.1 用户角色

角色典型人物核心诉求技术水平
C端创作者小李,25岁,自媒体博主快速生成高质量配图,管理作品集非技术,熟悉互联网产品
设计师小王,30岁,电商设计师快速获取设计灵感,批量生成素材初稿有设计基础,对 AI 工具好奇
研学导师张老师,35岁,STEM 教育者为课程生成配图和场景插画非技术,注重内容准确性
运营人员小陈,28岁,平台内容运营审核作品、管理社区、分析数据熟悉后台操作,关注数据指标
系统管理员老赵,35岁,技术负责人配置服务商、监控成本、保障稳定技术背景,关注系统指标

2.2 使用场景

场景1:自媒体博主小李用文生图做封面

  • 角色:小李(C端创作者)
  • 前置条件:小李已登录平台,钱包有 100 Token 余额
  • 操作流程
    1. 小李进入"AI绘画"页面,默认展示"文生图"模式
    2. 在输入框填写描述:"一只在星空下奔跑的狐狸,赛博朋克风格,霓虹灯光"
    3. 在反向提示词中输入:"模糊、低质量、变形"
    4. 选择模型为 Midjourney V6
    5. 设置尺寸 1024×1024、质量高清、生成数量 4 张
    6. 点击"生成"按钮
    7. 页面显示"排队中...",约 10 秒后变为"生成中..."
    8. 约 2 分钟后,4 张图片展示在结果区
    9. 小李选择第 2 张和第 4 张,点击"保存到我的作品"
    10. 系统提示"消耗 20 Token,余额 80 Token"
  • 期望结果:4 张高质量赛博朋克风格狐狸图,操作全程 < 3 分钟
  • 验收标准
AC编号验收条件验证方式
AC-1正向提示词 ≤ 2000 字符,超出时输入框截断并提示边界值测试
AC-2生成前校验 Token 余额,不足时弹窗提示"余额不足,请充值"模拟余额为 0
AC-3任务提交响应 ≤ 500ms,页面立即展示进度状态接口计时
AC-4生成完成后 4 张图片全部展示,支持单独预览和下载功能验证
AC-5Token 扣减与钱包模块对账一致,生成失败时自动退还对账验证

场景2:设计师小王用 Midjourney /blend 融合素材

  • 角色:小王(设计师)
  • 前置条件:小王已登录,钱包余额充足,Midjourney 模型已启用
  • 操作流程
    1. 小王选择"Midjourney"模式,点击"/blend 融合"
    2. 上传 3 张参考图片(产品图、纹理图、配色参考图)
    3. 系统显示上传预览,确认图片顺序
    4. 点击"开始融合"
    5. 约 2 分钟后返回 4 张融合结果
    6. 小王对第 1 张比较满意但想微调
    7. 点击第 1 张的"V(变体)"按钮
    8. 系统生成 4 张变体结果
    9. 小王选择最满意的变体,保存到作品集
  • 期望结果:融合效果自然,变体多样化
  • 验收标准
AC编号验收条件验证方式
AC-1/blend 支持上传 2-4 张图片,少于 2 张时提示"至少上传 2 张"边界值测试
AC-2上传图片支持 JPG/PNG/WEBP,单张 ≤ 10MB格式和大小测试
AC-3融合结果返回 4 张网格图,每张可独立操作功能验证
AC-4/variation 操作基于选定图片生成 4 张变体功能验证
AC-5所有 Midjourney 操作消耗双倍 Token,页面明确标注"消耗 XX Token"费用核对

场景3:研学导师张老师用图生图做课件插图

  • 角色:张老师(研学导师)
  • 前置条件:张老师已登录,有一张实景照片(太阳系示意图)
  • 操作流程
    1. 张老师选择"图生图"模式
    2. 上传一张太阳系实景照片
    3. 输入描述:"将照片转换为水彩画风格,色彩柔和,适合儿童教育"
    4. 设置相似度 0.6(保留主体特征但允许风格变化)
    5. 选择 Stability AI 模型
    6. 点击"生成"
    7. 约 1 分钟后返回结果
    8. 张老师选择最合适的版本用于课件
  • 期望结果:风格转换准确,保留太阳系主体布局
  • 验收标准
AC编号验收条件验证方式
AC-1上传图片格式校验(JPG/PNG/WEBP),非法格式提示"不支持的图片格式"格式测试
AC-2相似度参数范围 0.1-1.0,步长 0.1,前端用滑块展示UI 验证
AC-3上传图片尺寸校验:最小 256×256,最大 4096×4096边界值测试
AC-4上传的图片在任务完成后保留 30 天,过期自动清理定时任务验证
AC-5生成结果自动关联用户作品库,无需手动保存功能验证

场景4:运营小陈审核作品广场

  • 角色:小陈(运营人员)
  • 前置条件:小陈有 ai:image:work:audit 权限,待审核作品 > 10 条
  • 操作流程
    1. 小陈进入后台"AI绘画 → 作品管理"页面
    2. 筛选状态为"待审核"的作品,看到 15 条待审
    3. 逐条浏览作品图片和提示词
    4. 发现一条作品提示词含违规内容
    5. 点击"驳回",填写原因"提示词包含不当内容"
    6. 系统自动通知用户"您的作品因'提示词包含不当内容'被驳回"
    7. 对优质作品点击"通过"并标记"推荐"
    8. 推荐作品在作品广场首页优先展示
  • 期望结果:审核流程高效,驳回自动通知用户
  • 验收标准
AC编号验收条件验证方式
AC-1待审核作品按发布时间升序排列(先提交的先审)排序验证
AC-2驳回时必须填写原因,原因 ≤ 500 字符必填校验
AC-3驳回后系统消息通知用户,通知内容包含驳回原因消息验证
AC-4标记推荐后,作品在广场"推荐"标签下优先展示广场验证
AC-5下架操作后作品仅创作者本人可见,广场不再展示权限验证

场景5:小李浏览作品广场获取灵感

  • 角色:小李(C端创作者)
  • 前置条件:作品广场有 ≥ 100 条审核通过的作品
  • 操作流程
    1. 小李进入"作品广场"页面
    2. 默认按热度排序,看到推荐作品
    3. 按"赛博朋克"风格标签筛选
    4. 点击一张喜欢的作品查看详情
    5. 看到作品图片、提示词"一只在星空下奔跑的狐狸,赛博朋克风格..."、使用模型 Midjourney V6、尺寸 1024×1024
    6. 点击"使用相同参数"
    7. 系统自动跳转到文生图页面,提示词和参数已填充
    8. 小李微调描述后生成自己的版本
  • 期望结果:灵感发现容易,参数复用一键完成
  • 验收标准
AC编号验收条件验证方式
AC-1广场仅展示审核通过的作品,未通过/已下架不可见数据隔离验证
AC-2"使用相同参数"复制提示词、模型、尺寸、风格,不复制原图参数核对
AC-3热度排序公式 = 点赞数×2 + 浏览数×0.1 + 收藏数×3排序验证
AC-4作品展示提示词但隐藏完整 API 参数(如 api_key 等)安全验证
AC-5点赞/收藏操作实时计入热度分,列表排序动态更新实时性验证

三、功能需求

3.1 绘画模型管理(后台管理端)

描述

管理平台接入的 AI 绘画服务商和模型,包括 Midjourney、Stability AI、DALL-E 等。每个服务商可配置多个模型版本,管理员可设置 API 接入信息、并发限制、Token 消耗等参数。

页面原型

绘画模型管理

业务规则

规则编号规则描述设计原因
R-01每个平台可配置多个模型版本同一平台可能有多版本并行(如 MJ V5/V6)
R-02同一时间仅允许一个模型作为默认模型用户端"默认推荐"需要唯一性
R-03模型禁用后用户端不可选择,已提交任务不受影响避免中断进行中的生成任务
R-04API Key 等敏感信息 AES-256 加密存储安全合规要求
R-05连通性测试需在 5 秒内返回结果超时说明服务商不可达,应明确告知管理员
R-06删除模型前检查是否有知识库正在引用防止关联数据断裂

接口列表

接口名称请求方式接口路径说明
查询模型分页列表GET/admin-api/ai/image/model/page支持按平台、状态筛选
查询模型详情GET/admin-api/ai/image/model/get获取单个模型配置详情
新增模型POST/admin-api/ai/image/model/create创建新的绘画模型配置
修改模型PUT/admin-api/ai/image/model/update更新模型配置信息
删除模型DELETE/admin-api/ai/image/model/delete逻辑删除模型配置
启用/禁用模型PUT/admin-api/ai/image/model/update-status切换模型启用状态
模型连通性测试POST/admin-api/ai/image/model/test测试模型 API 连通性
获取模型下拉列表GET/admin-api/ai/image/model/simple-list用于前端下拉选择

3.2 绘画任务管理(后台管理端)

描述

管理所有用户发起的绘画任务。任务是一次"从提交到出图"的完整过程,管理员可查看任务详情、处理异常任务、导出数据报表。

任务状态机

绘画任务状态机

业务规则

规则编号规则描述设计原因
R-01任务状态流转严格按状态机执行防止状态跳跃导致数据不一致
R-02超时任务(超过 10 分钟未返回结果)自动标记为失败避免任务永久挂起占用资源
R-03失败任务支持手动重试,重试时回到"待处理"状态服务商临时故障时可快速恢复
R-04任务参数以 JSON 格式存储,保留完整请求信息便于问题排查和重新执行
R-05失败/超时任务自动退还 Token保障用户权益,未成功不收费
R-06支持按租户隔离数据多租户安全要求

接口列表

接口名称请求方式接口路径说明
查询任务分页列表GET/admin-api/ai/image/task/page支持多维度筛选
查询任务详情GET/admin-api/ai/image/task/get获取任务完整信息
取消任务PUT/admin-api/ai/image/task/cancel取消进行中的任务
重试任务PUT/admin-api/ai/image/task/retry重新处理失败的任务
删除任务DELETE/admin-api/ai/image/task/delete逻辑删除任务记录
导出任务列表GET/admin-api/ai/image/task/export导出 Excel 报表
查询任务统计GET/admin-api/ai/image/task/statistics任务数量、成功率统计

3.3 绘画作品管理(后台管理端)

描述

管理平台内所有 AI 生成的图片作品。作品是任务完成后用户保存的"成品",支持审核、推荐、违规处理、分类管理。

作品状态机

绘画作品状态机

业务规则

规则编号规则描述设计原因
R-01用户发布到作品广场的作品需经审核后公开展示内容安全合规
R-02驳回作品需填写驳回原因,系统自动通知用户用户需要知道原因以便改进
R-03推荐/精选作品在作品广场优先展示运营引导内容质量
R-04违规作品下架后仅创作者本人可见平衡内容治理与用户权益
R-05作品分类支持后台 CRUD 管理灵活扩展分类体系

接口列表

接口名称请求方式接口路径说明
查询作品分页列表GET/admin-api/ai/image/work/page支持多维度筛选
查询作品详情GET/admin-api/ai/image/work/get获取作品完整信息
审核作品PUT/admin-api/ai/image/work/audit通过或驳回作品
标记推荐PUT/admin-api/ai/image/work/recommend标记为推荐/精选
下架作品PUT/admin-api/ai/image/work/offline下架违规作品
删除作品DELETE/admin-api/ai/image/work/delete逻辑删除作品
作品分类管理GET/POST/PUT/DELETE/admin-api/ai/image/category/*分类 CRUD

3.4 绘画统计(后台管理端)

描述

提供 AI 绘画模块的数据统计能力,帮助运营和管理层了解模块使用情况、成本消耗、用户行为。

统计指标

指标名称计算方式展示形式
今日/本周/本月生成数按时间范围统计任务数数字卡片
Token 总消耗所有成功任务的 token_cost 求和数字卡片 + 趋势图
活跃用户数去重 user_id 计数数字卡片
任务成功率已完成任务数 / 总任务数 × 100%百分比
模型使用分布按 model 分组统计任务数饼图
平台使用分布按 platform 分组统计任务数饼图
用户消耗排行按 user_id 汇总 token_cost 排序 Top 20柱状图
生成量趋势按天/周/月聚合任务数折线图

业务规则

规则编号规则描述设计原因
R-01统计数据延迟不超过 5 分钟平衡实时性与系统性能
R-02支持按租户维度统计多租户独立核算
R-03Token 消耗需关联用户钱包扣减记录财务对账一致性
R-04统计数据保留最近 90 天明细超期数据归档,保持查询性能

接口列表

接口名称请求方式接口路径说明
获取概览数据GET/admin-api/ai/image/statistics/overview今日/本周/本月概览
获取趋势数据GET/admin-api/ai/image/statistics/trend按天/周/月趋势
获取模型分布GET/admin-api/ai/image/statistics/model-distribution模型使用占比
获取用户排行GET/admin-api/ai/image/statistics/user-rankingToken 消耗排行
获取平台分布GET/admin-api/ai/image/statistics/platform-distribution平台使用占比

3.5 文生图功能(前台用户端)

描述

用户通过输入文字描述(prompt)生成图片,是最核心的创作模式。支持配置尺寸、风格、质量、数量等参数。

页面原型

文生图创作页

业务规则

规则编号规则描述设计原因
R-01正向提示词长度 ≤ 2000 字符防止超长输入导致模型处理异常
R-02反向提示词长度 ≤ 1000 字符反向提示词通常较短
R-03生成前校验用户 Token 余额是否充足避免生成后无法扣费
R-04任务超时 10 分钟自动失败并退还 Token保障用户权益
R-05生成结果图片自动关联用户作品库减少用户操作步骤
R-06支持提示词模板快速填充降低新手使用门槛
R-07生成数量 1-4 张,Token 消耗 = 单次消耗 × 数量多张生成按比例计费

接口列表

接口名称请求方式接口路径说明
提交文生图任务POST/app-api/ai/image/generate提交文生图任务
查询任务状态GET/app-api/ai/image/task/{taskId}/status轮询任务进度
获取任务结果GET/app-api/ai/image/task/{taskId}/result获取生成结果
获取可用模型列表GET/app-api/ai/image/models用户端模型下拉
获取风格预设列表GET/app-api/ai/image/style-presets风格预设选项
取消任务PUT/app-api/ai/image/task/{taskId}/cancel取消排队中的任务

3.6 图生图功能(前台用户端)

描述

用户上传参考图片,结合文字描述生成新的图片。支持控制与原图的相似度,适合"风格转换"和"参考创作"场景。

业务规则

规则编号规则描述设计原因
R-01上传图片格式限制:JPG、PNG、WEBP覆盖主流图片格式
R-02上传图片大小 ≤ 10MB防止过大文件占用带宽和存储
R-03上传图片尺寸:最小 256×256,最大 4096×4096过小无意义,过大模型无法处理
R-04相似度参数范围 0.1-1.0,步长 0.10.1 几乎自由创作,1.0 几乎原样复制
R-05上传的图片在任务完成后保留 30 天,过期自动清理节省存储空间,用户不需要长期保留原图

接口列表

接口名称请求方式接口路径说明
提交图生图任务POST/app-api/ai/image/img2img上传图片并生成
上传参考图片POST/app-api/ai/image/upload上传参考图到临时存储

3.7 Midjourney 专属功能(前台用户端)

描述

提供 Midjourney 特有的指令功能,覆盖 5 种核心操作。Midjourney 以艺术风格多样著称,是专业创作者的首选模型。

功能矩阵

指令功能输入输出Token 消耗
/imagine文字生成图片文字描述4 张网格图基础 ×2
/blend多图融合2-4 张图片4 张融合图基础 ×2
/describe图片反推描述1 张图片4 组文字描述基础 ×2
/upscale高清放大选定图片 + 倍数1 张高清图基础 ×2
/variation变体生成选定图片 + 强度4 张变体图基础 ×2

页面原型(/imagine 结果页)

MJ imagine结果页

业务规则

规则编号规则描述设计原因
R-01/imagine 生成的网格图编号 1-4,对应 U1-U4、V1-V4Midjourney 标准交互范式
R-02/blend 最多支持 4 张图片融合Midjourney API 限制
R-03/describe 返回的文字描述用户可直接使用反推描述可直接作为 /imagine 输入
R-04/upscale 最大支持 4 倍放大超过 4 倍画质提升不明显
R-05/variation 生成结果自动关联原作品便于追溯创作脉络
R-06所有 Midjourney 操作消耗双倍 TokenMidjourney 成本高于其他平台

接口列表

接口名称请求方式接口路径说明
/imagine 生成POST/app-api/ai/image/midjourney/imagine文字生成图片
/blend 融合POST/app-api/ai/image/midjourney/blend多图融合
/describe 反推POST/app-api/ai/image/midjourney/describe图片描述反推
/upscale 放大POST/app-api/ai/image/midjourney/upscale高清放大
/variation 变体POST/app-api/ai/image/midjourney/variation生成变体
查询 MJ 任务状态GET/app-api/ai/image/midjourney/task/查询 MJ 任务进度

3.8 作品管理(前台用户端)

描述

用户管理自己生成的所有图片作品,支持分类查看、收藏、下载、删除、分享到广场等操作。

业务规则

规则编号规则描述设计原因
R-01作品默认仅本人可见隐私保护
R-02用户可选择将作品发布到作品广场(需审核)用户自主决定是否公开
R-03收藏的作品标记星号,在收藏列表中集中查看便于管理和回顾
R-04删除作品为逻辑删除,保留 30 天可恢复防止误删
R-05下载图片保留原始生成参数便于后续使用相同参数重新生成

接口列表

接口名称请求方式接口路径说明
查询我的作品列表GET/app-api/ai/image/my/works分页查询我的作品
查询作品详情GET/app-api/ai/image/my/works/查看作品详情
收藏作品POST/app-api/ai/image/my/favorite/添加收藏
取消收藏DELETE/app-api/ai/image/my/favorite/取消收藏
查询收藏列表GET/app-api/ai/image/my/favorites我的收藏列表
删除作品DELETE/app-api/ai/image/my/works/逻辑删除
批量删除DELETE/app-api/ai/image/my/works/batch批量逻辑删除
发布到广场POST/app-api/ai/image/my/works/{id}/publish发布到作品广场
下载作品GET/app-api/ai/image/my/works/{id}/download下载原图

3.9 作品广场(前台用户端)

描述

社区作品展示平台,用户可浏览其他用户分享的 AI 绘画作品,获取灵感,复用参数进行创作。是平台 UGC 生态的核心载体。

页面原型

作品广场

业务规则

规则编号规则描述设计原因
R-01仅审核通过的作品在广场展示内容安全合规
R-02推荐算法优先展示精选作品和近期高互动作品运营引导 + 新鲜度
R-03作品展示提示词但隐藏完整 API 参数分享灵感但保护技术细节
R-04"使用相同参数"仅复制提示词、模型、尺寸等,不复制原图鼓励原创而非复制
R-05点赞和收藏计入作品热度分热度排序的依据
R-06热度分 = 点赞数×2 + 浏览数×0.1 + 收藏数×3收藏权重最高,代表深度认可

接口列表

接口名称请求方式接口路径说明
查询广场作品列表GET/app-api/ai/image/square/page分页查询广场作品
查询作品详情GET/app-api/ai/image/square/查看广场作品详情
点赞作品POST/app-api/ai/image/square/{id}/like点赞/取消点赞
复用参数GET/app-api/ai/image/square/{id}/params获取可复用参数
查询分类列表GET/app-api/ai/image/square/categories作品分类列表
查询热门标签GET/app-api/ai/image/square/tags热门标签列表

四、非功能需求

4.1 性能需求

指标要求实现策略
任务提交响应时间≤ 500ms异步处理,提交仅创建任务记录
任务状态查询响应时间≤ 200msRedis 缓存任务状态
图片生成超时时间10 分钟定时任务扫描超时任务
任务轮询间隔5 秒前端定时轮询,后续可升级 WebSocket
图片上传处理时间≤ 3 秒(10MB 以内)上传到 OSS 后异步处理
作品广场列表查询≤ 1 秒Redis 缓存热门作品 + 分页
并发任务处理能力单模型 ≥ 50 任务/分钟消息队列 + 并发控制
统计报表生成时间≤ 5 秒预聚合 + 异步计算

4.2 安全需求

安全项要求实现方式
API Key 存储AES-256 加密存储使用框架统一加密工具
提示词内容安全接入内容安全审核,拦截违规提示词调用内容安全 API 前置校验
生成图片审核AI 自动审核 + 人工复审先 AI 过滤明显违规,再人工审核
接口鉴权所有接口需登录鉴权,管理接口需角色鉴权Spring Security + RBAC
数据隔离多租户数据严格隔离MyBatis Plus 租户插件
图片防盗链图片 URL 带签名,设置有效期OSS 签名 URL,有效期 2 小时
频率限制单用户每分钟最多提交 10 个任务Redis + 滑动窗口限流
敏感信息脱敏日志中不打印 API Key 等敏感信息日志脱敏过滤器

4.3 可用性需求

指标要求
模型服务可用性≥ 99.5%(单模型)
任务失败自动重试支持,最多重试 1 次
降级策略默认模型不可用时自动切换到备用模型
故障通知模型不可用时通知管理员

4.4 错误码定义

错误码含义用户提示
AI_IMAGE_001Token 余额不足"余额不足,请充值后重试"
AI_IMAGE_002提示词内容违规"提示词包含不当内容,请修改后重试"
AI_IMAGE_003图片格式不支持"仅支持 JPG/PNG/WEBP 格式"
AI_IMAGE_004图片尺寸超限"图片尺寸需在 256×256 到 4096×4096 之间"
AI_IMAGE_005模型不可用"当前模型暂时不可用,请稍后重试或切换模型"
AI_IMAGE_006任务超时"生成超时,Token 已退还,请重试"
AI_IMAGE_007频率限制"操作过于频繁,请稍后再试"
AI_IMAGE_008图片上传失败"图片上传失败,请检查网络后重试"
AI_IMAGE_009作品不存在"作品不存在或已被删除"

五、数据设计

5.1 数据表概览

表名说明核心字段
ai_image_model绘画模型配置表platform, model_name, api_key, token_cost
ai_image_task绘画任务表user_id, task_type, prompt, status, result_urls
ai_image绘画作品表user_id, task_id, image_url, status, is_published
ai_image_favorite作品收藏表user_id, image_id
ai_image_category作品分类表name, icon, sort

5.2 表关系

绘画表关系

5.3 核心表设计

ai_image_task 绘画任务表

字段名字段类型是否必填说明
idBIGINT主键ID
user_idBIGINT用户ID
platformVARCHAR(50)平台标识(midjourney/stability/dalle)
modelVARCHAR(100)模型名称
task_typeVARCHAR(30)任务类型(txt2img/img2img/mj_imagine/mj_blend/mj_describe/mj_upscale/mj_variation)
promptTEXT正向提示词
negative_promptTEXT反向提示词
image_urlVARCHAR(1000)参考图片URL(图生图时使用)
result_urlsTEXT生成结果图片URL列表(JSON数组)
widthINT图片宽度(像素)
heightINT图片高度(像素)
statusTINYINT任务状态(0待处理 1处理中 2已完成 3失败 4已取消)
progressINT进度百分比(0-100)
styleVARCHAR(50)风格预设
qualityVARCHAR(20)质量等级(standard/hd)
generate_countINT生成数量
similarityDECIMAL(3,2)相似度(图生图参数)
paramsJSON扩展参数(JSON格式,存储平台特有参数)
token_costINT本次消耗Token数
error_messageVARCHAR(500)失败原因
cost_timeINT耗时(毫秒)
external_task_idVARCHAR(200)第三方平台任务ID
creatorVARCHAR(64)创建者
create_timeDATETIME创建时间
updaterVARCHAR(64)更新者
update_timeDATETIME更新时间
deletedBIT是否删除(0否 1是)
tenant_idBIGINT租户ID

ai_image 绘画作品表

字段名字段类型是否必填说明
idBIGINT主键ID
user_idBIGINT用户ID
task_idBIGINT关联任务ID
platformVARCHAR(50)平台标识
modelVARCHAR(100)模型名称
promptTEXT正向提示词
negative_promptTEXT反向提示词
image_urlVARCHAR(1000)图片URL
thumbnail_urlVARCHAR(1000)缩略图URL
widthINT图片宽度
heightINT图片高度
file_sizeBIGINT文件大小(字节)
styleVARCHAR(50)风格标签
category_idBIGINT作品分类ID
statusTINYINT作品状态(0待审核 1审核通过 2审核驳回 3已下架)
audit_reasonVARCHAR(500)审核驳回原因
is_favoriteTINYINT是否收藏(0否 1是)
is_publishedTINYINT是否发布到广场(0否 1是)
is_recommendTINYINT是否推荐(0否 1是)
like_countINT点赞数
view_countINT浏览数
download_countINT下载次数
publish_timeDATETIME发布时间
paramsJSON生成参数快照
creatorVARCHAR(64)创建者
create_timeDATETIME创建时间
updaterVARCHAR(64)更新者
update_timeDATETIME更新时间
deletedBIT是否删除(0否 1是)
tenant_idBIGINT租户ID

ai_image_favorite 作品收藏表

字段名字段类型是否必填说明
idBIGINT主键ID
user_idBIGINT用户ID
image_idBIGINT作品ID
creatorVARCHAR(64)创建者
create_timeDATETIME创建时间

ai_image_category 作品分类表

字段名字段类型是否必填说明
idBIGINT主键ID
nameVARCHAR(50)分类名称
iconVARCHAR(200)分类图标
sortINT排序值
statusTINYINT状态(0禁用 1启用)
creatorVARCHAR(64)创建者
create_timeDATETIME创建时间
updaterVARCHAR(64)更新者
update_timeDATETIME更新时间
deletedBIT是否删除

5.4 缓存策略

缓存 Key数据类型过期时间更新策略
ai:image:model:listHash30 分钟模型增删改时主动失效
ai:image:model:defaultString30 分钟默认模型变更时失效
ai:image:task:status:String10 分钟任务状态变更时更新
ai:image:square:hotZSet5 分钟定时刷新
ai:image:category:listList1 小时分类变更时主动失效

六、跨模块联动

6.1 联动关系总览

本模块功能关联模块联动方向联动场景
绘画模型管理AI对话(AI模型管理)共享复用 AI 服务商配置基础能力
Token 扣减会员积分(05-02)调用每次生成扣减 Token
Token 充值钱包管理(04-02)调用余额不足引导充值
任务/作品统计统计分析推送绘画数据汇入全局统计
作品广场IM即时通讯(09-01)联动作品分享到 IM 聊天
作品广场数据报表(09-02)推送广场运营数据输出到报表

6.2 详细联动设计

AI绘画 ↔ AI模型管理(07-01)

联动场景触发条件联动行为数据流向
共享模型基础设施管理员配置绘画模型复用 AI 模型管理的服务商接入框架模型配置 → Spring AI 统一调度
模型状态同步AI模型管理中禁用某模型绘画模块同步不可用该模型AI模型管理 → AI绘画

AI绘画 ↔ 会员积分(05-02)

联动场景触发条件联动行为数据流向
Token 扣减用户提交绘画任务调用积分模块扣减 TokenAI绘画 → 会员积分
Token 退还任务失败/超时调用积分模块退还 TokenAI绘画 → 会员积分
余额校验用户点击生成调用积分模块校验余额AI绘画 → 会员积分

AI绘画 ↔ 钱包管理(04-02)

联动场景触发条件联动行为数据流向
余额不足引导充值Token 余额 < 单次消耗展示充值引导弹窗AI绘画 → 钱包管理
消费记录Token 扣减成功钱包记录消费流水会员积分 → 钱包管理

AI绘画 → 统计分析

联动场景触发条件联动行为数据流向
生成数据上报任务完成/失败推送任务结果到统计模块AI绘画 → 统计分析
Token 消耗上报Token 扣减成功推送消耗数据到统计模块AI绘画 → 统计分析

七、附录

7.1 名词解释

术语通俗理解在本模块中的含义
Prompt(提示词)你告诉 AI"画什么"的那段话用户输入的文字描述,AI 据此生成图片
Negative Prompt(反向提示词)你告诉 AI"不要画什么"描述不希望出现在图片中的元素,如"模糊、变形"
文生图(txt2img)"打字出图"——用文字描述就能出图最基础的创作模式,纯文字输入
图生图(img2img)"拿照片改画"——上传一张参考图让 AI 改造以参考图为基础,结合文字描述生成新图
Midjourney三位 AI 画师中最擅长艺术风格的那位集成的高端 AI 绘画服务商
Stability AI开源画师,可控性强集成的开源 AI 绘画模型
DALL-EOpenAI 出品的画师集成的 OpenAI 图像生成模型
/imagineMidjourney 的"文字画画"指令Midjourney 文生图操作
/blendMidjourney 的"照片混搭"指令将 2-4 张图片融合为新图
/describeMidjourney 的"看图说话"指令反向解析图片,生成文字描述
/upscaleMidjourney 的"放大高清"指令将图片放大 2-4 倍
/variationMidjourney 的"变体"指令基于原图生成风格相近但细节不同的新版本
Token平台通用的"AI 使用券"每次生成消耗一定 Token,余额不足需充值
作品广场用户展示和发现 AI 画作的"画廊社区"审核通过的作品公开展示空间
热度分作品受欢迎程度的"人气值"点赞×2 + 浏览×0.1 + 收藏×3 的综合得分
Spring AI连接各种 AI 服务商的"万能转接头"统一调度多平台模型资源的技术框架

7.2 权限标识

权限标识说明所属角色
ai:image:model:list查看绘画模型列表系统管理员
ai:image:model:create新增绘画模型系统管理员
ai:image:model:update修改绘画模型系统管理员
ai:image:model:delete删除绘画模型系统管理员
ai:image:model:test测试模型连通性系统管理员
ai:image:task:list查看绘画任务列表运营人员、系统管理员
ai:image:task:cancel取消绘画任务运营人员
ai:image:task:retry重试绘画任务运营人员
ai:image:task:export导出绘画任务运营人员
ai:image:work:list查看作品列表运营人员
ai:image:work:audit审核作品运营人员
ai:image:work:recommend推荐作品运营人员
ai:image:work:offline下架作品运营人员
ai:image:statistics:view查看绘画统计运营人员、系统管理员
ai:image:generate使用AI绘画所有登录用户
ai:image:my:works查看我的作品所有登录用户
ai:image:square:view浏览作品广场所有登录用户

7.3 预设风格参考

风格分类预设风格适用场景
艺术风格动漫、写实、油画、水彩、素描通用创作
科技风格赛博朋克、科幻、蒸汽朋克、像素风科技主题
摄影风格人像、风景、微距、街拍模拟摄影效果
设计素材扁平化、3D渲染、等距视图、极简设计素材生成
国风水墨画、工笔画、敦煌风、青花瓷中国传统文化主题