# 产品需求规格 > 本文描述拟建设产品,不描述参考项目已经具备的能力。P0 是首版正式上线要求,P1/P2 是后续计划。 ## 1. 产品目标与非目标 ### 1.1 目标 - 让没有模型部署经验的创作者完成 30~180 秒短剧;这只是首版内容组织的建议范围,不限制上游单镜头时长,也不是自动生成效果承诺。 - 将“故事到成片”的生产事实、资源版本、费用和失败恢复统一管理。 - 用户只面对创作参数、模型的产品展示名和积分价格;渠道与凭据由管理员维护。 - 使用远程 AI 服务,不要求用户准备 GPU、下载权重或安装模型环境。 - 首版先保证可控地做成一集,再扩展为多集生产与批量运营。 ### 1.2 非目标 不训练基础模型,不保证完全一致的人脸与口型,不承诺“一句话必得商业大片”,不提供未授权影视素材抓取或名人声音克隆,不把完整 Premiere/DaVinci Resolve 功能作为首版目标,不让 Agent 执行任意系统命令。 ## 2. 用户与权限 | 身份 | 允许操作 | 禁止操作 | | --- | --- | --- | | 访客 | 了解功能、价格、查看合规公开样片、注册 | 读取私有作品、触发付费生成 | | 普通创作者 | 自己工作区的项目、生成、资产、成片、充值和账单 | 配置平台渠道、读取平台密钥、查看他人数据或上游进价 | | 工作区成员(P1) | 按角色查看、编辑或审批共享项目 | 越过工作区预算或获得平台管理权限 | | 运营 | 查看脱敏用户/订单、处理工单、限制滥用 | 导出密钥、任意改账、默认访问私有素材 | | 财务 | 对账、退款申请处理、财务导出 | 编辑生成提示词或读取渠道密钥 | | 渠道管理员 | 新增渠道、能力映射、价格与检测、密钥轮换 | 明文读回既有密钥,绕过审计 | | 超级管理员 | 角色授权、关键安全设置、紧急停机 | 删除审计历史、直接修改账本金额 | 后台使用细粒度权限,例如 `channel.write`、`pricing.publish`、`refund.approve`,而不是仅判断一个 `isAdmin`。首版可由同一管理员持有多个权限,但接口边界不能省略。 P0 每位用户创建个人工作区。数据模型保留 Workspace/Membership,**不等于首版承诺团队协作**。账单归工作区所有者;P0 不允许转移所有权、跨用户共享钱包。 ## 3. 信息架构 | 用户端模块 | 主要页面 | 核心对象 | | --- | --- | --- | | 项目工作台 | 最近项目、创建向导、项目设置 | Project | | 故事与剧本 | 故事简介、大纲、分集、剧本版本 | Episode、ScriptVersion | | 资产 | 角色、场景、道具、参考图、上传素材 | Asset、AssetVersion | | 分镜 | 镜头准备表、关键帧、视频工作室 | Shot、ShotReference | | 声音 | 对白、旁白、音色、合成记录、音轨 | DialogueLine、AudioVersion | | 成片 | 轻量时间线、预览、渲染、下载 | TimelineVersion、RenderJob | | 任务中心 | 进行中、待核对、失败、已完成 | Task、Execution | | 钱包 | 可用/冻结积分、充值、流水、订单 | Wallet、PaymentOrder | | 账户 | 登录安全、资料、隐私与数据导出 | User、Session | 管理员端:运营概览、用户、渠道、模型、价格、任务核对、支付订单、积分流水、内容审核、审计、系统设置。用户端与管理员端可共享登录,但路由和 API 均独立授权。 ## 4. 核心用户旅程 ### 4.1 新用户首次完成一集 1. 注册/登录并完成最低风险验证,进入空工作台。 2. 创建项目:名称、内容语言、画幅、目标时长、风格;全部可编辑,关键参数变化需提示重算影响。 3. 输入故事,生成大纲;对付费调用进行报价与确认。 4. 确认大纲后生成剧本,逐集编辑;选择一个明确的已确认版本。 5. 提取资产候选;用户合并同名角色、纠正描述、确认人物成年设定与内容权利。 6. 生成关键参考图并选择版本;不满意只重做对应资产,不重新生成整份剧本。 7. 生成分镜候选并确认。逐镜头设置景别、时长、运镜、对白和参考版本。 8. 先生成一个试拍镜头,确认后批量提交其余镜头。 9. 生成对白与旁白,安排音频/字幕;导入有权使用的音乐与音效。 10. 在时间线中组装、预览,检查裁切、字幕、安全区和音量后导出。 11. 每笔消费可追溯;成功的素材与成片保留在项目中。 ### 4.2 上游生成失败 - 输入或能力不符:生成前阻止,不创建付费任务。 - 上游明确拒绝且能证明未受理:按协议结束或在批准的等价渠道范围内处理;不得单凭 5xx 推断未受理。 - 任务已受理但生成失败:保存上游原因与本地解释,按已公示政策结算/退款。 - 提交结果未知:提示“正在核对,勿重复提交”,允许联系客服,不把未知标成可免费重试。 - 上游已完成但转存失败:重试转存,不再生成,费用进入交付核对状态。 ### 4.3 管理员首次启用平台 创建首个管理员,进入零渠道页面;添加连接草稿,安全地保存凭据;检测连接;导入候选模型;人工配置四类能力与参数;设置零售积分价和成本参考;明确付费验证后发布。没有完成配置时,普通用户看见平台暂未开放,而不是系统异常。 ## 5. 四类 AI 的功能规格 ### 5.1 文本能力(P0) | 功能 | 输入 | 输出与约束 | | --- | --- | --- | | 故事大纲 | 主题、类型、人物、时长和语言 | 可编辑的结构化大纲,不直接覆盖已确认大纲 | | 剧本生成/续写 | 已确认大纲、人物和上下文范围 | 场景、动作、对白;有版本与来源标记 | | 角色/场景/道具提取 | 明确 ScriptVersion | 候选条目,支持合并、忽略、修正 | | 分镜拆解 | 剧本、目标节奏、当前资产 | 结构化镜头列表,引用必须能解析到合法资产 | | 提示词辅助 | 当前镜头或图片任务 | 候选提示词,用户确认后用于新生成 | 结构化输出使用 schema 校验;允许剥离完整外层 JSON 代码围栏,但不任意拼接残缺 JSON。模型输出违反格式时,保留草稿和原因;新的付费修复调用也需预算授权。上下文长度、生成上限和用户文字权利需校验。 ### 5.2 图片能力(P0) - 文生图:角色参考、场景、道具、封面和关键帧。 - 图生图/编辑:仅在实际渠道验证支持时显示;编辑区域、参考图数量和保真选项依协议登记。 - 可配置画幅、尺寸、质量和候选数量;不能把不同供应商参数强行统一为同一枚举。 - 每张图保存提示词版本、实际参数、产品模型、执行身份和来源资产。 - 参考图锁定版本,后续镜头引用不跟随“当前最新”偷偷改变。 - 新结果作为候选,用户显式“设为当前版本”;失败不覆盖旧版本。 ### 5.3 视频能力(P0) 至少一个经过验证的文生视频或图生视频能力可用;产品目标支持首帧与首尾帧,但具体是否开放取决于接入模型,不伪造缺失能力。 | 模式 | 必要输入 | 不允许的隐式行为 | | --- | --- | --- | | 文生视频 | 提示词与受支持参数 | 自动补充首帧并计额外费用 | | 首帧视频 | 显式首帧引用 | 把任意参考图当成首帧 | | 首尾帧视频 | 分开的首帧和尾帧引用 | 模型不支持尾帧时静默忽略 | | 多参考(P1 或已验证能力) | 每个引用的角色与顺序 | 超过上限时自动丢图 | | 编辑/延展(P1) | 源视频及操作 | 用静态图移动替代真实视频生成却不说明 | 支持单镜头与批量;批次逐项显示报价、任务和结果。显示排队、上游处理、入库等阶段。没有可信进度时只显示阶段,不编造“已生成 87%”。 ### 5.4 音频能力 P0:远程 TTS、音色目录、对白/旁白分段合成、语速等已支持参数、音频上传、试听、音量调节、字幕时间调整。字幕优先使用上游时间戳;没有时间戳时允许人工调整,不能声称已完成精确对齐。 P1:远程 ASR/强制对齐、音乐/音效生成、更多语言和情绪。每种能力单独验证和定价。真人音色克隆只有在明确同意、权利证明与供应商政策满足时另行开放,默认关闭。 ## 6. 剧情一致性与版本 - Project Bible 保存世界观、风格、人物关系、禁用元素与语言规范;AI 只能提出更新,不能不经确认改变。 - Character 的“身份”和“参考图版本”分开;更换一张图片不等于创建一个新人物。 - 服装、时期、场景和道具可在镜头中明确引用,支持同一角色不同造型。 - 剧本变更生成影响清单:哪些镜头描述、参考图、对白和成片可能过期。 - “过期”不代表删除或不可播放;旧结果继续保留,但提示不是依据当前剧本生成。 - 只重做选中的镜头/音频片段;重做是新的付费执行,不覆盖历史账单。 ## 7. 成片与导出 P0 只提供可控粗剪:排序、裁剪起止、基础转场、音轨增益、字幕修改、封面、画幅与导出档位。视频轨与对白、背景音乐、字幕轨分开。画幅改变需明确裁切方式与安全区预览。 导出绑定不可变 TimelineVersion 和全部素材版本。导出进行中编辑时间线只产生新版本,不影响正在渲染的任务。支持 MP4/H.264 的正式档位;帧率、音频采样率、字幕烧录或 SRT 由已验证渲染模板约束。缺少素材、时长非法或文件尚未入库时,导出前明确阻止。 源素材包与最终视频分别下载;签名链接过期可重新授权生成,不重跑渲染。文件是否可交付以资产校验、存储状态和访问控制为准。 ## 8. 后台必需功能 | 模块 | P0 功能 | 约束 | | --- | --- | --- | | 渠道 | 增删改、草稿、检测、启停、轮换、发布版本 | 无预置 Base URL;不允许浏览器解密读回 | | 模型 | 上游 ID 映射、产品名称、能力、参数范围 | `/models` 结果只是候选,不自动上架 | | 价格 | 计价单位、参数档位、版本、发布与下架 | 未定价不可卖;已有任务沿用报价 | | 用户 | 检索、封禁、额度、风险标记 | 私有作品访问需额外审批和记录 | | 任务 | 查看阶段、上游 ID、恢复轮询、入库重试、核对 | 不提供无差别“全部重新生成”按钮 | | 钱包/订单 | 支付、结算、退款、补偿和对账 | 禁止直接改余额;补偿走新账本分录 | | 内容 | 举报、下架、审核状态和申诉 | 不通过换上游绕过内容拒绝 | | 审计 | 配置发布、密钥操作、退款和敏感访问 | 只追加,不能在普通后台删除 | ## 9. 明确的异常体验 | 场景 | 用户提示与可用操作 | | --- | --- | | 平台未配置 | “平台暂未开放生成”;管理员看见配置向导 | | 当前模态未启用 | 显示不可用原因,保留编辑,不伪装成余额不足 | | 余额不足 | 显示缺口与充值入口,未扣费 | | 报价过期 | 重新报价,用户再次确认,不能沿用旧确认提高扣费 | | 输入版本变化 | 显示受影响对象,重新规划 | | 上游限流 | 排队或明确失败,解释预计等待,不展示敏感细节 | | 上游欠费 | 平台服务问题,不能要求用户充值平台积分来修复渠道余额 | | 状态未知 | 保留冻结、发起核对、禁止盲目重试 | | 内容拒绝 | 显示合规原因与申诉/修改方向,不自动换渠道 | | 下载/转存失败 | “生成已完成,正在恢复交付”,后台重试入库 | | 付费但未到账 | 支付核对入口,不让前端自行补余额 | ## 10. 关键验收编号 - **PR-01**:新数据库无任何渠道、API Key 或 Base URL;未配置调用不发出 AI 网络请求、不冻结积分。 - **PR-02**:四类能力至少各一个可用真实远程实现,不能用演示数据冒充。 - **PR-03**:从自有故事到 MP4 的完整链路可复现,所有素材可追溯。 - **PR-04**:改剧本不覆盖旧资产;付费结果有版本。 - **PR-05**:重复提交与重复回调不重复消费;重复支付通知不重复充值。 - **PR-06**:重启只恢复原任务,不能重触发已受理生成。 - **PR-07**:普通用户不能读写渠道配置,不能跨工作区访问资源。 - **PR-08**:上游任务 ID、配置版本、用量与费用可审计,但用户不能看见平台凭据或进价。 - **PR-09**:当前模块、引用准备度、生成状态和资金状态分别表达。 - **PR-10**:用户删除、退款、内容违规和上游不可用都有明确处理流程。 详细故障注入与上线门禁见 [deliveryPlan.md](deliveryPlan.md)。