All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 6s
页面 (电商AI平台/) - account / team / settings / index / products / projects: 累积迭代 - restraint.css: 设计 token 补充 - login.html / register.html: 新增登录注册页 - _ARCHIVE.md: 归档说明 Next.js 工程骨架 - app/ + components/: 新一代 SPA 雏形 (page / layout / sidebar / topbar / GridBg / Icon) - package.json / package-lock.json / next.config.mjs / tsconfig.json / postcss.config.mjs / next-env.d.ts 历史归档 / 文档 - v1/: 原 V1 静态稿镜像 (含 mockup-A/B/C) - PRD.md / deployment-guide.md / _check.html - ui参考/ / screenshots/ 杂项 - .gitignore 调整 - 删除根 README.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1151 lines
58 KiB
Markdown
1151 lines
58 KiB
Markdown
# 带货流水线(暂名) — 产品 PRD v0.3
|
||
|
||
> 2026-05-09 起草|v0.3 = v0.2 + 用户多轮对齐 + brief 视觉路线
|
||
> 文档定位:**产品 PRD**,描述"做什么/怎么用/长什么样",不涉及技术实现
|
||
|
||
---
|
||
|
||
## 0. 文档约定
|
||
|
||
- 本文档"用户"指**商家端使用者**(运营、内容策划、店主、代运营成员)
|
||
- 商品 = SKU,是一等公民业务对象
|
||
- 资产 = 视觉素材的统称(商品/人物/场景/故事板/视频片段/成片)
|
||
- 工序 = Stage = 流水线阶段(共 5 段)
|
||
- 数字(时长、阈值、积分)均为 V1 默认值,运营可后台调整
|
||
- **视觉风格**:克制现代 SaaS,谱系参考 Linear / Stripe / Vercel / Notion(详见 §4)
|
||
|
||
---
|
||
|
||
## 1. 产品定位
|
||
|
||
### 1.1 一句话定义
|
||
|
||
> **抖音白牌商家的 AI 短剧化带货视频生成平台**——商家选商品 → AI 出脚本(自动切镜+切段)→ 生成基础资产(人物/场景/商品图)→ GPT-image-2 出故事板大图 → Seedance 按段出 15s 视频片段 → 时间线组装 → 导出 ≤60 秒短剧化带货成片。
|
||
|
||
### 1.2 解决的核心问题
|
||
|
||
| 现状痛点 | 我们的方案 |
|
||
|---------|----------|
|
||
| 商家拍带货视频成本高(主播/场地/剪辑),单条 ≥ 数百元 | AI 全流程生成,单条算力成本几元到十几元 |
|
||
| 第三方代运营周期 3-7 天,沟通成本高 | 自助创建,1-2 小时出成片 |
|
||
| 现有 AI 视频工具碎片化,不能直发抖音 | 端到端流水线,输出 9:16 ≤60s 直发成片 |
|
||
| 商家怕 AI 出错浪费钱 | 5 阶段每段都有人工审核门,**失败不扣费、确认后扣** |
|
||
| 同商家做多条视频,要复用主播/场景/商品图 | **团队级跨项目资产库**,主播/场景/商品图沉淀复用 |
|
||
| 商家自己已写好口播稿,想要平台只做视觉 | 脚本入口支持"自带粘贴" |
|
||
| 商家不会写脚本 | 脚本入口支持"AI 全生" + "一句话主题" |
|
||
| MCN/代运营管多账号、需要分工 | 团队 + 角色 + 四层额度 + 共享资产库 |
|
||
|
||
### 1.3 V1 / V2 范围
|
||
|
||
#### V1 In scope
|
||
|
||
- **完整 B2B 团队体系**:超管 / 团管 / 成员 + 四层额度(用户日/月 + 团队月/总)+ 团队共享资产库
|
||
- 商品库(独立一级模块)
|
||
- 项目管理(创建/列表/搜索/复制/归档/删除)
|
||
- 5 阶段流水线:脚本 → 基础资产 → 故事板 → 视频片段 → 拼接导出
|
||
- 4 种脚本入口(AI 全生 / 自带粘贴 / 一句话主题 / 复刻爆款灰掉占位)
|
||
- GPT-image-2 故事板大图(一次出整张,整张重跑)
|
||
- Seedance 按 15s 段生成(60s = 4 段)
|
||
- 失败不扣费 + 确认后扣 + 团队级额度预检
|
||
- 时间线组装(裁剪/排序/转场/字幕/BGM)
|
||
- 成片 ≤ 60 秒,9:16 竖版
|
||
- 资产库(跨项目共享 + 项目内)+ 中间产物可下载
|
||
- 运营后台简化版(商家管理 / 任务监控 / Skill 管理 / 财务对账)
|
||
|
||
#### V2 Out of scope
|
||
|
||
- 4-8 条变体批量生成
|
||
- 复刻爆款(依赖 Gemini Vision API)
|
||
- 组装编辑器的"我的模板"保存与套用
|
||
- 抖音直发对接 / 数据回流
|
||
- 长视频(>60s) / 横屏视频
|
||
- 多商品同框(一个项目带多 SKU)
|
||
- 登录风控规则(5 条规则 + 自动封号 + 飞书告警)—— 待评估接 AirDrama 已有实现
|
||
|
||
#### V1 明确不做
|
||
|
||
- 内容审核 / 合规违禁词前置
|
||
- 直播间相关
|
||
- 投放(DOU+/千川)
|
||
- 带货商品系统对接(淘宝/拼多多)
|
||
|
||
---
|
||
|
||
## 2. 目标用户与场景
|
||
|
||
### 2.1 用户画像
|
||
|
||
| 画像 | 占比预估 | 特征 | 关键诉求 |
|
||
|------|---------|------|---------|
|
||
| **抖音白牌商家** | 50% | 抖店/淘宝小店主,SKU 5-50,自己或小团队做内容 | 便宜、快、成片直接能发 |
|
||
| **代运营机构 / MCN** | 35% | 服务多个商家,专业团队 5-20 人 | **团队协作、四层额度、批量生产** |
|
||
| **达人/带货号** | 15% | 个人 IP 或小团队,做种草/测评 | 主播形象稳定、剧情多变 |
|
||
|
||
### 2.2 核心场景
|
||
|
||
#### 场景 A:MCN 老张 + 5 个运营成员
|
||
|
||
1. 老张作为团队超管,注册团队账号,充值 ¥5000 总额度,设月限额 ¥3000
|
||
2. 邀请 5 个运营成员,分配每日 ¥100 / 月 ¥1500 额度
|
||
3. 老张把"主播虚拟人小美"的人物图上传到团队共享资产库
|
||
4. 运营 A 接到商家"补水面膜"任务,新建项目时选商品 → 资产生成阶段绑定团队已有"小美" → 节省费用
|
||
5. 运营 B 同时做另一个项目,也用"小美"
|
||
6. 老张在「消费」页看本月已消耗、各成员明细、按项目分摊
|
||
|
||
#### 场景 B:店主小李第一次用平台
|
||
|
||
1. 注册账号自动建独立"团队"(团队=店铺,仅小李一人)
|
||
2. 进商品库建第一个商品"补水面膜",传 3 张图、写卖点+人群
|
||
3. 进项目创建:选商品 → AI 全生 + 痛点种草模板 → 开始
|
||
4. **Stage 1 脚本**:AI 出 60s 脚本(4 段 × 15s × 6 镜 = 24 镜),小李对话改钩子 → 确认
|
||
5. **Stage 2 基础资产**:
|
||
- 2a 人物图:AI 自动按脚本提取"主播-小美 / 朋友 A",出图,过;用户加了一个"宠物猫"角色
|
||
- 2b 场景图:AI 提取"卧室 / 浴室",第一张不满意重跑,过
|
||
- 2c 商品图:从商品库引用面膜图,[AI 优化] 一键去白底+打光,过
|
||
6. **Stage 3 故事板**:GPT-image-2 一次出 4 张故事板大图(每张 ~6 镜),第 3 张不满意 → 改提示词重跑该张 → 全过
|
||
7. **Stage 4 视频片段**:4 段并发提交 Seedance(每段输入第 K 张故事板 + 全套基础资产 + "按故事板生成视频"),全过(其中 1 段重跑了 1 次)
|
||
8. **Stage 5 拼接**:4 段 15s 自动拼成 60s → 加抖音电商字幕样式 → 选卡点 BGM → 导出 1080P MP4
|
||
9. 总时长 ~50 分钟,消耗 ¥22
|
||
|
||
---
|
||
|
||
## 3. 信息架构(页面地图)
|
||
|
||
```
|
||
登录 / 注册
|
||
│
|
||
▼
|
||
┌─────────────── 主应用(左侧 Sidebar 持久导航)─────────────────┐
|
||
│ │
|
||
│ 📊 工作台 ──► /dashboard 概览 + 最近项目 │
|
||
│ │
|
||
│ 🛍️ 商品库 ──► /products 商品卡片网格 ⭐核心 │
|
||
│ │ │
|
||
│ ├──────► /products/new 新建商品 │
|
||
│ └──────► /products/:id 商品详情 │
|
||
│ │
|
||
│ 🎬 视频项目 ──► /projects 项目列表(按状态 Tab) │
|
||
│ │ │
|
||
│ ├──────► /projects/new 新建项目向导(4 步) │
|
||
│ │ │
|
||
│ └──────► /projects/:id 流水线主界面 ⭐核心 │
|
||
│ ├ stage 1 脚本 │
|
||
│ ├ stage 2 基础资产(2a/2b/2c) │
|
||
│ ├ stage 3 故事板(K 张) │
|
||
│ ├ stage 4 视频片段(K 段) │
|
||
│ └ stage 5 拼接导出 │
|
||
│ │
|
||
│ 📦 资产库 ──► /library 跨团队共享 + 项目内 │
|
||
│ │
|
||
│ 👥 团队 ──► /team 成员 / 角色 / 邀请 │
|
||
│ │
|
||
│ 💰 消费 ──► /billing 余额 / 充值 / 额度 / 账单│
|
||
│ │
|
||
│ ⚙️ 设置 ──► /settings 个人 + 团队偏好 │
|
||
│ │
|
||
└────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 3.1 页面优先级
|
||
|
||
| 优先级 | 页面 | 状态 |
|
||
|-------|------|------|
|
||
| **P0** | 工作台 Dashboard | 必出 |
|
||
| **P0** | 商品库(列表+详情+新建) | 必出 |
|
||
| **P0** | 项目列表 | 必出 |
|
||
| **P0** | 新建项目向导 | 必出 |
|
||
| **P0** | 流水线主界面(5 阶段) | 必出 |
|
||
| **P1** | 资产库 | 必出 |
|
||
| **P1** | 团队(成员/角色/邀请/额度) | 必出 |
|
||
| **P1** | 消费(余额/充值/账单) | 必出 |
|
||
| **P2** | 登录/注册 | 必出 |
|
||
| **P2** | 设置 | 出占位 |
|
||
| **平行** | 运营后台 | V1 独立工程,简化版 |
|
||
|
||
---
|
||
|
||
## 4. 视觉风格规范 ⭐
|
||
|
||
> 整体定位:**克制现代 SaaS + 工业级精致 + 轻未来感**
|
||
> 谱系:Linear(极简系统感)+ Stripe(金融级精致)+ Vercel(黑白现代)+ Notion(留白克制)
|
||
> 不用:电商红/橙/亮黄、渐变铺面、磨砂玻璃拟物、霓虹色、暗色玻璃紫
|
||
> 商家是抖音白牌商家但他们也用 Mac、看 Apple、用 Notion——给一套"看着就像专业工具"的界面,强化平台权威感。
|
||
|
||
### 4.1 配色系统
|
||
|
||
主色调:**浅色为主**(白天作业场景多),暗色模式延后 V2
|
||
|
||
| 用途 | 颜色 | 色值 |
|
||
|------|------|------|
|
||
| 主背景 | 纯白 | `#FFFFFF` |
|
||
| 浅暖灰背景 | 暖灰 | `#FAFAF9` |
|
||
| 表面层 | 极浅灰 | `#F5F5F4` |
|
||
| 边框/分隔 | 极轻灰 | `#E7E5E4` |
|
||
| 主文字 | 近黑 | `#0C0A09` |
|
||
| 次级文字 | 中性灰 | `#57534E` |
|
||
| 弱化文字 | 浅灰 | `#A8A29E` |
|
||
| **强调色(主 CTA)** | **深沉电致蓝** | `#1E40AF` |
|
||
| 成功 | 森林绿 | `#15803D` |
|
||
| 警告 | 沉稳琥珀 | `#B45309` |
|
||
| 错误 | 克制红 | `#B91C1C` |
|
||
| 信息 | 同强调色蓝 | `#1E40AF` |
|
||
|
||
### 4.2 字体系统
|
||
|
||
| 用途 | 字体 | 字号梯度 | 字重 |
|
||
|------|------|---------|------|
|
||
| 中文 | HarmonyOS Sans(首选)/ 思源黑体 / PingFang SC | 12 / 14 / 16 / 20 / 24 / 32 / 40 | 400 主用,500 强调,600 标题 |
|
||
| 英文/数字 | Inter(首选)/ SF Pro | 同上 | 同上,避免 Bold(700+) |
|
||
| 数字(金额/计数) | Inter tabular numerals 等宽 | — | — |
|
||
|
||
行高:1.5 正文 / 1.3 标题
|
||
|
||
### 4.3 形状 / 间距 / 层级
|
||
|
||
| 项 | 标准 |
|
||
|----|------|
|
||
| 圆角 | 6-8px 主流元素 / 12px 大卡片 / 不超过 16px |
|
||
| 阴影 | 极轻量。优先 1px border 划层级,shadow 仅用于浮层 |
|
||
| Modal | `0 8px 24px rgba(0,0,0,0.08)` |
|
||
| Card hover | `0 1px 3px rgba(0,0,0,0.04)` |
|
||
| 间距系统 | 4px 基准,常用 8 / 12 / 16 / 24 / 32 / 48 |
|
||
| 栅格 | 12 列,最大内容宽 1280px,左右 padding |
|
||
|
||
### 4.4 动效
|
||
|
||
- 基调:ease-out 200-300ms,克制不张扬
|
||
- 不要:Material Ripple、bouncy spring 弹跳、夸张 page transition
|
||
- 要:状态切换轻量过渡、hover 微反馈(亮度+5% 或 scale 1.02)、loading 用 skeleton 不用 spinner
|
||
|
||
### 4.5 图标
|
||
|
||
- 风格:线性图标,2px stroke,圆角端点
|
||
- 库:Lucide / Heroicons / Tabler Icons(统一一套,不混用)
|
||
- 大小:16 / 20 / 24
|
||
|
||
### 4.6 按钮层级
|
||
|
||
| 层级 | 样式 |
|
||
|------|------|
|
||
| **Primary(主行动)** | 实色填充强调色 `#1E40AF`,白字,hover 加深 5% |
|
||
| **Secondary(次要)** | 白底 + border + 主色文字 |
|
||
| **Tertiary(弱化)** | 无 border 无 bg,纯文字 + hover 加底色 |
|
||
| **Destructive(删除)** | 错误色 border,hover 才转实色 |
|
||
|
||
### 4.7 关键 DO / DON'T
|
||
|
||
**DO ✅**
|
||
- 大量留白,不怕空
|
||
- 信息分层用字号 + 字重 + 颜色
|
||
- 数字用 tabular numerals
|
||
- 视频缩略图保持 9:16 真实比例
|
||
- 状态用色斑(小色块/徽章),不用大面积填充
|
||
|
||
**DON'T ❌**
|
||
- 不用渐变铺面(除极小面积装饰)
|
||
- 不用电商红 / 拼多多橙 / 大牌饱和色
|
||
- 不用磨砂玻璃 / 拟物化 / Skeuomorphism
|
||
- 不用浮动操作按钮(FAB)
|
||
- 不堆叠 3 层以上阴影
|
||
- 不用 emoji 做装饰图标
|
||
|
||
### 4.8 主应用布局
|
||
|
||
```
|
||
┌─────────────┬─────────────────────────────────────────────────────────┐
|
||
│ │ ┌─────────────────────────────────────────────────────┐│
|
||
│ │ │ Breadcrumb:项目 / 补水面膜 / 流水线 ││
|
||
│ Sidebar │ │ [操作区] ││
|
||
│ 240px │ └─────────────────────────────────────────────────────┘│
|
||
│ (白底) │ │
|
||
│ ───── │ ※ 主内容区(白底,max-w 1280)※ │
|
||
│ 📊 工作台 │ │
|
||
│ 🛍️ 商品库 │ (根据当前页面渲染) │
|
||
│ 🎬 项目 │ │
|
||
│ 📦 资产 │ │
|
||
│ 👥 团队 │ │
|
||
│ 💰 消费 │ │
|
||
│ ⚙️ 设置 │ │
|
||
│ ───── │ │
|
||
│ 👤 用户 │ │
|
||
│ ◀ 收起 │ │
|
||
└─────────────┴─────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 5. 业务流程(端到端)
|
||
|
||
### 5.1 完整旅程图
|
||
|
||
```
|
||
注册账号 (创建团队,注册者自动为超管)
|
||
│
|
||
▼
|
||
进入 Dashboard
|
||
│
|
||
▼
|
||
[超管/团管] 邀请成员、分配额度 (可选,单人也能直接做项目)
|
||
│
|
||
▼
|
||
进商品库 ──► [+ 新建商品] (传图+卖点+人群)
|
||
│ │
|
||
│ ▼ 商品入库
|
||
│
|
||
▼
|
||
回 Dashboard 点 [+ 新建项目]
|
||
│
|
||
▼
|
||
向导 4 步:① 选商品 → ② 选脚本来源 → ③ 选模板(仅 AI 全生时)→ ④ 摘要确认
|
||
│
|
||
▼
|
||
进入流水线(落到 Stage 1)
|
||
│
|
||
▼
|
||
【Stage 1】脚本 ──► 用户审核 ──► [✓ 确认]
|
||
│ ↑
|
||
▼ │
|
||
【Stage 2】基础资产 │
|
||
│ ├ 2a 人物图(AI 自动出 + 用户增/删/改)│
|
||
│ ├ 2b 场景图(同上) │
|
||
│ └ 2c 商品图(商品库引用 + AI 优化)│
|
||
│ 入跨项目共享库 │
|
||
│ ↑
|
||
▼ │
|
||
【Stage 3】故事板(K 张大图,1:1 对应 K 段视频)│
|
||
│ GPT-image-2 一次出整张,可整张重跑 │
|
||
│ 入项目内库 │
|
||
│ ↑
|
||
▼ │
|
||
【Stage 4】视频片段 ──► K 段并发跑 ──► 逐段审核 ──► [全通过]
|
||
│ 每段输入:第 K 张故事板 + 基础资产 │
|
||
│ 入项目内库 │
|
||
│ ↑
|
||
▼ │
|
||
【Stage 5】拼接导出 ──► 字幕/BGM/转场 ──► [✓ 确认导出] │
|
||
│ │
|
||
▼ │
|
||
成片入库 + 可下载 │
|
||
│
|
||
任意阶段可点 [↩ 回退] 回到上游 ────────────────────────────┘
|
||
```
|
||
|
||
### 5.2 阶段详细规则
|
||
|
||
#### 【Stage 1】脚本生成(Agent 对话)
|
||
|
||
**入口(4 选 1,新建项目时确定)**:
|
||
|
||
| 入口 | 输入 | 适合场景 |
|
||
|------|------|---------|
|
||
| **AI 全生** | 商品(来自商品库)+ 卖点 + 模板 | 不会写脚本的小白商家 |
|
||
| **自带脚本** | 商家粘贴自己写的口播稿 | 已有文案的商家、达人 |
|
||
| **一句话主题** | 商品 + 一句话方向 | 有想法但懒得写 |
|
||
| **复刻爆款** | 抖音爆款视频 URL | V1 灰掉占位(V2 接 Gemini Vision) |
|
||
|
||
**AI 输出(全自动结构化)**:
|
||
- 总时长:30s / 45s / 60s(用户选档位 or AI 推荐)
|
||
- **自动切分为 K 段(每段 15s)**:30s→K=2,45s→K=3,60s→K=4
|
||
- 每段约 6 镜,总 N 镜(N = K × 6 ± 浮动)
|
||
- 每镜含:镜号、时长(如"0-2s")、场景、角色行为、对白/旁白、镜头建议
|
||
|
||
> 镜数和切分点全由 AI 决定,用户不关心也不调整。
|
||
|
||
**界面**:双栏
|
||
- 左:Agent 对话框(聊天 UI)
|
||
- 右:脚本结构化预览(按段+镜分组)
|
||
|
||
**用户操作**:
|
||
- 对话框跟 AI 沟通调整("第二段语气改活泼")
|
||
- 行内编辑某镜文字
|
||
- 单镜重跑 / 整体重跑
|
||
|
||
**审核门**:[✓ 确认脚本] —— 主蓝色 CTA
|
||
|
||
**回退**:后续阶段可点 [↩ 回 Stage 1] 改脚本,弹窗确认"清空下游所有产出"
|
||
|
||
---
|
||
|
||
#### 【Stage 2】基础资产生成(3 子步,不再有元素提取阶段)
|
||
|
||
> AI 自动从已确认脚本中提取人物 + 场景清单,**直接进入生图,无需中间审核步**。
|
||
> 用户在生图阶段可以增/删/改清单。
|
||
|
||
##### Stage 2a — 👤 人物图
|
||
|
||
**系统行为**:AI 提取脚本中的人物 → 并发调用 image-2 出图
|
||
|
||
**界面**:每个人物一张卡片
|
||
- 人物名 + AI 生成的图片预览
|
||
- 提示词(默认 AI 生成,用户可改)
|
||
- 操作按钮
|
||
|
||
**用户操作**:
|
||
|
||
| 操作 | 行为 |
|
||
|------|------|
|
||
| [✓ 通过] | 入【跨项目共享库 - 人物图】 |
|
||
| [↻ 重跑] | 同提示词再生 |
|
||
| [📝 改词重跑] | 改提示词后重生 |
|
||
| [📤 上传替换] | 上传本地图替代,也入库 |
|
||
| [🔗 绑定已有] | 从团队共享库选已有人物图(不重生,省费) |
|
||
| [+ 添加资产] | 用户主动加一个 AI 没提取出的人物 |
|
||
| [- 删除资产] | 用户认为该人物不需要,删除 |
|
||
| [🔍 看大图] | 模态框看高清版 |
|
||
|
||
**审核门**:所有人物都已 [✓ 通过] / [🔗 绑定] / [📤 上传] → [→ 进入场景图]
|
||
|
||
##### Stage 2b — 🌆 场景图
|
||
|
||
操作完全镜像 2a,针对场景清单。入库到【跨项目共享库 - 场景图】。
|
||
|
||
##### Stage 2c — 📦 商品图
|
||
|
||
**输入**:项目创建时选定的商品(从商品库引用)
|
||
|
||
**界面**:商品图卡片 + 操作选项
|
||
- 显示商品库的原图
|
||
- [📷 用原图] —— 不优化
|
||
- [✨ AI 优化] —— **一键预制 pipeline**:
|
||
- 自动跑:去白底 → 重打光 → 清晰化锐化
|
||
- 输出优化版与原图并排展示
|
||
- 选 [✓ 用优化版] / [↺ 重新优化] / [↺ 用原图]
|
||
- [📤 上传新图] —— 上传新的商品图替代
|
||
- [+ 添加商品图] —— 同一项目可用多张商品图
|
||
|
||
> AI 优化是**预制提示词驱动的固定操作**,**不开放菜单细分**("去背景/换光/调角度"等)。一键解决,V2 加"专家模式"。
|
||
|
||
**入库**:原图 + 优化版都入【跨项目共享库 - 商品图】,标签区分
|
||
|
||
**审核门**:所有商品图都已确认 → [→ 进入故事板生成]
|
||
|
||
---
|
||
|
||
#### 【Stage 3】故事板生成 ⭐ 核心
|
||
|
||
**输入**:脚本 + 人物图 + 场景图 + 商品图(Stage 2 全套基础资产)
|
||
|
||
**系统行为**:
|
||
- 脚本被切分为 K 段(K = 1/2/3/4,基于总时长 / 15)
|
||
- 对每段调用 **GPT-image-2 一次性生成一张大图**
|
||
- 这张大图包含该段所有镜头的视觉布局(如示例:6 镜表格,每行:镜号+时长 / 画面 / 机位运动 / 对白音效)
|
||
- **整张是一个不可拆分的视觉单元**
|
||
|
||
**界面**:K 张故事板卡片并列展示
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 故事板列表(共 K=4 张) │
|
||
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │
|
||
│ │ 第 1 段 │ │ 第 2 段 │ │ 第 3 段 │ │ 第 4 段 │ │
|
||
│ │ 0-15s │ │ 15-30s │ │ 30-45s │ │ 45-60s │ │
|
||
│ │ 6 镜 │ │ 6 镜 │ │ 6 镜 │ │ 6 镜 │ │
|
||
│ │[缩略图] │ │[缩略图] │ │[缩略图] │ │[缩略图] │ │
|
||
│ │ ✓ 通过 │ │ ✓ 通过 │ │ ⚠ 待审 │ │ ○ 待跑 │ │
|
||
│ └────────┘ └────────┘ └────────┘ └────────┘ │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
**单张故事板审核页**(点缩略图打开):
|
||
|
||
```
|
||
┌────────────────────────────────────────────────────────────┐
|
||
│ 第 3 段 · 30-45s · 6 镜 [↩ 回 Stage 2 改基础资产]│
|
||
│ ──────────────────────────────────────────────────────────│
|
||
│ ┌──────────────────┬─────────────────────────────────┐ │
|
||
│ │ │ │ │
|
||
│ │ 故事板大图 │ 右侧元数据列(只读) │ │
|
||
│ │ 居中展示 │ ────────────────── │ │
|
||
│ │ (9:16 长图) │ 镜 1 (0-2s) │ │
|
||
│ │ 保持原比例 │ 中景/固定 · 画外音"..." │ │
|
||
│ │ │ 镜 2 (2-5s) │ │
|
||
│ │ 工具: │ ... │ │
|
||
│ │ [🔍 放大] │ ... │ │
|
||
│ │ [📥 下载] │ │ │
|
||
│ │ │ ★ 元数据由 AI 同步生成 │ │
|
||
│ │ │ ★ V1 不支持单镜文字编辑 │ │
|
||
│ └──────────────────┴─────────────────────────────────┘ │
|
||
│ │
|
||
│ 提示词(用户可改后重跑): │
|
||
│ ┌──────────────────────────────────────────────────────┐ │
|
||
│ │ 6 镜分镜板,镜号+时长+画面+机位+对白格式... │ │
|
||
│ └──────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ [↺ 整张重跑] [✓ 通过这张故事板] │
|
||
└────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
**用户操作(每张故事板独立)**:
|
||
|
||
| 操作 | 行为 |
|
||
|------|------|
|
||
| [↺ 整张重跑] | 用默认提示词整张重新生成 |
|
||
| [📝 改提示词后重跑] | 编辑提示词,整张重新生成 |
|
||
| [✓ 通过] | 入【项目内库 - 故事板】,进度推进 |
|
||
| [↩ 回 Stage 2] | 回退改基础资产,下游清空 |
|
||
| [↩ 回 Stage 1] | 回退改脚本,全部下游清空 |
|
||
|
||
**关键约束**:
|
||
- ⚠ **不能局部改单张内的某镜**(GPT-image-2 输出是不可拆的整张图)
|
||
- ⚠ **Seedance 用的也是整张故事板**(下一阶段)
|
||
- 单张故事板可独立重跑,不影响其他张
|
||
|
||
**审核门**:所有 K 张都 [✓ 通过] → [→ 进入视频生成]
|
||
|
||
---
|
||
|
||
#### 【Stage 4】视频片段生成(Seedance)
|
||
|
||
**输入**(每段独立):
|
||
- 第 K 张故事板(整张)
|
||
- 全套基础资产(人物图 + 场景图 + 商品图)
|
||
- 提示词:默认 "按照分镜故事板生成视频",用户可改
|
||
|
||
**系统行为**:
|
||
- K 段并发提交 Seedance(K = 故事板张数 = 1/2/3/4)
|
||
- 每段输出 15s 视频片段
|
||
|
||
**界面**:K 段视频卡片
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 片段 3 30-45s [✓通过][↻重跑]│
|
||
│ ────────────────────────────────────────────────────── │
|
||
│ │
|
||
│ ┌── 输入资产(只读)─────────────────────────────────────┐│
|
||
│ │ [故事板3 缩略] [人物图×N] [场景图×N] [商品图×N] ││
|
||
│ │ ★ 要改资产请回 Stage 3 / Stage 2 ││
|
||
│ └─────────────────────────────────────────────────────────┘│
|
||
│ │
|
||
│ 提示词(可编辑): │
|
||
│ ┌──────────────────────────────────────────────────────┐ │
|
||
│ │ 按照分镜故事板生成视频 │ │
|
||
│ └──────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌── 视频预览(9:16)──────────────────────────────────┐ │
|
||
│ │ [视频播放器,15s] │ │
|
||
│ │ 生成中… ●●● 65% 预计剩余 1:20 │ │
|
||
│ └────────────────────────────────────────────────────────┘ │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
**用户操作(每段独立)**:
|
||
|
||
| 操作 | 行为 |
|
||
|------|------|
|
||
| [✓ 通过] | 视频片段入【项目内库 - 视频片段】 |
|
||
| [↻ 重跑] | 同提示词再生 |
|
||
| [📝 改词重跑] | 改提示词后再生 |
|
||
| [↩ 回 Stage 3] | 改故事板(影响该段及下游) |
|
||
|
||
**审核门**:所有 K 段都通过 → [→ 进入拼接]
|
||
|
||
---
|
||
|
||
#### 【Stage 5】拼接 & 导出
|
||
|
||
**输入**:所有通过的视频片段(按段号排序)
|
||
|
||
**系统行为**:
|
||
- 默认按段号顺序自动拼接(无转场,无字幕,无 BGM)
|
||
- 生成预览版(低码率快速版)
|
||
|
||
**用户操作区**:
|
||
|
||
```
|
||
┌── 时间轴预览 ────────────────────────────────────────────┐
|
||
│ [片段1] [片段2] [片段3] [片段4] │ ← 拖拽重排,可删
|
||
│ 15s 15s 15s 15s 共 60 秒 │
|
||
└──────────────────────────────────────────────────────────┘
|
||
|
||
┌── 字幕(5-8 套预设样式)────────────────────────────────┐
|
||
│ ☑ 启用字幕 │
|
||
│ 来源:从脚本台词自动生成 │
|
||
│ 样式:[大字综艺▼] 备选:简洁电商/高级排版/弹幕轻量/强调爆款│
|
||
│ 编辑:可逐句调整文字 │
|
||
│ ★ 记忆:"上次选 大字综艺" │
|
||
└─────────────────────────────────────────────────────────┘
|
||
|
||
┌── BGM(V1 内置 20-50 首抖音热门授权曲)─────────────────┐
|
||
│ ☑ 启用 BGM │
|
||
│ 选择:[抖音 Top10 卡点曲库 ▼] │
|
||
│ 音量:原视频 80% / BGM 40% │
|
||
│ ★ 记忆:"上次选 卡点 #3" │
|
||
└─────────────────────────────────────────────────────────┘
|
||
|
||
┌── 转场 ─────────────────────────────────────────────────┐
|
||
│ ☑ 启用转场 │
|
||
│ 类型:[淡入淡出 / 滑动 / 缩放] │
|
||
│ 时长:0.3 秒 │
|
||
└─────────────────────────────────────────────────────────┘
|
||
|
||
[👁 预览成片] [✓ 确认导出 1080P MP4]
|
||
```
|
||
|
||
**审核门**:[✓ 确认导出] —— 触发高清渲染(2-5 分钟),完成弹"导出成功"卡片,提供下载链接
|
||
|
||
**导出后**:
|
||
- 成片入【项目内库 - 成片】
|
||
- 项目状态 → `completed`
|
||
- 商家可基于该项目复制做下条
|
||
|
||
---
|
||
|
||
### 5.3 跨阶段通用规则
|
||
|
||
#### 5.3.1 审核门是阻塞的
|
||
|
||
- 上一阶段未确认前,下一阶段 tab 灰色不可点
|
||
- hover 灰色 tab 显示"请先完成 Stage X"
|
||
|
||
#### 5.3.2 任意阶段可回退
|
||
|
||
| 当前位置 | 可回退到 | 影响 |
|
||
|---------|---------|------|
|
||
| Stage 2-5 | Stage 1(改脚本) | 下游全清空 |
|
||
| Stage 3-5 | Stage 2(换基础资产) | Stage 3-5 清空 |
|
||
| Stage 4-5 | Stage 3(改故事板) | Stage 4-5 清空 |
|
||
| Stage 5 | Stage 4(重做视频) | Stage 5 清空 |
|
||
|
||
回退一律弹窗二次确认。
|
||
|
||
#### 5.3.3 状态持久化
|
||
|
||
- 任何阶段中关浏览器/刷新状态不丢
|
||
- 后台任务(生图/生视频)继续跑,回来即看结果
|
||
- 同项目同时只允许一人编辑(其他人只读 + 提示"X 正在编辑")
|
||
|
||
#### 5.3.4 失败处理
|
||
|
||
| 失败场景 | 处理 |
|
||
|---------|------|
|
||
| 单张图生成失败 | 该图标红,[↻ 重跑],其他图继续 |
|
||
| 单张故事板失败 | 该张标红,[↻ 重跑] |
|
||
| 单段视频生成失败 | 该段标红,[↻ 重跑] |
|
||
| 余额/额度不足 | 进入阶段前预检 → 弹窗"额度不足",禁止开始 |
|
||
| 模型 API 故障 | 自动重试 3 次,仍失败标红 + 错误码透传 |
|
||
| 任务超时(> 10 分钟) | 标"超时",[↻ 重跑] |
|
||
|
||
#### 5.3.5 扣费规则 ⭐
|
||
|
||
> **失败不扣费,确认后扣**
|
||
|
||
- 每次生图 / 生故事板 / 生视频任务:**仅在用户点 [✓ 通过] 时才扣费**
|
||
- 失败、超时、用户重跑(旧版本作废)一律不扣
|
||
- 进入阶段前**预检团队额度 + 个人额度**(按预估消耗 × 1.2 安全系数),不足直接禁止
|
||
- 余额信息在 Sidebar 底部 + Dashboard 统计条实时显示
|
||
|
||
---
|
||
|
||
## 6. 资产库模型与流转规则
|
||
|
||
### 6.1 资产分类
|
||
|
||
```
|
||
资产库
|
||
├─ 跨项目共享(团队级,所有项目可见可引用)
|
||
│ ├─ 📦 商品图(来自商品库 / Stage 2c 上传或优化)
|
||
│ ├─ 👤 人物图(Stage 2a 生成 / 手动上传)
|
||
│ └─ 🌆 场景图(Stage 2b 生成 / 手动上传)
|
||
│
|
||
└─ 项目内(仅本项目可见)
|
||
├─ 🎬 故事板(Stage 3 生成的 K 张大图)
|
||
├─ 🎞️ 视频片段(Stage 4 生成的 K 段 15s 片段)
|
||
└─ 📺 成片(Stage 5 输出的最终视频)
|
||
```
|
||
|
||
### 6.2 资产入库来源
|
||
|
||
| 来源 | 触发 | 入库分类 |
|
||
|------|------|---------|
|
||
| 商品库新建商品 | 上传商品图 | 跨项目-商品图 |
|
||
| Stage 2a [✓ 通过] | AI 生成的人物图 | 跨项目-人物图 |
|
||
| Stage 2a [📤 上传] | 商家本地上传 | 跨项目-人物图 |
|
||
| Stage 2b 同上 | 场景图 | 跨项目-场景图 |
|
||
| Stage 2c [✨ 优化] | 优化版商品图 | 跨项目-商品图(标"优化") |
|
||
| Stage 3 单张 [✓ 通过] | 故事板大图 | 项目内-故事板 |
|
||
| Stage 4 单段 [✓ 通过] | 视频片段 | 项目内-视频片段 |
|
||
| Stage 5 [✓ 导出] | 最终成片 | 项目内-成片 |
|
||
| 资产库 [+ 上传] | 商家手动上传 | 视用户选择 |
|
||
|
||
### 6.3 资产引用规则
|
||
|
||
- Stage 2a/2b 可绑定团队共享库已有资产(不重生)
|
||
- Stage 2c 必从商品库引用(或新上传到库)
|
||
- 资产被引用时仅记录关系,不复制
|
||
- 删除资产前检查引用:被 N 个项目用 → 不允许直接删,提示先解除
|
||
- 软删除:标记 `deleted` 隐藏,已引用项目仍可见
|
||
|
||
### 6.4 资产权限(团队级别)
|
||
|
||
| 操作 | 超管 | 团管 | 成员 |
|
||
|------|:---:|:---:|:---:|
|
||
| 上传到团队共享库 | ✓ | ✓ | ✓ |
|
||
| 删除自己上传的 | ✓ | ✓ | ✓ |
|
||
| 删除别人上传的(团队共享) | ✓ | ✓ | ✗ |
|
||
| 上传/删除项目内资产 | ✓ | ✓ | ✓(仅自己项目) |
|
||
|
||
### 6.5 中间产物可下载
|
||
|
||
- 跨团队共享 + 项目内(除成片外)所有资产**都可下载**
|
||
- 视频片段下载为 MP4,图片下载为 PNG/JPG
|
||
|
||
---
|
||
|
||
## 7. 业务对象(产品语义层)
|
||
|
||
### 7.1 团队 Team ⭐ 一等公民
|
||
|
||
| 属性 | 说明 |
|
||
|------|------|
|
||
| 名称 | 团队/公司名 |
|
||
| 类型 | 个人(自动建)/ 企业(手动建) |
|
||
| 总额度池 | 充值累加,不自动重置 |
|
||
| 月限额 | 每月可消费上限,按自然月重置 |
|
||
| 当月已消耗 | 实时统计 |
|
||
| 成员列表 | 引用 User ID + 角色 |
|
||
| 创建者 ID | 默认超管 |
|
||
|
||
### 7.2 用户 User & 角色
|
||
|
||
| 属性 | 说明 |
|
||
|------|------|
|
||
| 用户 ID | 唯一 |
|
||
| 团队 ID | 归属团队(一人可多团队?V1 一人一团队) |
|
||
| 角色 | 超管 / 团管 / 成员 |
|
||
| 每日额度 | 当日可消费上限 |
|
||
| 月度额度 | 当月可消费上限 |
|
||
| 当日/月已消耗 | 实时统计 |
|
||
|
||
### 7.3 商品 Product ⭐ 一等公民
|
||
|
||
| 属性 | 说明 |
|
||
|------|------|
|
||
| 名称 | 商家自填,必填 |
|
||
| 团队 ID | 归属(团队共享) |
|
||
| 商品图 | 1-5 张,第一张为主图 |
|
||
| 卖点 | 多行文本,3-5 条要点 |
|
||
| 目标人群 | 多行文本,可选 |
|
||
| 价格区间 | 可选,预留 |
|
||
| 关联项目数 | 系统统计 |
|
||
|
||
### 7.4 项目 Project
|
||
|
||
| 属性 | 说明 |
|
||
|------|------|
|
||
| 名称 | 自填或自动 |
|
||
| 关联商品 | 引用 Product ID |
|
||
| 团队 ID + 创建者 ID | 归属 |
|
||
| 脚本来源 | AI 全生 / 自带 / 一句话 / 复刻爆款 |
|
||
| 模板 | 仅 AI 全生时 |
|
||
| 总时长 | 30 / 45 / 60 |
|
||
| 状态 | 草稿 / 进行中 / 已完成 / 失败 / 已归档 |
|
||
| 当前阶段 | 1-5 |
|
||
| 关联资产 | 引用资产 ID 列表 |
|
||
|
||
### 7.5 脚本 Script
|
||
|
||
| 属性 | 说明 |
|
||
|------|------|
|
||
| 项目 ID | 归属 |
|
||
| 来源 | AI 全生 / 自带 / 一句话 / 复刻爆款 |
|
||
| 总时长 | 30 / 45 / 60 |
|
||
| **段数 K** | 总时长 / 15 |
|
||
| 镜头列表 | N 个镜头(每镜:镜号、时长、场景、角色、对白、镜头建议、所属段号) |
|
||
| 状态 | 草稿 / 已确认 |
|
||
|
||
### 7.6 故事板 Storyboard ⭐
|
||
|
||
| 属性 | 说明 |
|
||
|------|------|
|
||
| 项目 ID | 归属 |
|
||
| 段号 | 1 至 K |
|
||
| 大图 URL | GPT-image-2 输出的整张图 |
|
||
| 提示词 | 生成用的提示词 |
|
||
| 状态 | 生成中 / 待确认 / 已确认 |
|
||
|
||
> 一个项目有 K 个故事板对象(K = 1/2/3/4)。
|
||
|
||
### 7.7 资产 Asset
|
||
|
||
| 属性 | 说明 |
|
||
|------|------|
|
||
| 类型 | 商品/人物/场景/故事板/视频片段/成片 |
|
||
| 范围 | 跨项目共享 / 项目内 |
|
||
| 来源 | AI 生成 / 手动上传 / AI 优化 / 官方预置 |
|
||
| URL + 缩略图 | 存储位置 |
|
||
| 提示词 | 仅 AI 生成有 |
|
||
| 模型 | image-2 / GPT-image-2 / Seedance |
|
||
| 元数据 | 尺寸、时长、文件大小 |
|
||
| 引用记录 | 被哪些项目用过 |
|
||
| 上传者 ID | 团队权限判定用 |
|
||
|
||
### 7.8 模板 Template
|
||
|
||
| 属性 | 说明 |
|
||
|------|------|
|
||
| 名称 | 开箱测评 / 痛点种草 / 对比展示 / 教程演示 / 剧情带货 |
|
||
| 脚本结构 | 系统提示词模板(AI 全生入口用) |
|
||
| 默认时长档 | 30 / 45 / 60 推荐值 |
|
||
| 示例视频 | 1-3 个示例 |
|
||
|
||
---
|
||
|
||
## 8. 详细页面说明
|
||
|
||
### 8.1 工作台 Dashboard `/dashboard`
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ H1:工作台 [+ 新建项目] │
|
||
│ │
|
||
│ ┌── 概览卡片(4 张并排,浅色卡片 + 1px border)─────────────┐ │
|
||
│ │ 总项目 │ 进行中 │ 本月成片 │ 团队余额 │ │
|
||
│ │ 12 │ 3 │ 8 │ ¥4,327 [充值] │ │
|
||
│ └────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌── 最近项目 ──────────────────────────────────────────────┐ │
|
||
│ │ 缩略图 / 项目名 / 商品 / 5段进度条 / 时间 / [继续] │ │
|
||
│ │ ... │ │
|
||
│ └─────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌── 快捷入口 ─────────────────────────────────────────────┐ │
|
||
│ │ [+ 新建商品] [📦 资产库] [👥 邀请成员] [💰 充值] │ │
|
||
│ └─────────────────────────────────────────────────────────┘ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 8.2 商品库 `/products`
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ H1:商品库 [+ 新建商品] │
|
||
│ 副标题:管理你的带货商品,团队共享 │
|
||
│ │
|
||
│ ┌── 工具栏 ────────────────────────────────────────────────┐ │
|
||
│ │ [🔍 搜索...] [↕ 排序▼] │ │
|
||
│ └─────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌── 商品卡片网格(4 列)───────────────────────────────────┐ │
|
||
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
|
||
│ │ │[主图] │ │[主图] │ │[主图] │ │[主图] │ │ │
|
||
│ │ │补水面膜 │ │蓝牙耳机 │ │速食面 │ │防晒霜 │ │ │
|
||
│ │ │关联 5 个│ │关联 3 个│ │关联 2 个│ │关联 0 个│ │ │
|
||
│ │ │5/2 创建 │ │5/1 创建 │ │4/30 创建 │ │4/28 创建 │ │ │
|
||
│ │ │[⋯] │ │[⋯] │ │[⋯] │ │[⋯] │ │ │
|
||
│ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │
|
||
│ └─────────────────────────────────────────────────────────┘ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
新建商品(侧滑抽屉):商品名 * + 商品图 1-5 张 * + 卖点(多行)+ 目标人群(多行)+ 价格区间(可选预留)
|
||
|
||
### 8.3 项目列表 `/projects`
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ H1:视频项目 [+ 新建项目] │
|
||
│ │
|
||
│ Tab: [全部 12] [草稿 1] [进行中 3] [已完成 7] [失败 1] │
|
||
│ │
|
||
│ [🔍 搜索...] [↕ 最近更新▼] │
|
||
│ │
|
||
│ 列表行(行视图): │
|
||
│ 缩略图 / 项目名+商品 / 5段进度条 / 时间 / [继续/打开] [⋯] │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
进度条 5 段:脚本 / 资产 / 故事板 / 视频 / 拼接
|
||
|
||
### 8.4 新建项目向导 `/projects/new`
|
||
|
||
4 步:
|
||
1. **选商品**(横向滑动卡片选择器,最后一张是 [+ 新建商品])
|
||
2. **选脚本来源**(4 个 Tab 切换):AI 全生 / 自带粘贴 / 一句话主题 / 复刻爆款(V1 灰)
|
||
3. **选模板 + 时长**(仅 AI 全生 / 一句话时显示)
|
||
4. **摘要确认**(项目名可改 + 预估消耗 + 当前余额)
|
||
|
||
### 8.5 流水线主界面 `/projects/:id`
|
||
|
||
```
|
||
┌──────────────────────────────────────────────────────────────────┐
|
||
│ Breadcrumb:项目 / 补水面膜 / 流水线 [设置] │
|
||
│ │
|
||
│ ┌── Stage 进度条(5 段,sticky)──────────────────────────────┐ │
|
||
│ │ ① 脚本 ► ② 资产 ► ③ 故事板 ► ④ 视频 ► ⑤ 拼接 │ │
|
||
│ │ ✓完成 ✓完成 ⚠当前 ○待机 ○待机 │ │
|
||
│ └────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌── 主内容区(按当前 Stage 渲染,详见 §5.2)───────────────────┐│
|
||
│ └────────────────────────────────────────────────────────────────┘│
|
||
│ │
|
||
│ ┌── 底部固定操作条 ────────────────────────────────────────────┐ │
|
||
│ │ 已花费 ¥0 / 预估总额 ¥27 [↩ 回退] [↺ 整体重做] [✓ 通过] │ │
|
||
│ └─────────────────────────────────────────────────────────────┘ │
|
||
└──────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 8.6 资产库 `/library`
|
||
|
||
```
|
||
┌──────────────────────────────────────────────────────────────────┐
|
||
│ H1:资产库 [+ 上传资产] │
|
||
│ │
|
||
│ 范围:[● 团队共享] [○ 项目资产 ▼ 选项目] │
|
||
│ │
|
||
│ Tab: [全部] [📦 商品图] [👤 人物图] [🌆 场景图] [🎬 故事板] │
|
||
│ [🎞️ 视频片段] [📺 成片] │
|
||
│ │
|
||
│ [🔍 搜索...] [↕ 排序▼] [⊞⊟ 视图] │
|
||
│ │
|
||
│ 网格:缩略图 + 名称 + 来源标签 + 引用次数 + […] 菜单 │
|
||
└──────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 8.7 团队 `/team`
|
||
|
||
```
|
||
┌──────────────────────────────────────────────────────────────────┐
|
||
│ H1:团队管理 [+ 邀请成员] │
|
||
│ │
|
||
│ 团队信息卡:[团队名][充值余额][月限额][当月消耗] + [⚙ 团队设置] │
|
||
│ │
|
||
│ 成员列表(表格): │
|
||
│ 头像/姓名 / 角色 / 每日额度 / 月度额度 / 已消耗 / [编辑] [移除] │
|
||
│ ... │
|
||
│ │
|
||
│ 邀请成员(弹窗):手机号 + 角色(团管/成员)+ 默认额度 │
|
||
└──────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 8.8 消费 `/billing`
|
||
|
||
```
|
||
┌──────────────────────────────────────────────────────────────────┐
|
||
│ H1:消费 │
|
||
│ │
|
||
│ ┌── 余额卡片 ──────────────────────────────────────────────┐ │
|
||
│ │ 团队余额 ¥4,327 月限额 ¥3,000 当月已用 ¥1,673 [充值] │ │
|
||
│ └─────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ Tab: [总览] [按项目] [按成员] [账单流水] │
|
||
│ │
|
||
│ 总览:折线图(按天消耗) + 环形图(按 Stage 分类) │
|
||
│ 按项目/成员:表格 │
|
||
│ 账单流水:时间 / 项目 / 阶段 / 消耗 / 操作者 / 状态 │
|
||
└──────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 8.9 设置 `/settings`(V1 简版)
|
||
|
||
个人信息 + 偏好(默认模板/默认字幕/默认 BGM 库)
|
||
|
||
---
|
||
|
||
## 9. 状态机
|
||
|
||
### 9.1 项目状态机
|
||
|
||
```
|
||
[新建]──创建向导完成──►[草稿]──进入Stage1──►[进行中]──Stage5导出──►[已完成]
|
||
│ │ │
|
||
│ 用户归档 │ 重试3次仍失败 │ 用户归档
|
||
▼ ▼ ▼
|
||
[已归档] [失败] [已归档]
|
||
```
|
||
|
||
### 9.2 单资产状态机
|
||
|
||
```
|
||
[生成中]──成功──►[待审核]──通过──►[已入库]
|
||
│ │ │
|
||
└─失败─►[失败] └─手动上传替换─►[已入库(替换)]
|
||
│
|
||
└─重跑─►[生成中]
|
||
```
|
||
|
||
### 9.3 单故事板状态机
|
||
|
||
```
|
||
[生成中]──成功──►[待审核]──通过──►[已入库]
|
||
│ │
|
||
│ ├─整张重跑(默认提示词)─►[生成中]
|
||
│ └─改提示词后重跑──────►[生成中]
|
||
│
|
||
└─失败──►[失败]──重跑──►[生成中]
|
||
```
|
||
|
||
### 9.4 单视频片段状态机
|
||
|
||
```
|
||
[资产就绪]──提交Seedance──►[生成中]──成功──►[待审核]
|
||
│ │
|
||
└─失败─►[失败] ├─通过──►[已入库]
|
||
└─重跑──►[生成中]
|
||
```
|
||
|
||
### 9.5 项目工序状态机(5 阶段)
|
||
|
||
```
|
||
[草稿]──选商品+选脚本来源──►
|
||
[Stage 1 脚本生成中]──完成──►[Stage 1 待审核]──编辑/重生──→ 回流
|
||
│ 商家确认
|
||
▼
|
||
[Stage 2 基础资产生成中](2a/2b/2c 顺序)──全通过──►
|
||
[Stage 3 故事板生成中]──完成──►[Stage 3 待审核]──单张重跑──→ 局部回流
|
||
│ 全部确认
|
||
▼
|
||
[Stage 4 视频片段生成中](K 段并行)──全通过──►
|
||
[Stage 5 拼接编辑中]──商家点导出──►[已完成]
|
||
```
|
||
|
||
---
|
||
|
||
## 10. 角色与权限
|
||
|
||
### 10.1 角色定义
|
||
|
||
| 角色 | 权限 |
|
||
|------|------|
|
||
| **超管** | 团队所有权限 + 总额度划拨 + 团管任命 + 财务查看 |
|
||
| **团管** | 成员管理(邀请/移除)+ 成员每日/月额度分配 + 团队共享资产库管理 |
|
||
| **成员** | 创建项目 + 流水线操作 + 个人项目管理 + 引用团队资产 |
|
||
| **观察者** | 仅查看团队项目和资产,不可创建、不可消费(V2) |
|
||
|
||
### 10.2 权限矩阵
|
||
|
||
| 功能 | 超管 | 团管 | 成员 |
|
||
|------|:---:|:---:|:---:|
|
||
| 创建项目 | ✓ | ✓ | ✓ |
|
||
| 编辑别人的项目 | ✓ | ✓ | ✗ |
|
||
| 删除别人的项目 | ✓ | ✓ | ✗ |
|
||
| 上传到团队共享资产库 | ✓ | ✓ | ✓ |
|
||
| 删除别人上传的团队共享资产 | ✓ | ✓ | ✗ |
|
||
| 邀请成员 | ✓ | ✓ | ✗ |
|
||
| 设置成员额度 | ✓ | ✓ | ✗ |
|
||
| 划拨团队总额度(充值) | ✓ | ✗ | ✗ |
|
||
| 查看团队消费明细 | ✓ | ✓ | ✗(仅自己) |
|
||
| 团队设置(名称/限额) | ✓ | ✗ | ✗ |
|
||
|
||
### 10.3 四层额度检查(每次任务确认前)
|
||
|
||
```
|
||
预检顺序(任一不通过即拒绝):
|
||
1. 当前用户当日剩余额度 ≥ 任务预估消耗 × 1.2
|
||
2. 当前用户当月剩余额度 ≥ 同上
|
||
3. 团队当月剩余额度 ≥ 同上
|
||
4. 团队总余额 ≥ 同上
|
||
```
|
||
|
||
---
|
||
|
||
## 11. 边界情况与异常处理
|
||
|
||
### 11.1 输入异常
|
||
|
||
| 场景 | 处理 |
|
||
|------|------|
|
||
| 商品名为空 | 表单校验,提示"请填商品名" |
|
||
| 商品图 0 张 | 至少 1 张,否则不能保存 |
|
||
| 上传图 > 5MB | 前端拦截 |
|
||
| 上传图格式 | 仅 jpg/png/webp |
|
||
| 自带脚本太长(> 80s 估算) | 弹窗"建议 ≤ 60s,仍要继续?" |
|
||
|
||
### 11.2 额度异常
|
||
|
||
| 场景 | 处理 |
|
||
|------|------|
|
||
| 进入阶段前预检不足 | 弹窗"额度不足,预估 ¥X,剩余 ¥Y",区分用户/团队层级 + [充值/联系超管] |
|
||
| 团队月限额到 | 跨月自动重置,期间禁止新任务 |
|
||
| 团队总额度耗尽 | 所有任务暂停,仅超管可充值 |
|
||
|
||
### 11.3 网络异常
|
||
|
||
| 场景 | 处理 |
|
||
|------|------|
|
||
| 提交任务时断网 | 自动重试 3 次 |
|
||
| 轮询任务状态时断网 | 静默重试,恢复后自动同步 |
|
||
| 长时间无响应(> 10 分钟) | 标"超时",[↻ 重跑] |
|
||
|
||
### 11.4 并发异常
|
||
|
||
| 场景 | 处理 |
|
||
|------|------|
|
||
| 同项目两人同时编辑 | 后进入者只读 + 顶部提示"X 正在编辑" |
|
||
| 同时多个项目跑视频生成 | 排队,顶部 Toast 提示"已有 N 个任务排队" |
|
||
|
||
### 11.5 内容合规异常
|
||
|
||
| 场景 | 处理 |
|
||
|------|------|
|
||
| 提示词触发审核(医疗/绝对化用语) | AI 拒绝,提示用户改 |
|
||
| 商家上传违规图片 | 入库前预审拒收(V1 简版规则) |
|
||
| 成片合规 | V1 依赖商家自检,V2 接审核 API |
|
||
|
||
---
|
||
|
||
## 12. V1 验收标准
|
||
|
||
### 12.1 功能验收
|
||
|
||
- [ ] 注册账号自动建团队,注册者为超管
|
||
- [ ] 超管可充值、设月限额、邀请成员、分配额度
|
||
- [ ] 商品库 CRUD 跑通
|
||
- [ ] 4 步项目向导跑通(4 种脚本入口至少前 3 种可用)
|
||
- [ ] 5 阶段流水线跑通(mock 数据下)
|
||
- [ ] 每阶段都有审核门,未确认前下一阶段不可点
|
||
- [ ] Stage 2 三子步顺序:人物 → 场景 → 商品;用户可增/删/改资产
|
||
- [ ] Stage 2c 商品图一键 AI 优化可用
|
||
- [ ] Stage 3 K 张故事板独立审核 + 整张重跑(不能局部改)
|
||
- [ ] Stage 4 K 段视频并发生成,单段可重跑/改提示词
|
||
- [ ] Stage 5 时间线编辑 + 字幕预设 + BGM + 导出 1080P MP4
|
||
- [ ] 资产入库自动 + 资产库可查看 + 中间产物可下载
|
||
- [ ] 跨阶段回退规则正确(清空下游 + 二次确认)
|
||
- [ ] 四层额度预检 + 失败不扣 + 确认后扣 规则正确
|
||
- [ ] 团队权限矩阵符合 §10.2
|
||
|
||
### 12.2 性能验收
|
||
|
||
- [ ] Dashboard 首屏 < 1 秒
|
||
- [ ] 流水线主界面切换 Stage < 200ms
|
||
- [ ] 资产库网格滚动流畅
|
||
- [ ] 视频预览 buffer < 3 秒
|
||
|
||
### 12.3 视觉验收
|
||
|
||
- [ ] 严格遵循 §4 视觉规范(浅色 SaaS 风)
|
||
- [ ] 主色严格用 `#1E40AF`,无电商红/橙
|
||
- [ ] 字体中文 HarmonyOS Sans,英文 Inter
|
||
- [ ] 阴影克制,多用 1px border 划分层级
|
||
- [ ] 数字用 tabular numerals 等宽
|
||
- [ ] 视频缩略图保持 9:16
|
||
- [ ] 无 emoji 作 UI 图标(全 Lucide/Heroicons)
|
||
- [ ] 动效 200-300ms ease-out,克制
|
||
|
||
---
|
||
|
||
## 13. 待补充事项
|
||
|
||
| 项目 | 谁来定 | 备注 |
|
||
|------|--------|------|
|
||
| 5 个模板的脚本结构、示例视频、封面图 | 运营提供 | 影响 Stage 1 AI 全生 |
|
||
| 商品图 AI 优化的预制提示词 | 产品+模型工程师调试 | 去白底+重打光+清晰化 |
|
||
| BGM 库选曲(V1 内置 20-50 首) | 运营+法务 | 抖音热门授权曲 / royalty-free |
|
||
| 字幕样式预设(5-8 套) | 设计提供 | 大字综艺/简洁电商/高级排版/弹幕轻量/强调爆款 |
|
||
| 算力定价细则 | 财务 | 影响预估消耗显示 |
|
||
| 项目命名规则 | 待决 | 商家自填 vs 自动生成 |
|
||
| 平台水印 | 待决 | 默认水印 + VIP 去 |
|
||
| 复刻爆款 V2 启用时机 | 取决于 Gemini Vision API 集成 | V1 灰掉占位 |
|
||
| 登录风控(5 条规则)是否 V1 接 | 待决 | AirDrama 已有代码可复用 |
|
||
| GPT-image-2 故事板的尺寸/比例 | 模型工程师 | 影响 §5.2 Stage 3 输出规格 |
|
||
|
||
---
|
||
|
||
## 14. 文档历史
|
||
|
||
| 版本 | 日期 | 作者 | 变更 |
|
||
|------|------|------|------|
|
||
| v0.1 | 2026-05-09 | Claude + 用户对齐 | 初稿,5 阶段,无故事板,无商品库独立 |
|
||
| v0.2 | 2026-05-09 | Claude + 用户对齐 + brief 合并 | 6 阶段(增故事板、元素提取),商品库独立,4 种脚本入口,失败不扣,V1 单商家 + 团队 V1.5 占位 |
|
||
| v0.3 | 2026-05-09 | Claude + 用户最终对齐(视觉切浅色 SaaS、团队完整 B2B、砍元素提取阶段、故事板=GPT-image-2 一张大图、Seedance 1:1 K 段) | **重大重构**:5 阶段、视觉切 Linear 风、完整 B2B、故事板大图整张重跑、Seedance 60s=4 段 |
|