# 系统 B 完整项目落地需求设计文档 V2 ## 项目名称 **AI 多人生主题写真 / 韩漫 / 纪念视频生成系统** 简称: ```text 系统 B 真人照片 → 多人生主题 → 多世界模板 → 韩漫写真 / 纪念视频 ``` --- # 0. 文档说明 本文档是系统 B 的 V2 版本,是在 V1「真人照片 → 婚礼韩漫 / 视频」基础上升级后的完整落地需求设计。 V2 的核心变化: 1. 不再只做婚礼,而是升级为多人生主题平台。 2. 第一阶段仍然主打婚礼、恋爱纪念、银婚金婚、情侣写真、个人形象。 3. 后续可以扩展到家庭全家福、宝宝百日、儿童成长、闺蜜写真、亲子纪念等。 4. 技术上按独立系统 B 开发,但保留后续与系统 A 合并的公共架构。 5. 模型策略按高质量优先,但所有模型都必须通过 Provider 抽象层管理,不写死单一模型。 V3 增量说明: ```text 系统 B V2 可稳定覆盖写真图集和图片纪念视频。 如果目标升级为“真人会动、有表情、有动作、像抖音短剧/真人纪念电影”,开发必须按 V3 真人动态视频版执行。 ``` V3 不推翻 V2,而是在 V2 上新增: - 四档输出模式:高清写真图集、图片纪念视频、动态写真视频、AI 真人动态视频。 - 真人身份锁定:身份锚点图、本人相似度评分、人脸一致性质检。 - 动作与视频片段:动作模板、关键帧、图生视频片段、片段质检、片段重试。 - 可选口型链路:LipSyncTask、音频对齐、失败回退到旁白字幕版本。 - 国内短剧向 VideoProvider:MiniMax Hailuo、阿里 Wan、Vidu、Seedance、Kling、Runway。 - 更严格肖像合规:未成年人保护、公开案例二次授权、原图私密存储、后台访问审计。 - 更强成本控制:按片段秒数、分辨率、候选数、重试、口型和人工审核估算成本。 后续开发主依据: ```text 00_系统B升级说明_真人动态视频.md 01_系统B总需求文档_v3_真人动态视频版.md ``` 本 V2 文档作为历史基础和非动态视频链路参考保留。 --- # 1. 重新审核后的关键修正 ## 1.1 不能只叫婚礼系统 V1 的方向可行,但过于偏婚礼。 V2 正式改成: ```text 真人照片驱动的 AI 多人生主题定制影像平台 ``` 婚礼只是第一个重点场景,不是系统上限。 底层业务对象不能叫 `WeddingProject`,应该统一叫: ```text Project LifeTheme WorldTemplate SceneTemplate ShotTemplate PersonProfile RenderTask Asset Order RevisionRequest ``` 这样以后扩展宝宝百日、儿童成长、全家福时,不需要重构核心业务。 --- ## 1.2 用户流程顺序修正 正式版推荐流程: ```text 首页浏览 → 登录 → 创建项目 → 选择人生主题 → 选择套餐 → 选择视觉风格 → 选择世界观 → 选择场景 → 上传照片 → 授权确认 → 照片质检 → 建立人物档案 → 填写定制信息 → 生成创作方案 → 成本锁定 / 支付 → 生成预览 → 用户确认 → 正式高质量生成 → 质检 → 视频合成 → 人工审核 → 用户确认 → 交付下载 ``` 原因: - 用户先看主题和模板,更容易转化。 - 真正进入高成本生成前,必须完成照片质检、授权和支付。 - 预览阶段要控制成本,正式阶段再使用最高质量生成。 --- ## 1.3 必须加入支付、额度、成本锁定 如果使用高质量模型,成本会明显增加。 系统必须加入: ```text 套餐价格 用户余额 / 订单支付 预览额度 正式生成额度 重试次数 修改次数 成本日志 ``` 正式生成前必须满足: ```text 照片合格 授权已确认 订单已支付 / 额度已冻结 创作方案已确认 ``` 否则禁止进入高成本生成流程。 --- ## 1.4 必须加入隐私授权与肖像授权 用户上传真人照片,必须有授权流程。 上传照片前必须勾选: ```text 我确认拥有上传照片的合法使用权 我确认已获得照片中人物授权 我授权平台为本次项目生成图片和视频 我知道作品默认不公开展示 如涉及未成年人,我确认我是监护人或已获得监护人授权 ``` 公开案例必须单独授权,不能默认展示。 --- ## 1.5 必须加入内容审核 系统要审核: ```text 上传照片 用户自定义文案 生成 Prompt 生成图片 生成视频封面 最终视频 ``` 审核模块必须从第一版就设计进去,至少保留接口和状态。 --- ## 1.6 不能把视频模型写死 你选择高质量模型没问题,但视频模块一定要抽象成: ```text VideoProvider ``` 原因: - 视频模型更新快。 - API 生命周期可能变化。 - 成本和速度差异大。 - 商业系统必须允许切换供应商。 所有模型都要通过 Provider 配置,不要硬编码。 --- ## 1.7 必须加入任务幂等和失败恢复 AI 生成链路很长: ```text 照片检测 人物档案 方案生成 预览图 正式图 视频片段 音频 字幕 合成 审核 ``` 任意一步失败,都不能让整个项目废掉。 每个任务必须有: ```text task_id status retry_count max_retry input_hash provider_request_id error_code error_message can_resume ``` 同一个任务重复提交,不能重复扣费,必须支持幂等。 --- # 2. 最终产品定位 ## 2.1 产品一句话 用户上传真人照片,选择人生主题、世界观、场景和风格,系统生成专属韩漫写真、国风写真、多世界穿越纪念视频。 --- ## 2.2 第一阶段主打场景 第一阶段重点做 5 类: ```text 结婚纪念 恋爱纪念 父母银婚金婚 情侣写真 个人形象定制 ``` 这 5 类最适合变现,也最适合做案例展示。 --- ## 2.3 后续扩展场景 后续可扩展: ```text 家庭全家福 宝宝百日 儿童成长 闺蜜写真 亲子纪念 生日纪念 毕业纪念 企业形象写真 节日主题写真 ``` 底层模板系统必须支持这些扩展。 --- # 3. 最高模型策略 ## 3.1 模型使用原则 你选择「都使用最高质量」可以,但系统不能浪费成本。 建议策略: ```text 文字策划:最高推理模型 图像生成:最高图像模型,高质量档 视频生成:最高视频模型,但必须可替换 语音合成:稳定 TTS 模型 审核:文本 + 图片审核模型 ``` --- ## 3.2 Provider 配置建议 系统配置成: ```text TextProvider: quality: highest ImageProvider: quality: high VideoProvider: quality: highest fallback: other_video_provider must_be_replaceable: true VoiceProvider: quality: stable ModerationProvider: text_and_image: true ``` 不要把具体模型名写死在业务代码中。 --- ## 3.3 高质量模型不等于每一步都高成本 流程分为: ```text 方案阶段 预览阶段 正式阶段 返工阶段 交付阶段 ``` 正式图和正式视频用最高质量。 预览图可以: - 少数量 - 低清 - 加水印 - 只生成关键场景 否则用户不确认就生成大量高清成品,成本会失控。 --- # 4. 系统总体架构 ## 4.1 用户端 用户端使用: ```text uni-app ``` 支持: ```text H5 微信小程序 后续 App ``` --- ## 4.2 后台管理端 后台使用: ```text Geeker-Admin ``` 用途: - 用户管理 - 项目管理 - 订单管理 - 模板管理 - 任务管理 - 案例管理 - 修改申请管理 - AI Provider 管理 - 日志管理 - 系统配置 --- ## 4.3 后端 推荐: ```text Node.js + NestJS ``` 原因: ```text 适合异步任务编排 适合 BullMQ 队列 适合 WebSocket 进度推送 适合对接 uni-app 和后台 适合 AI Provider 抽象 ``` Python 不作为主后端,但作为 AI Worker 辅助: ```text 照片质量检测 人脸角度检测 图像相似度检测 图片后处理 局部修复 视频辅助处理 ``` PHP 不建议作为此系统主后端。 --- ## 4.4 基础设施 ```text MySQL 8:业务数据 Redis:队列、缓存、锁 BullMQ:任务队列 MinIO:本地对象存储 FFmpeg:视频合成 Nginx:反向代理 PM2 / systemd:进程管理 Docker:建议使用,但第一版可选 ``` --- # 5. 完整业务流程 ## 5.1 游客浏览流程 ```text 访问首页 → 查看案例 → 查看主题 → 查看世界模板 → 查看套餐 → 点击开始制作 → 登录 / 注册 ``` 游客可以看: ```text 首页 案例 套餐 玩法说明 FAQ 公开案例 ``` 游客不能: ```text 创建项目 上传照片 生成预览 下载作品 申请修改 ``` --- ## 5.2 用户正式制作流程 ```text 登录 → 创建项目 → 选择人生主题 → 选择套餐 → 选择视觉风格 → 选择世界观 → 选择场景 → 上传照片 → 勾选授权协议 → 照片质检 → 人物身份建立 → 填写定制信息 → 生成创作方案 → 用户确认方案 → 支付 / 冻结额度 → 生成预览图 → 用户确认预览 → 正式高质量生成图片 → 图片质检 → 生成音频 / 字幕 → 视频合成 → 最终质检 → 人工审核 → 用户确认成品 → 下载交付 → 项目归档 ``` --- ## 5.3 支付模式建议 ### 模式 A:先支付后预览 适合标准套餐: ```text 选套餐 → 支付 → 生成预览 → 确认 → 正式生成 ``` 优点:避免白嫖预览。 ### 模式 B:免费低清预览,正式生成前支付 适合引流: ```text 生成低清水印预览 → 用户满意 → 支付 → 正式高清生成 ``` 建议第一阶段采用: ```text 登录用户每天可免费生成 1 次低清水印预览 正式生成必须支付 ``` --- # 6. 人生主题设计 ## 6.1 第一阶段主题 | 编码 | 名称 | 人物结构 | 输出建议 | |---|---|---|---| | wedding | 结婚纪念 | 双人 | 图集 / 视频 | | love | 恋爱纪念 | 双人 | 图集 / 短视频 | | silver_gold_wedding | 银婚金婚 | 双人 / 家庭 | 视频优先 | | couple_portrait | 情侣写真 | 双人 | 图集优先 | | personal_portrait | 个人形象定制 | 单人 | 图集 / 头像 / 短视频 | --- ## 6.2 第二阶段主题 | 编码 | 名称 | 人物结构 | |---|---|---| | family | 家庭全家福 | 多人 | | baby_100_days | 宝宝百日 | 宝宝 / 父母 | | child_growth | 儿童成长 | 儿童 | | best_friends | 闺蜜写真 | 双人 / 多人 | | parent_child | 亲子纪念 | 成人 + 儿童 | | birthday | 生日纪念 | 单人 / 多人 | --- ## 6.3 主题必须决定的规则 每个主题必须配置: ```text 需要几个人 照片上传规则 可选世界观 可选场景 推荐风格 推荐文案 推荐视频节奏 是否允许公开案例 是否涉及未成年人 是否需要加强隐私提醒 ``` 例如宝宝百日、儿童成长、亲子纪念,都必须触发未成年人授权提示。 --- # 7. 世界观模板设计 ## 7.1 世界观分类 ```text 历史朝代系 仙侠修真系 未来科技系 趣味脑洞系 架空奇幻系 现代纪念系 家庭温情系 儿童童话系 ``` --- ## 7.2 第一阶段建议上线世界 第一阶段不要一次上太多,建议先做 20 个精品世界。 ### 历史朝代系 ```text 汉朝 唐朝 宋朝 明朝 清朝 民国 ``` ### 仙侠修真系 ```text 仙宫大婚 宗门大典 桃花仙境 龙宫婚礼 凤族神婚 剑仙世界 ``` ### 未来科技系 ```text 星际婚礼 月球基地 全息圣殿 未来都市 赛博城市 ``` ### 趣味脑洞系 ```text 恐龙时代 海底王国 精灵森林 云端王国 ``` ### 现代纪念系 ```text 现代婚礼 浪漫海边 城市夜景 花园仪式 ``` --- ## 7.3 世界模板字段 每个世界模板需要配置: ```text world_id world_code world_name category cover_image preview_video description supported_life_themes supported_styles prompt_base costume_rules scene_rules color_rules lighting_rules negative_rules is_premium status sort_order ``` --- # 8. 场景模板设计 ## 8.1 场景不是图片,是可复用生产规则 每个场景包含: ```text 场景描述 服装约束 人物站位 镜头推荐 光影 氛围元素 可选特效 适用主题 适用风格 生成难度 成本等级 ``` --- ## 8.2 示例:明制婚礼 ```text 世界:明朝 场景: 1. 王府喜堂 2. 花轿迎亲 3. 红绸长廊 4. 园林拜堂 5. 洞房花烛 6. 夜宴烟花 ``` --- ## 8.3 示例:修仙婚礼 ```text 世界:仙宫大婚 场景: 1. 云海仙宫 2. 桃花林誓言台 3. 宗门大殿 4. 仙舟婚典 5. 凤凰环绕礼台 6. 星河天台 ``` --- ## 8.4 示例:未来科技 ```text 世界:星际婚礼 场景: 1. 星舰大厅 2. 银河观景台 3. 全息圣殿 4. 月球基地礼堂 5. 光之穹顶 6. 星际花园 ``` --- # 9. 视觉风格设计 ## 9.1 第一阶段风格 ```text 韩漫风 半写实写真风 国风插画风 电影写实风 ``` --- ## 9.2 推荐优先级 商业落地优先做: ```text 半写实写真风 韩漫风 国风插画风 ``` 电影写实风虽然高级,但最容易暴露人脸不像、手部异常、动态不自然的问题,所以放在高端套餐更合适。 --- # 10. 套餐设计 ## 10.1 标准图集版 ```text 适合:情侣写真、个人形象 主题:1 个 世界:1 个 场景:3 个 成品图:6-12 张 视频:无 修改:1 次小改 生成质量:高 ``` --- ## 10.2 短视频版 ```text 适合:恋爱纪念、结婚纪念 主题:1 个 世界:1-3 个 场景:3-6 个 成品图:12-24 张 视频:30-60 秒 字幕:有 BGM:有 旁白:可选 修改:1 次小改 ``` --- ## 10.3 多世界纪念片 ```text 适合:跨朝代婚礼、修仙+未来+古代穿越 主题:1 个 世界:5-10 个 场景:5-20 个 成品图:25-60 张 视频:1-3 分钟 字幕:有 BGM:有 旁白:有 片头片尾:有 修改:2 次 ``` --- ## 10.4 高端定制版 ```text 适合:婚庆公司、影楼、金婚银婚、婚礼现场播放 主题:自由定制 世界:自由组合 场景:可定制 图片:高精修 视频:1-5 分钟 动态镜头:可选 人工审核:必须 修改:按订单配置 ``` --- # 11. 用户端页面设计 用户端使用 uni-app。 ## 11.1 首页 不需要登录。 模块: ```text 顶部 Banner 产品卖点 热门案例 热门人生主题 热门世界模板 套餐说明 制作流程 用户评价 FAQ 开始制作按钮 ``` 按钮: ```text 查看案例 用同款制作 选择主题 查看套餐 开始制作 联系客服 ``` --- ## 11.2 案例列表页 不需要登录。 筛选: ```text 人生主题 世界观 视觉风格 图集 / 视频 最新 / 热门 ``` 只展示用户授权公开的案例。 --- ## 11.3 案例详情页 展示: ```text 案例视频 案例图集 使用主题 使用世界 使用风格 套餐推荐 同款制作按钮 ``` --- ## 11.4 登录注册页 支持: ```text 手机号验证码 微信授权 邮箱注册,后续可选 ``` --- ## 11.5 创建项目页 必须登录。 字段: ```text 项目名称 人生主题 作品用途 输出类型 ``` 作品用途: ```text 自己留念 送礼物 婚礼现场播放 小红书/抖音发布 父母纪念 ``` --- ## 11.6 主题选择页 字段: ```text 主题名称 主题封面 主题说明 适合人群 案例数量 是否推荐 ``` --- ## 11.7 套餐选择页 字段: ```text 套餐名称 价格 输出图片数量 输出视频时长 世界数量 场景数量 修改次数 是否人工审核 是否支持高级动态 ``` --- ## 11.8 风格选择页 字段: ```text 风格名称 预览图 适合主题 适合世界 是否高级风格 ``` --- ## 11.9 世界观选择页 支持: ```text 单世界 多世界 自由排序 同款案例选择 ``` 限制: ```text 标准图集:1 个世界 短视频:1-3 个世界 多世界纪念片:5-10 个世界 高端定制:按配置 ``` --- ## 11.10 场景选择页 展示结构: ```text 世界 A 场景 1 场景 2 场景 3 世界 B 场景 1 场景 2 ``` 每个场景展示: ```text 预览图 适合镜头数 是否支持视频动态 是否高级场景 ``` --- ## 11.11 照片上传页 根据主题动态变化。 ### 双人主题 ```text 男方照片:3-8 张 女方照片:3-8 张 双人合照:1-5 张,可选 ``` ### 单人主题 ```text 本人照片:3-10 张 ``` ### 家庭主题 ```text 每个成员至少 2-5 张 家庭合照 1-5 张 ``` ### 儿童 / 宝宝主题 ```text 宝宝照片 3-10 张 父母照片可选 必须勾选监护人授权 ``` --- ## 11.12 授权确认页 必须有。 勾选项: ```text 我确认拥有上传照片的合法使用权 我确认已获得照片中人物授权 我授权平台为本次项目生成图片和视频 我知道作品默认不公开展示 如涉及未成年人,我确认我是监护人或已获得监护人授权 ``` --- ## 11.13 照片质检页 检测: ```text 清晰度 人脸完整度 光照 遮挡 角度 多人混入 重复图片 角色归属 疑似低质量 疑似过度美颜 ``` 状态: ```text pass warning fail ``` fail 必须补图,warning 可继续但提示风险。 --- ## 11.14 定制信息页 字段: ```text 人物姓名 关系类型 纪念日期 文案风格 一句话誓言 是否显示名字 是否显示日期 特别要求 是否允许公开展示 ``` 文案风格: ```text 浪漫 庄重 温馨 梦幻 史诗 搞笑 高级电影感 古风诗意 ``` --- ## 11.15 创作方案预览页 展示: ```text 作品标题 主题 风格 世界顺序 场景顺序 镜头数量 图片数量 预计视频时长 旁白草稿 字幕草稿 片头片尾文案 预计消耗额度 ``` 按钮: ```text 确认方案 修改世界 修改场景 修改文案 重新生成方案 取消项目 ``` --- ## 11.16 支付 / 额度确认页 字段: ```text 套餐价格 已用优惠 需支付金额 预览额度 正式生成额度 修改次数 预计成本说明 ``` 按钮: ```text 立即支付 使用余额 取消订单 ``` --- ## 11.17 预览生成页 展示: ```text 低清水印预览图 部分关键镜头 人物像不像反馈 风格是否满意 ``` 按钮: ```text 满意,进入正式生成 不满意,重新生成预览 修改模板 联系客服 ``` --- ## 11.18 生成进度页 用 WebSocket 或轮询。 状态节点: ```text 项目已创建 照片检测完成 人物档案建立中 方案生成中 等待方案确认 预览生成中 等待预览确认 正式图生成中 图片质检中 音频生成中 字幕生成中 视频合成中 人工审核中 等待用户确认 已完成 ``` --- ## 11.19 成品确认页 展示: ```text 成品视频 成品图集 封面图 有字幕版本 无字幕版本 下载入口 剩余修改次数 ``` 按钮: ```text 确认完成 申请修改 下载视频 下载图片 删除作品 授权公开为案例 ``` --- ## 11.20 修改申请页 修改分级: ```text 小改 中改 大改 ``` 小改: ```text 改名字 改日期 改字幕 换音乐 改片尾文案 ``` 中改: ```text 替换个别图片 重做 1-2 个场景 调整部分镜头 ``` 大改: ```text 换整体风格 换全部世界 重建人设 整条视频重做 ``` 大改必须重新计费。 --- # 12. 后台管理端设计 后台使用 Geeker-Admin 二开。 ## 12.1 仪表盘 指标: ```text 今日订单数 今日支付金额 今日生成项目数 今日完成项目数 失败任务数 待审核项目数 待处理修改数 AI 调用成本 存储占用 热门主题排行 热门世界排行 转化率 ``` --- ## 12.2 用户管理 字段: ```text 用户 ID 昵称 手机号 微信 openid 注册时间 项目数 订单数 消费金额 状态 ``` --- ## 12.3 项目管理 字段: ```text project_id user_id life_theme package_id style_id world_count scene_count status payment_status created_at completed_at allow_public_case ``` 操作: ```text 查看详情 查看素材 查看任务 手动重试 转人工 标记异常 强制完成 取消项目 ``` --- ## 12.4 订单管理 字段: ```text order_id project_id user_id package_id amount pay_status refund_status pay_time created_at ``` 状态: ```text pending paid cancelled refunding refunded failed ``` --- ## 12.5 模板管理 子模块: ```text 人生主题管理 世界观模板管理 场景模板管理 镜头模板管理 视觉风格管理 文案模板管理 音乐模板管理 视频模板管理 套餐管理 ``` --- ## 12.6 任务管理 任务类型: ```text photo_check person_profile plan_generate prompt_generate preview_image final_image image_qc video_clip_generate audio_generate subtitle_generate video_render final_qc manual_review ``` 操作: ```text 查看输入 查看输出 重试 终止 跳过 标记人工处理 查看错误日志 ``` --- ## 12.7 AI Provider 管理 Provider 类型: ```text TextProvider ImageProvider VideoProvider VoiceProvider ModerationProvider FaceCheckProvider QualityCheckProvider StorageProvider ``` 字段: ```text provider_id provider_type provider_name model_name api_base priority quality_level cost_rule rate_limit status fallback_provider_id ``` --- ## 12.8 案例管理 字段: ```text case_id project_id title cover_image video_url theme_id style_id world_ids sort_order is_featured status authorization_record_id ``` 注意:无授权不能上架。 --- ## 12.9 修改申请管理 字段: ```text revision_id project_id user_id revision_type request_text remaining_count status created_at handled_by ``` 操作: ```text 接受 拒绝 转人工 创建重做任务 标记完成 ``` --- ## 12.10 隐私与授权管理 必须独立管理: ```text 用户授权记录 公开案例授权 未成年人授权确认 删除申请 数据导出申请 素材清理记录 ``` --- # 13. 项目状态流转设计 ## 13.1 Project 状态 ```text draft template_selecting photo_uploading authorization_pending photo_checking photo_rejected person_profiling info_filling plan_generating waiting_plan_confirm payment_pending payment_paid preview_generating waiting_preview_confirm final_generating image_qc audio_generating subtitle_generating video_rendering final_qc manual_review waiting_user_confirm revision_requested revising completed cancelled failed archived ``` --- ## 13.2 主流程 ```text draft → template_selecting → photo_uploading → authorization_pending → photo_checking → person_profiling → info_filling → plan_generating → waiting_plan_confirm → payment_pending → payment_paid → preview_generating → waiting_preview_confirm → final_generating → image_qc → audio_generating → subtitle_generating → video_rendering → final_qc → manual_review → waiting_user_confirm → completed → archived ``` --- ## 13.3 照片失败分支 ```text photo_checking → photo_rejected → photo_uploading → photo_checking ``` --- ## 13.4 支付失败分支 ```text payment_pending → payment_failed → payment_pending / cancelled ``` --- ## 13.5 预览不满意分支 ```text waiting_preview_confirm → template_selecting / info_filling / preview_generating ``` --- ## 13.6 成品修改分支 ```text waiting_user_confirm → revision_requested → revising → final_generating / video_rendering / manual_review → waiting_user_confirm ``` --- # 14. 核心数据表设计 ## 14.1 users ```text id nickname phone email wechat_openid avatar status created_at updated_at ``` --- ## 14.2 projects ```text id user_id title life_theme_id package_id style_id output_type status payment_status total_duration image_count video_url cover_asset_id allow_public_case created_at updated_at completed_at ``` --- ## 14.3 orders ```text id user_id project_id package_id amount pay_status pay_method transaction_id refund_status created_at paid_at ``` --- ## 14.4 life_themes ```text id code name description cover_asset_id person_schema status sort_order ``` `person_schema` 示例: ```json { "type": "couple", "roles": ["person_a", "person_b"], "min_photos_each": 3, "max_photos_each": 8 } ``` --- ## 14.5 person_profiles ```text id project_id role name gender_label age_group appearance_summary reference_asset_ids anchor_asset_id quality_score status created_at ``` --- ## 14.6 assets ```text id user_id project_id asset_type file_path file_url mime_type width height duration size hash visibility status created_at ``` asset_type: ```text upload_photo preview_image final_image audio subtitle video cover case_asset ``` --- ## 14.7 world_templates ```text id code name category description cover_asset_id prompt_base costume_rules scene_rules style_rules negative_rules supported_theme_ids supported_style_ids is_premium status sort_order ``` --- ## 14.8 scene_templates ```text id world_id code name description cover_asset_id scene_prompt composition_rules lighting_rules effect_type recommended_shot_count is_premium status sort_order ``` --- ## 14.9 shot_templates ```text id scene_id code name shot_type camera_angle composition prompt_rule duration effect_type status sort_order ``` --- ## 14.10 project_worlds ```text id project_id world_id sort_order ``` --- ## 14.11 project_scenes ```text id project_id world_id scene_id sort_order ``` --- ## 14.12 shot_plans ```text id project_id world_id scene_id shot_template_id title description prompt_text negative_prompt duration sort_order status ``` --- ## 14.13 render_tasks ```text id project_id task_type provider_id status input_json input_hash output_asset_id provider_request_id retry_count max_retry cost_estimate cost_actual error_code error_message created_at started_at finished_at ``` --- ## 14.14 revision_requests ```text id project_id user_id revision_type request_text status remaining_count_before handled_by created_at updated_at ``` --- ## 14.15 authorizations ```text id user_id project_id authorization_type content ip user_agent confirmed_at ``` authorization_type: ```text photo_usage public_case minor_guardian privacy_policy terms ``` --- ## 14.16 provider_logs ```text id provider_id project_id task_id request_payload response_payload status cost latency_ms created_at ``` --- # 15. AI 生成流水线设计 ## 15.1 照片输入处理 ```text 用户上传原图 → 去 EXIF → 生成缩略图 → 存储原图 → 人脸检测 → 清晰度评分 → 角色归属确认 → 合格图进入人物档案 ``` 必须去 EXIF,避免暴露用户位置信息。 --- ## 15.2 人物档案生成 每个人生成: ```text 外貌摘要 气质描述 发型描述 脸型描述 五官特征 参考图列表 主锚点图 禁用变化点 ``` 示例: ```text person_a: 30岁左右男性,短黑发,脸型偏长,五官清晰,气质沉稳,不要改变发际线,不要变成欧美脸。 ``` --- ## 15.3 创作方案生成 输入: ```text 人生主题 套餐 风格 世界观 场景 人物档案 定制信息 ``` 输出: ```text 作品标题 世界顺序 场景顺序 镜头计划 旁白 字幕 片头 片尾 总时长 预计图片数 预计视频片段数 ``` --- ## 15.4 Prompt 生成 Prompt 必须分层组合: ```text 人物层 主题层 世界观层 场景层 镜头层 风格层 质量层 限制层 ``` 最终 Prompt 结构: ```text 人物描述 + 关系描述 + 世界观设定 + 场景设定 + 镜头构图 + 光影氛围 + 视觉风格 + 质量要求 + 禁止项 ``` --- ## 15.5 预览图生成 预览图规则: ```text 数量少 加水印 低清或中清 只生成关键场景 用于确认人物和风格 ``` 不建议预览阶段生成完整视频。 --- ## 15.6 正式图生成 正式图规则: ```text 高质量图像模型 高质量档 按镜头生成 每张图记录 Prompt 每张图记录 Provider 每张图记录版本 失败可重试 ``` --- ## 15.7 图像质检 自动检测: ```text 人脸是否明显崩坏 男女是否混脸 是否不像本人 是否多出第三人 是否手部异常 是否服装跑偏 是否场景错误 是否文字乱入 是否敏感内容 ``` 处理: ```text 合格 → 入选 轻微问题 → 人工复核 严重问题 → 自动重生 连续失败 → 转人工 ``` --- ## 15.8 音频生成 音频类型: ```text 旁白 祝福语 誓言 片头语 片尾语 ``` TTS 参数: ```text voice speed emotion tone format ``` --- ## 15.9 视频合成 第一版以 FFmpeg 为核心: ```text 图片转视频 推拉镜头 转场 字幕 BGM 旁白 片头片尾 封面 导出 MP4 ``` 视频动态分级: ```text L1:静态图片 + 运镜 L2:图片 + 粒子 / 花瓣 / 光效 L3:关键镜头图生视频 L4:高级动态视频 ``` 第一阶段推荐: ```text 80% L1 15% L2 5% L3 ``` 不要第一版就全量 AI 视频化。 --- # 16. 质量控制标准 ## 16.1 照片质量标准 合格要求: ```text 人脸清晰 无遮挡 不过度美颜 光照正常 分辨率足够 主体明确 ``` --- ## 16.2 人像一致性标准 成品应满足: ```text 同一个人在不同场景中五官稳定 男女不混脸 年龄不严重漂移 气质不严重偏离 发型可适配世界,但不能完全换人 ``` --- ## 16.3 风格一致性标准 同一个项目内: ```text 画风统一 色调统一 人物服饰符合世界设定 镜头节奏一致 字幕风格一致 ``` --- ## 16.4 视频交付标准 ```text 视频能正常播放 无明显黑屏 无音画错位 字幕不出框 BGM 音量不过大 旁白清晰 封面正常 分辨率符合套餐 ``` --- # 17. 稳定性设计 ## 17.1 队列隔离 不同任务用不同队列: ```text photo_check_queue text_queue image_queue video_queue audio_queue ffmpeg_queue qc_queue ``` 避免视频任务堵住图片任务。 --- ## 17.2 并发限制 按用户、项目、Provider 控制: ```text 每用户同时最多 1-2 个正式生成项目 每项目同时最多 N 个图片任务 每 Provider 设置并发上限 ``` --- ## 17.3 重试策略 每个任务: ```text 默认重试 2-3 次 失败记录原因 连续失败转人工 重试不得重复扣用户额度 ``` --- ## 17.4 幂等设计 同一个任务用: ```text project_id + task_type + input_hash ``` 作为幂等 key。 如果重复提交: ```text 已有成功结果 → 直接返回 已有运行任务 → 返回当前任务 失败任务 → 允许按规则重试 ``` --- ## 17.5 成本监控 必须记录: ```text 每个任务预计成本 每个任务实际成本 每个项目总成本 每个用户总成本 每天 Provider 成本 ``` --- # 18. 隐私、安全、合规设计 ## 18.1 用户照片隐私 必须做到: ```text 默认私密 公开案例需单独授权 支持用户删除作品 后台敏感操作留日志 下载链接有有效期 原图不直接暴露公网 ``` --- ## 18.2 未成年人内容 涉及: ```text 宝宝百日 儿童成长 亲子纪念 家庭全家福 ``` 必须增加: ```text 监护人授权确认 禁止公开展示默认关闭 后台审核更严格 ``` --- ## 18.3 防滥用 禁止: ```text 上传未经授权的他人照片 生成侮辱性内容 生成色情内容 生成政治人物冒充内容 生成名人商业冒用内容 生成违法内容 ``` --- ## 18.4 音乐版权 BGM 必须来自: ```text 平台自有授权音乐 可商用音乐库 用户自己上传且承诺有授权 ``` 每首音乐记录: ```text source license_type license_file usage_scope ``` --- # 19. MVP 范围 ## 19.1 MVP 必须做 ```text 用户注册登录 首页案例展示 创建项目 主题选择 套餐选择 风格选择 世界选择 场景选择 照片上传 授权确认 照片质检 人物档案 定制信息 创作方案 支付/额度锁定 预览图生成 正式图生成 简单视频合成 成品下载 修改申请 后台项目管理 后台模板管理 后台任务管理 后台案例管理 AI Provider 管理 ``` --- ## 19.2 MVP 暂缓 ```text 复杂分销 多商户 自动发布短视频 完整 App 真人语音克隆 复杂图生视频批量化 高级会员体系 全自动退款 企业 API 开放平台 ``` --- # 20. 开发阶段规划 ## 第 1 阶段:基础框架 ```text Node.js + NestJS 项目 MySQL Redis BullMQ MinIO uni-app 用户端 Geeker-Admin 后台 登录注册 文件上传 基础项目表 ``` --- ## 第 2 阶段:模板系统 ```text 人生主题 套餐 视觉风格 世界观 场景 镜头 文案 音乐 ``` --- ## 第 3 阶段:项目创建流程 ```text 创建项目 选择主题 选择套餐 选择风格 选择世界 选择场景 上传照片 授权确认 填写定制信息 ``` --- ## 第 4 阶段:AI 生成流程 ```text 照片质检 人物档案 创作方案 Prompt 生成 预览图 正式图 图片质检 ``` --- ## 第 5 阶段:视频合成 ```text 图片排序 字幕生成 TTS BGM FFmpeg 合成 封面生成 MP4 导出 ``` --- ## 第 6 阶段:商业闭环 ```text 订单支付 额度冻结 成本记录 成品下载 修改申请 人工审核 案例授权 ``` --- ## 第 7 阶段:稳定性增强 ```text 任务幂等 失败重试 Provider 切换 成本看板 错误告警 素材清理 隐私删除 日志审计 ``` --- # 21. Codex 开发拆解方向 后续可以按下面顺序交给 Codex: ```text 任务 1:初始化 NestJS 后端项目 任务 2:设计 MySQL 表结构和 Prisma/TypeORM 模型 任务 3:实现用户登录注册 任务 4:实现文件上传到 MinIO 任务 5:实现项目创建流程 API 任务 6:实现模板管理 API 任务 7:接入 Geeker-Admin 后台页面 任务 8:实现 uni-app 用户端页面 任务 9:实现 BullMQ 任务队列 任务 10:实现 AI Provider 抽象层 任务 11:实现照片质检 Worker 任务 12:实现创作方案生成 任务 13:实现图片生成任务 任务 14:实现图片质检任务 任务 15:实现 TTS 和字幕任务 任务 16:实现 FFmpeg 视频合成 任务 17:实现订单和额度系统 任务 18:实现修改申请和人工审核 任务 19:实现案例展示和授权公开 任务 20:实现日志、成本、告警、清理 ``` 每个任务都要写: ```text 目标 输入 输出 涉及文件 涉及表 涉及接口 验收标准 注意事项 ``` --- # 22. 最终审核结论 V2 比 V1 更适合真实落地,核心修正是: ```text 1. 从婚礼工具升级成多人生主题平台 2. 修正用户流程顺序 3. 加入支付 / 额度 / 成本锁定 4. 加入肖像授权和隐私体系 5. 加入内容审核 6. 加入任务幂等和失败恢复 7. 加入 Provider 可替换设计 8. 避免绑定单一视频模型 9. 增强照片质检和人物档案 10. 明确 MVP 边界和开发阶段 ``` 建议第一版不要把所有人生主题都上线,只上线: ```text 结婚纪念 恋爱纪念 银婚金婚 情侣写真 个人形象定制 ``` 其它主题先在后台模板体系里预留,不在前端主推。 --- # 23. V2 开发主线建议 按以下优先级执行: ```text 先做能跑通的闭环 再做生成质量 再做商业支付 再做后台运营 再做稳定性和成本控制 最后做多主题扩展 ``` 第一版真正验收目标: ```text 用户注册登录 → 创建项目 → 选择主题/套餐/风格/世界/场景 → 上传照片 → 照片质检 → 生成创作方案 → 支付/额度确认 → 生成预览 → 正式生成图 → 合成视频 → 下载成品 ``` 只要这条链路稳定跑通,系统 B 就具备商业试单能力。