bbb4878f58
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
1219 lines
39 KiB
Markdown
1219 lines
39 KiB
Markdown
---
|
||
AIGC:
|
||
Label: "1"
|
||
ContentProducer: 001191110102MACQD9K64018705
|
||
ProduceID: 15868733686388_0/project_7655981463858544923-files/docs/xiaoxia-development-roadmap-v2.md
|
||
ReservedCode1: ""
|
||
ContentPropagator: 001191110102MACQD9K64028705
|
||
PropagateID: 15868733686388#1782829047091
|
||
ReservedCode2: ""
|
||
---
|
||
# 小虾 SaaS 完整开发路线图 v2
|
||
|
||
> 文档版本:V2.0
|
||
> 更新时间:2025年1月
|
||
> 当前版本:v0.1.101 已部署生产
|
||
> 状态:Phase 0-7 已完成,待开发 Phase 8-9 及外部集成
|
||
|
||
---
|
||
|
||
## 第一部分:整体路线图
|
||
|
||
### 1.1 时间线总览
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
|
||
│ 小虾 SaaS 开发路线图 v2 │
|
||
├─────────┬──────────────┬──────────────┬──────────────┬──────────────┬──────────────┬─────────┤
|
||
│ 阶段 │ Q1 2025 │ Q2 2025 │ Q3 2025 │ Q4 2025 │ Q1 2026 │ 备注 │
|
||
├─────────┼──────────────┼──────────────┼──────────────┼──────────────┼──────────────┼─────────┤
|
||
│ V21 UI │ ████████████ │ │ │ │ │ 21-29天 │
|
||
│ Phase 8 │ ████████████████ │ │ │ │ │ 20-25天 │
|
||
│CosyVoice│ ████████ │ │ │ │ │ 10-15天 │
|
||
│ 抖音 │ 待申请 │ ████████████ │ │ │ │ 需审批 │
|
||
│ 快手 │ ████████████████ │ │ │ │ 15-20天 │
|
||
│ 小红书 │ ████████████████ │ │ │ │ 15-20天 │
|
||
│ 视频号 │ ⚠️ 暂不支持官方API │ │ │ │ 待确认 │
|
||
│ Phase 9 │ ████████████████ │ │ │ │ 25-30天 │
|
||
└─────────┴──────────────┴──────────────┴──────────────┴──────────────┴──────────────┴─────────┘
|
||
|
||
图例:████ 已规划 ⚠️ 限制/待确认 灰色背景 长期规划
|
||
```
|
||
|
||
### 1.2 各阶段依赖关系
|
||
|
||
```
|
||
┌─────────────────┐
|
||
│ V21 UI 升级 │ (Phase A)
|
||
│ 基础前端改造 │
|
||
└────────┬────────┘
|
||
│
|
||
┌──────────────────┼──────────────────┐
|
||
│ │ │
|
||
▼ ▼ ▼
|
||
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
||
│ Phase 8 │ │ CosyVoice │ │ 多平台发布 │
|
||
│ 模板编排 │ │ 集成 │ │ 集成 │
|
||
│ (后端优先) │ │ (可并行) │ │ (UI依赖V21) │
|
||
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
|
||
│ │ │
|
||
└────────┬────────┴────────┬────────┘
|
||
│ │
|
||
▼ ▼
|
||
┌─────────────────────────────┐
|
||
│ Phase 9 智能剪辑 │
|
||
│ (AI标题/裁剪/字幕) │
|
||
│ (需等 Phase 8 完成) │
|
||
└─────────────────────────────┘
|
||
```
|
||
|
||
### 1.3 关键里程碑
|
||
|
||
| 里程碑 | 目标时间 | 完成标准 | 依赖 |
|
||
|--------|----------|----------|------|
|
||
| M1: V21 UI 上线 | Q1 2025 | 所有核心页面完成UI还原 | 无 |
|
||
| M2: Phase 8 模板编排上线 | Q2 2025 | 模板管理+剪辑计划+FFmpeg拼接 | V21 UI |
|
||
| M3: CosyVoice 集成上线 | Q2 2025 | TTS+音色克隆功能可用 | V21 UI |
|
||
| M4: 三平台发布上线 | Q2-Q3 2025 | 抖音/快手/小红书可发布 | V21 UI+账号管理页面 |
|
||
| M5: Phase 9 AI能力上线 | Q4 2025 | AI标题+智能裁剪+字幕 | Phase 8 |
|
||
|
||
---
|
||
|
||
## 第二部分:各模块详细规划
|
||
|
||
---
|
||
|
||
### 模块 1:V21 UI 前端升级
|
||
|
||
#### 1.1 模块目标
|
||
|
||
1:1 还原 V21 UI 设计原型,统一全局设计系统,提升用户体验。
|
||
|
||
#### 1.2 功能范围
|
||
|
||
- 全局设计系统(CSS 变量、颜色、圆角、阴影、字体)
|
||
- 主布局组件(AppLayout、Sidebar、Header)
|
||
- 12+ 页面改造
|
||
- 5+ 通用组件封装
|
||
|
||
#### 1.3 后端任务清单
|
||
|
||
**无后端改动**(纯前端 UI 改造)
|
||
|
||
#### 1.4 前端任务清单
|
||
|
||
| 序号 | 任务 | 文件路径 | 优先级 | 预估人天 |
|
||
|------|------|----------|--------|----------|
|
||
| 1.1 | 设计系统 CSS 变量统一 | `global.css` | P0 | 0.5 |
|
||
| 1.2 | 主布局组件 AppLayout | `components/layout/AppLayout.tsx` | P0 | 1 |
|
||
| 1.3 | 侧边栏组件 Sidebar | `components/layout/Sidebar.tsx` | P0 | 1 |
|
||
| 1.4 | 页面头部组件 PageHead | `components/common/PageHead.tsx` | P0 | 0.5 |
|
||
| 1.5 | 基础组件封装 | `components/common/*` | P1 | 2 |
|
||
| 1.6 | 一键生成页面 | `pages/generate/GeneratePage.tsx` | P1 | 2 |
|
||
| 1.7 | 素材库页面 | `pages/assets/AssetLibrary.tsx` | P1 | 1.5 |
|
||
| 1.8 | 配音库页面 | `pages/voices/VoiceLibrary.tsx` | P1 | 1.5 |
|
||
| 1.9 | 标题库页面 | `pages/titles/TitleLibrary.tsx` | P1 | 1.5 |
|
||
| 1.10 | 成片库页面 | `pages/products/ProductLibrary.tsx` | P1 | 2 |
|
||
| 1.11 | 控制台页面 | `pages/dashboard/Dashboard.tsx` | P2 | 1.5 |
|
||
| 1.12 | 模板库页面 | `pages/templates/TemplateLibrary.tsx` | P2 | 1 |
|
||
| 1.13 | 任务历史页面 | `pages/history/TaskHistory.tsx` | P2 | 1 |
|
||
| 1.14 | 订阅管理页面 | `pages/subscription/SubscriptionPage.tsx` | P2 | 1.5 |
|
||
| 1.15 | 剪辑计划编辑器 | `pages/editing-planner/EditingPlanner.tsx` | P2 | 1 |
|
||
| 1.16 | 查重检测页面组 | `pages/duplication/*` | P1 | 1.5 |
|
||
| 1.17 | 我的音色页面 | `pages/voice-clone/VoiceClone.tsx` | P1 | 1 |
|
||
| 1.18 | 音色克隆 Modal | `components/modals/CloneVoiceModal.tsx` | P1 | 1 |
|
||
| 1.19 | 账号管理页面 | `pages/accounts/Accounts.tsx` | P1 | 1 |
|
||
| 1.20 | 首页落地页 | `pages/home/HomePage.tsx` | P3 | 1 |
|
||
|
||
#### 1.5 外部依赖
|
||
|
||
- V21 UI 原型设计稿(已提供)
|
||
- 当前前端代码库
|
||
|
||
#### 1.6 预估工作量
|
||
|
||
| Sprint | 任务 | 人天 |
|
||
|--------|------|------|
|
||
| Sprint 1 | 基础对齐(CSS系统+布局+通用组件) | 5-7 |
|
||
| Sprint 2 | 核心页面改造(生成+素材+配音+标题+成片) | 8-10 |
|
||
| Sprint 3 | 次要页面改造(控制台+模板+历史+订阅+剪辑) | 5-7 |
|
||
| Sprint 4 | 新增页面(查重+音色+账号管理+首页) | 3-5 |
|
||
| **合计** | | **21-29** |
|
||
|
||
---
|
||
|
||
### 模块 2:Phase 8 模板编排引擎
|
||
|
||
#### 2.1 模块目标
|
||
|
||
实现剪辑模板管理和自动化编排能力,支持基于素材分类和质量分的智能选片,以及通过 FFmpeg 按 EditPlan 拼接成片。
|
||
|
||
#### 2.2 功能范围
|
||
|
||
- **剪辑模板管理**:内置模板(基础混剪、产品展示、探店短片、口播拼接)
|
||
- **自动选片**:基于素材分类、质量分、时长筛选
|
||
- **剪辑计划**:EditPlan 聚合,支持保存编排结果
|
||
- **FFmpeg 拼接**:按 EditPlan 生成最终视频
|
||
|
||
#### 2.3 后端任务清单
|
||
|
||
**2.3.1 数据模型(Domain Objects)**
|
||
|
||
```typescript
|
||
// EditTemplate - 剪辑模板
|
||
interface EditTemplate {
|
||
id: string;
|
||
name: string; // 模板名称
|
||
type: 'basic_mix' | 'product' | 'taste' | 'talking_head'; // 模板类型
|
||
description: string;
|
||
thumbnail: string;
|
||
config: TemplateConfig; // 模板配置
|
||
clips: TemplateClipConfig[]; // 镜头配置
|
||
createdAt: Date;
|
||
updatedAt: Date;
|
||
}
|
||
|
||
interface TemplateConfig {
|
||
aspectRatio: '9:16' | '16:9' | '1:1';
|
||
duration: { min: number; max: number };
|
||
transition: 'cut' | 'fade' | 'dissolve';
|
||
music?: { src: string; volume: number };
|
||
}
|
||
|
||
interface TemplateClipConfig {
|
||
type: 'video' | 'image' | 'title';
|
||
duration: { min: number; max: number };
|
||
position: { x: number; y: number; w: number; h: number };
|
||
effects?: string[];
|
||
}
|
||
|
||
// EditPlan - 剪辑计划
|
||
interface EditPlan {
|
||
id: string;
|
||
name: string;
|
||
templateId: string;
|
||
userId: string;
|
||
status: 'draft' | 'generating' | 'completed' | 'failed';
|
||
clips: EditPlanClip[];
|
||
output?: {
|
||
videoUrl: string;
|
||
duration: number;
|
||
size: number;
|
||
};
|
||
createdAt: Date;
|
||
updatedAt: Date;
|
||
}
|
||
|
||
interface EditPlanClip {
|
||
id: string;
|
||
type: 'video' | 'image' | 'title' | 'audio';
|
||
sourceId: string; // 素材ID
|
||
startTime: number; // 开始时间(秒)
|
||
endTime: number; // 结束时间(秒)
|
||
position: { x: number; y: number; w: number; h: number };
|
||
effects?: ClipEffect[];
|
||
audio?: AudioConfig;
|
||
}
|
||
|
||
interface ClipEffect {
|
||
type: 'zoom' | 'pan' | 'blur' | 'color';
|
||
params: Record<string, any>;
|
||
}
|
||
|
||
interface AudioConfig {
|
||
sourceId: string;
|
||
volume: number;
|
||
startTime: number;
|
||
fadeIn: number;
|
||
fadeOut: number;
|
||
}
|
||
```
|
||
|
||
**2.3.2 API 端点**
|
||
|
||
| 方法 | 路径 | 描述 | 优先级 |
|
||
|------|------|------|--------|
|
||
| GET | `/api/v1/edit-templates` | 模板列表 | P0 |
|
||
| GET | `/api/v1/edit-templates/{id}` | 模板详情 | P0 |
|
||
| GET | `/api/v1/templates/{id}/preview` | 模板预览 | P1 |
|
||
| POST | `/api/v1/edit-plans` | 创建剪辑计划 | P0 |
|
||
| GET | `/api/v1/edit-plans` | 剪辑计划列表 | P0 |
|
||
| GET | `/api/v1/edit-plans/{id}` | 剪辑计划详情 | P0 |
|
||
| PUT | `/api/v1/edit-plans/{id}` | 更新剪辑计划 | P0 |
|
||
| DELETE | `/api/v1/edit-plans/{id}` | 删除剪辑计划 | P1 |
|
||
| POST | `/api/v1/edit-plans/{id}/preview` | 预览剪辑计划 | P0 |
|
||
| POST | `/api/v1/edit-plans/{id}/generate` | 执行剪辑生成 | P0 |
|
||
| GET | `/api/v1/edit-plans/{id}/status` | 任务状态查询 | P0 |
|
||
| POST | `/api/v1/generation/from-edit-plan` | 从剪辑计划生成 | P0 |
|
||
|
||
**2.3.3 服务层**
|
||
|
||
| 服务 | 职责 |
|
||
|------|------|
|
||
| `EditTemplateService` | 模板 CRUD、模板搜索 |
|
||
| `AutoClipService` | 智能选片(分类+质量分+时长) |
|
||
| `EditPlanService` | 计划 CRUD、状态管理 |
|
||
| `VideoComposeService` | FFmpeg 拼接编排 |
|
||
| `JobService` | 异步任务管理(队列+进度) |
|
||
|
||
**2.3.4 FFmpeg 拼接实现要点**
|
||
|
||
```python
|
||
# 伪代码:按 EditPlan 生成 FFmpeg 命令
|
||
def build_ffmpeg_command(plan: EditPlan) -> str:
|
||
filters = []
|
||
inputs = []
|
||
concat_parts = []
|
||
|
||
for clip in plan.clips:
|
||
# 添加输入源
|
||
inputs.extend(['-i', clip.sourcePath])
|
||
|
||
# 计算时间和位置滤镜
|
||
filter_str = f"[{idx}]scale={clip.width}:{clip.height},"
|
||
filter_str += f"crop={clip.width}:{clip.height}:{clip.x}:{clip.y},"
|
||
filter_str += f"setpts=PTS-STARTPTS+{clip.startTime}/TB,"
|
||
filter_str += f"trim=0:{clip.duration},"
|
||
filter_str += f"atrim=0:{clip.duration}[v{idx}];"
|
||
|
||
concat_parts.append(f"[v{idx}]")
|
||
|
||
# 视频合并
|
||
if len(concat_parts) > 1:
|
||
filter_str += ''.join(concat_parts) + f"concat=n={len(concat_parts)}:v=1:a=0[outv]"
|
||
else:
|
||
filter_str += f"{concat_parts[0]}copy[outv]"
|
||
|
||
# 音频处理(如有配音)
|
||
# ...
|
||
|
||
return f"ffmpeg {' '.join(inputs)} -filter_complex '{filter_str}' -map '[outv]' output.mp4"
|
||
```
|
||
|
||
#### 2.4 前端任务清单
|
||
|
||
| 序号 | 任务 | 描述 | 优先级 |
|
||
|------|------|------|--------|
|
||
| 2.1 | 模板库页面升级 | 展示模板类型,添加模板预览 | P0 |
|
||
| 2.2 | 剪辑计划编辑器 | 对接后端 API,完成时间线编辑 | P0 |
|
||
| 2.3 | 素材选择器优化 | 支持按分类/质量分筛选 | P0 |
|
||
| 2.4 | 预览播放器 | 预览编辑效果 | P1 |
|
||
| 2.5 | 生成进度展示 | 对接任务状态 API | P0 |
|
||
|
||
#### 2.5 外部依赖
|
||
|
||
- FFmpeg(需服务器安装)
|
||
- 素材库(已有)
|
||
- 配音库(已有或 CosyVoice)
|
||
|
||
#### 2.6 预估工作量
|
||
|
||
| 层级 | 任务 | 预估人天 |
|
||
|------|------|----------|
|
||
| 后端 | 数据模型 + API | 8 |
|
||
| 后端 | 服务层(选片+编排) | 6 |
|
||
| 后端 | FFmpeg 拼接 | 6 |
|
||
| 前端 | 剪辑计划编辑器 | 5 |
|
||
| 前端 | 其他页面对接 | 2 |
|
||
| **合计** | | **27-30** |
|
||
|
||
---
|
||
|
||
### 模块 3:CosyVoice 集成(阿里云 TTS + 音色克隆)
|
||
|
||
#### 3.1 模块目标
|
||
|
||
集成阿里云 CosyVoice 服务,实现高质量 TTS 文字转语音和音色克隆功能。
|
||
|
||
#### 3.2 功能范围
|
||
|
||
- **TTS 文字转语音**:使用预置音色合成语音
|
||
- **音色克隆**:用户上传音频样本,AI 学习后生成专属配音
|
||
- 与现有配音库对接
|
||
|
||
#### 3.3 后端任务清单
|
||
|
||
**3.3.1 数据模型**
|
||
|
||
```typescript
|
||
interface VoiceCloneProfile {
|
||
id: string;
|
||
userId: string;
|
||
name: string;
|
||
status: 'processing' | 'ready' | 'failed';
|
||
voiceId: string; // CosyVoice 音色ID
|
||
sampleAudio: string; // 样本音频存储路径
|
||
createdAt: Date;
|
||
updatedAt: Date;
|
||
}
|
||
|
||
interface TTSJob {
|
||
id: string;
|
||
userId: string;
|
||
text: string;
|
||
voiceId: string; // 预置或克隆音色
|
||
params: TTSParams;
|
||
status: 'pending' | 'processing' | 'completed' | 'failed';
|
||
resultUrl?: string;
|
||
createdAt: Date;
|
||
}
|
||
```
|
||
|
||
**3.3.2 API 端点**
|
||
|
||
| 方法 | 路径 | 描述 | 优先级 |
|
||
|------|------|------|--------|
|
||
| GET | `/api/v1/voices` | 配音列表(含预置+克隆) | P0 |
|
||
| POST | `/api/v1/voice-clones` | 创建音色克隆任务 | P0 |
|
||
| GET | `/api/v1/voice-clones` | 克隆音色列表 | P0 |
|
||
| GET | `/api/v1/voice-clones/{id}` | 克隆音色详情 | P0 |
|
||
| DELETE | `/api/v1/voice-clones/{id}` | 删除克隆音色 | P1 |
|
||
| POST | `/api/v1/tts` | 发起 TTS 合成 | P0 |
|
||
| GET | `/api/v1/tts/{id}` | TTS 任务状态 | P0 |
|
||
|
||
**3.3.3 CosyVoice 服务集成**
|
||
|
||
```python
|
||
# 服务层伪代码
|
||
class CosyVoiceService:
|
||
def __init__(self):
|
||
self.api_key = settings.COSYVOICE_API_KEY # 需用户提供
|
||
self.base_url = "https://dashscope.aliyuncs.com/api/v1/services/audio/tts"
|
||
|
||
def list_preset_voices(self) -> List[Voice]:
|
||
"""获取预置音色列表"""
|
||
# 调用阿里云 API 获取支持的音色
|
||
pass
|
||
|
||
def clone_voice(self, user_id: str, audio_url: str, name: str) -> str:
|
||
"""克隆音色,返回 voice_id"""
|
||
# 1. 下载用户音频
|
||
# 2. 调用声音复刻 API
|
||
# 3. 返回音色 ID
|
||
pass
|
||
|
||
def synthesize(self, text: str, voice_id: str, params: TTSParams) -> str:
|
||
"""合成语音,返回音频 URL"""
|
||
# 调用 TTS API
|
||
pass
|
||
```
|
||
|
||
#### 3.4 前端任务清单
|
||
|
||
| 序号 | 任务 | 描述 | 优先级 |
|
||
|------|------|------|--------|
|
||
| 3.1 | 配音库页面升级 | 展示预置+克隆音色分类 | P0 |
|
||
| 3.2 | 克隆音色卡片 | 我的音色库页面 | P0 |
|
||
| 3.3 | 克隆 Modal | 上传音频/录制功能 | P0 |
|
||
| 3.4 | 一键生成对接 | 配音选择支持克隆音色 | P0 |
|
||
| 3.5 | 克隆进度展示 | 显示克隆状态 | P1 |
|
||
|
||
#### 3.5 外部依赖
|
||
|
||
| 依赖 | 说明 | 状态 |
|
||
|------|------|------|
|
||
| 阿里云 CosyVoice API Key | 用户需提供 | ⚠️ 待用户提供 |
|
||
| 阿里云 OSS | 音频文件存储 | 已有 |
|
||
| 音频处理服务 | 格式转换、时长验证 | 需开发 |
|
||
|
||
#### 3.6 预估工作量
|
||
|
||
| 层级 | 任务 | 预估人天 |
|
||
|------|------|----------|
|
||
| 后端 | API + 数据模型 | 3 |
|
||
| 后端 | CosyVoice 服务集成 | 5 |
|
||
| 后端 | 音色克隆流程 | 4 |
|
||
| 前端 | 配音库升级 | 2 |
|
||
| 前端 | 克隆功能 UI | 3 |
|
||
| **合计** | | **17-20** |
|
||
|
||
---
|
||
|
||
### 模块 4:多平台发布集成
|
||
|
||
#### 4.1 模块目标
|
||
|
||
实现视频一键发布到抖音、快手、小红书、微信视频号四大平台。
|
||
|
||
#### 4.2 功能范围
|
||
|
||
- 账号授权管理(OAuth)
|
||
- 视频上传
|
||
- 标题/描述发布
|
||
- 发布状态同步
|
||
|
||
#### 4.3 后端任务清单
|
||
|
||
**4.3.1 数据模型**
|
||
|
||
```typescript
|
||
interface PlatformAccount {
|
||
id: string;
|
||
userId: string;
|
||
platform: 'douyin' | 'kuaishou' | 'xiaohongshu' | 'wechat_video';
|
||
platformUserId: string; // 平台用户ID
|
||
nickname: string;
|
||
avatar?: string;
|
||
accessToken: string; // 加密存储
|
||
refreshToken?: string;
|
||
tokenExpiredAt: Date;
|
||
status: 'active' | 'expired' | 'revoked';
|
||
createdAt: Date;
|
||
}
|
||
|
||
interface PublishTask {
|
||
id: string;
|
||
userId: string;
|
||
platform: string;
|
||
accountId: string;
|
||
productId: string; // 成片ID
|
||
title: string;
|
||
description?: string;
|
||
status: 'pending' | 'uploading' | 'processing' | 'published' | 'failed';
|
||
platformPostId?: string; // 平台帖子ID
|
||
platformUrl?: string; // 发布后链接
|
||
error?: string;
|
||
createdAt: Date;
|
||
}
|
||
```
|
||
|
||
**4.3.2 API 端点**
|
||
|
||
| 方法 | 路径 | 描述 | 优先级 |
|
||
|------|------|------|--------|
|
||
| GET | `/api/v1/platforms` | 支持的平台列表 | P0 |
|
||
| GET | `/api/v1/accounts` | 账号列表 | P0 |
|
||
| POST | `/api/v1/accounts/bind` | 绑定平台账号 | P0 |
|
||
| DELETE | `/api/v1/accounts/{id}` | 解绑账号 | P0 |
|
||
| GET | `/api/v1/accounts/{id}/info` | 刷新账号信息 | P1 |
|
||
| POST | `/api/v1/publish` | 创建发布任务 | P0 |
|
||
| GET | `/api/v1/publish/{id}` | 发布状态 | P0 |
|
||
| POST | `/api/v1/publish/batch` | 批量发布 | P1 |
|
||
| GET | `/api/v1/publish/history` | 发布历史 | P1 |
|
||
|
||
**4.3.3 平台服务抽象**
|
||
|
||
```python
|
||
# 平台服务抽象
|
||
class BasePlatformService:
|
||
platform: str
|
||
auth_url: str
|
||
token_url: str
|
||
|
||
def get_authorization_url(self, state: str) -> str
|
||
def exchange_token(self, code: str) -> TokenInfo
|
||
def refresh_token(self, refresh_token: str) -> TokenInfo
|
||
def upload_video(self, account: Account, video: Video) -> str # 返回 video_id
|
||
def publish_video(self, account: Account, video_id: str, params: PublishParams) -> str
|
||
def get_user_info(self, access_token: str) -> UserInfo
|
||
|
||
# 各平台实现
|
||
class DouyinService(BasePlatformService):
|
||
platform = 'douyin'
|
||
# ...
|
||
|
||
class KuaishouService(BasePlatformService):
|
||
platform = 'kuaishou'
|
||
# ...
|
||
|
||
class XiaohongshuService(BasePlatformService):
|
||
platform = 'xiaohongshu'
|
||
# ...
|
||
```
|
||
|
||
#### 4.4 前端任务清单
|
||
|
||
| 序号 | 任务 | 描述 | 优先级 |
|
||
|------|------|------|--------|
|
||
| 4.1 | 账号管理页面 | 平台账号绑定/解绑 | P0 |
|
||
| 4.2 | 授权回调处理 | OAuth 回调页面 | P0 |
|
||
| 4.3 | 发布弹窗 | 选择平台+填写标题 | P0 |
|
||
| 4.4 | 发布历史页面 | 查看发布状态 | P1 |
|
||
| 4.5 | 批量发布 | 选择多平台发布 | P1 |
|
||
|
||
#### 4.5 外部依赖
|
||
|
||
各平台开发者账号和 API 权限(详见第三部分)
|
||
|
||
#### 4.6 预估工作量
|
||
|
||
| 平台 | 后端 | 前端 | 备注 |
|
||
|------|------|------|------|
|
||
| 抖音 | 5 | 2 | 需申请权限 |
|
||
| 快手 | 4 | 2 | OAuth 集成 |
|
||
| 小红书 | 4 | 2 | API 限制较多 |
|
||
| 视频号 | - | - | ⚠️ 暂不支持 |
|
||
| 平台抽象层 | 3 | - | 统一接口 |
|
||
| **合计** | **16-20** | **8** | |
|
||
|
||
---
|
||
|
||
### 模块 5:Phase 9 智能剪辑增强(远期)
|
||
|
||
#### 5.1 模块目标
|
||
|
||
引入 AI 能力,提升视频创作智能化水平。
|
||
|
||
#### 5.2 功能范围
|
||
|
||
- **AI 自动生成标题**:基于视频内容生成吸引人的标题
|
||
- **AI 智能裁剪**:自动裁剪最佳画面比例
|
||
- **AI 字幕生成**:语音识别生成字幕
|
||
|
||
#### 5.3 后端任务清单
|
||
|
||
**5.3.1 数据模型**
|
||
|
||
```typescript
|
||
interface AITitleSuggestion {
|
||
id: string;
|
||
productId: string;
|
||
titles: string[]; // 生成的标题列表
|
||
selectedIndex?: number; // 用户选择的索引
|
||
createdAt: Date;
|
||
}
|
||
|
||
interface SmartCropResult {
|
||
id: string;
|
||
productId: string;
|
||
aspectRatio: string;
|
||
cropData: CropRegion[]; // 裁剪区域序列
|
||
previewUrl: string;
|
||
}
|
||
|
||
interface SubtitleTrack {
|
||
id: string;
|
||
productId: string;
|
||
segments: SubtitleSegment[];
|
||
language: string;
|
||
style: SubtitleStyle;
|
||
}
|
||
|
||
interface SubtitleSegment {
|
||
startTime: number;
|
||
endTime: number;
|
||
text: string;
|
||
confidence: number;
|
||
}
|
||
```
|
||
|
||
**5.3.2 API 端点**
|
||
|
||
| 方法 | 路径 | 描述 | 优先级 |
|
||
|------|------|------|--------|
|
||
| POST | `/api/v1/ai/titles` | 生成标题建议 | P1 |
|
||
| POST | `/api/v1/ai/smart-crop` | 智能裁剪 | P2 |
|
||
| POST | `/api/v1/ai/subtitles` | 生成字幕 | P1 |
|
||
| GET | `/api/v1/ai/subtitles/{id}` | 字幕详情 | P1 |
|
||
|
||
**5.3.3 AI 服务集成**
|
||
|
||
| 能力 | 推荐方案 | 说明 |
|
||
|------|----------|------|
|
||
| 标题生成 | GPT-4 / 通义千问 | 视频主题理解+营销文案 |
|
||
| 智能裁剪 | 内部算法 / 阿里云 VCS | 基于内容理解自动裁剪 |
|
||
| 字幕生成 | 阿里云 ASR / 飞书妙记 | 语音转文字 |
|
||
|
||
#### 5.4 前端任务清单
|
||
|
||
| 序号 | 任务 | 描述 | 优先级 |
|
||
|------|------|------|--------|
|
||
| 5.1 | AI 标题面板 | 展示生成标题,支持选择/编辑 | P1 |
|
||
| 5.2 | 智能裁剪工具 | 可视化裁剪预览 | P2 |
|
||
| 5.3 | 字幕编辑器 | 时间轴字幕编辑 | P1 |
|
||
|
||
#### 5.5 预估工作量
|
||
|
||
| 能力 | 后端 | 前端 | 预估人天 |
|
||
|------|------|------|----------|
|
||
| AI 标题生成 | 5 | 3 | 8 |
|
||
| AI 智能裁剪 | 8 | 4 | 12 |
|
||
| AI 字幕生成 | 6 | 4 | 10 |
|
||
| **合计** | **19** | **11** | **30** |
|
||
|
||
---
|
||
|
||
## 第三部分:外部集成专项
|
||
|
||
---
|
||
|
||
### 3.1 CosyVoice 集成方案
|
||
|
||
#### 3.1.1 阿里云 CosyVoice 能力
|
||
|
||
据阿里云百炼平台文档(https://help.aliyun.com/zh/model-studio/voice-cloning-user-guide),CosyVoice 提供:
|
||
|
||
| 能力 | 说明 |
|
||
|------|------|
|
||
| 预置音色 | 多个男女声可选,无需额外配置 |
|
||
| 声音复刻(音色克隆) | 仅需 10-20 秒音频样本,即可生成高度相似的定制音色 |
|
||
| 多语言支持 | 中文、英文、日语、韩语等 |
|
||
| 实时/非实时合成 | 均支持 |
|
||
|
||
#### 3.1.2 API 对接流程
|
||
|
||
```
|
||
用户上传音频
|
||
│
|
||
▼
|
||
后端接收音频文件 ──► 验证格式/时长 ──► 存储到 OSS
|
||
│
|
||
▼
|
||
调用阿里云声音复刻 API
|
||
POST https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization
|
||
Headers: Authorization: Bearer {API_KEY}
|
||
Body: {
|
||
"url": "音频OSS地址",
|
||
"prefix": "音色名称"
|
||
}
|
||
│
|
||
▼
|
||
获取 voice_id (音色ID)
|
||
│
|
||
▼
|
||
保存到数据库,返回给前端
|
||
```
|
||
|
||
#### 3.1.3 后端配置和代码改动
|
||
|
||
**配置文件(需用户提供):**
|
||
|
||
```yaml
|
||
# config.yaml
|
||
cosyvoice:
|
||
api_key: "your-dashscope-api-key" # 需用户提供
|
||
base_url: "https://dashscope.aliyuncs.com"
|
||
region: "cn-beijing" # 或 ap-southeast-1
|
||
voice_enrollment_url: "/api/v1/services/audio/tts/customization"
|
||
tts_url: "/api/v1/services/audio/tts"
|
||
```
|
||
|
||
**代码改动清单:**
|
||
|
||
| 文件 | 改动 |
|
||
|------|------|
|
||
| `config.py` | 添加 CosyVoice 配置 |
|
||
| `models/voice_clone.py` | 新增数据模型 |
|
||
| `services/cosyvoice_service.py` | 新增服务类 |
|
||
| `api/v1/voices.py` | 新增/修改 API 端点 |
|
||
| `api/v1/voice_clones.py` | 新增音色克隆 API |
|
||
|
||
#### 3.1.4 需要用户提供的资料
|
||
|
||
| 资料 | 说明 | 必需 |
|
||
|------|------|------|
|
||
| DashScope API Key | 阿里云百炼平台的 API Key | ✅ |
|
||
| 阿里云 AccessKey ID/Secret | 用于 OSS 上传 | ✅ |
|
||
| 开通的服务 | 确认已开通 CosyVoice 服务 | ✅ |
|
||
|
||
#### 3.1.5 与现有配音库对接
|
||
|
||
**现有配音库架构(推测):**
|
||
|
||
```
|
||
配音库
|
||
├── 预置配音列表
|
||
│ ├── 基础配音1
|
||
│ ├── 基础配音2
|
||
│ └── ...
|
||
└── TTS 参数配置 (TTSParams)
|
||
```
|
||
|
||
**升级后架构:**
|
||
|
||
```
|
||
配音库
|
||
├── 预置音色 (CosyVoice)
|
||
│ ├── 龙小淳 (女声-温柔知性)
|
||
│ ├── 龙小夏 (女声-活泼可爱)
|
||
│ └── ...
|
||
├── 我的克隆音色 (Voice Clone)
|
||
│ ├── 我的声音_1
|
||
│ └── ...
|
||
└── TTS 参数配置 (升级为 CosyVoice)
|
||
```
|
||
|
||
**对接要点:**
|
||
1. 配音选择时增加"克隆音色"Tab
|
||
2. 一键生成时配音选择支持用户克隆音色
|
||
3. 生成配音时调用 CosyVoice TTS API
|
||
|
||
---
|
||
|
||
### 3.2 多平台发布方案
|
||
|
||
#### 3.2.1 抖音开放平台
|
||
|
||
##### 平台开放能力
|
||
|
||
| 能力 | 说明 | 状态 |
|
||
|------|------|------|
|
||
| 视频上传 API | 上传视频获取 video_id | ✅ 可用 |
|
||
| 视频发布 API | 代用户发布视频到抖音 | ✅ 需申请 |
|
||
| OAuth 授权 | 用户授权后获取 Access Token | ✅ 可用 |
|
||
| 数据查询 | 查询发布后的播放数据 | ✅ 有限 |
|
||
|
||
**重要限制(2025年8月更新):**
|
||
|
||
据抖音开放平台公告(https://developer.open-douyin.com/announcement/349):
|
||
|
||
> - **主体限制**:不再向个体工商户开放;企业需满足注册资本≥50万且注册时间≥1年
|
||
> - **应用类型限制**:仅对创作工具、社区、硬件配套、游戏类应用开放
|
||
> - **场景限制**:仅对 C 端用户创作内容后的分享场景开放,营销类内容不开放
|
||
|
||
##### 开发者注册流程
|
||
|
||
1. 访问 [抖音开放平台](https://open.douyin.com/)
|
||
2. 注册开发者账号
|
||
3. 创建应用(选择类型:移动应用/网站应用)
|
||
4. 完成主体资质认证(需企业营业执照)
|
||
5. 在「能力实验室」申请「代替用户发布内容到抖音」能力
|
||
6. 等待审核(通常 3-7 工作日)
|
||
|
||
##### 需要的资质
|
||
|
||
| 资质 | 说明 | 必需 |
|
||
|------|------|------|
|
||
| 企业营业执照 | 注册资本≥50万 | ✅ |
|
||
| App ID / App Secret | 应用凭证 | ✅ |
|
||
| 隐私政策 | 用户数据处理说明 | ✅ |
|
||
| ICP 备案 | 网站需有备案 | ⚠️ 网站应用需要 |
|
||
|
||
##### OAuth 授权流程
|
||
|
||
```
|
||
1. 构建授权链接:
|
||
https://open.douyin.com/oauth/authorize?
|
||
client_key={APPID}&
|
||
response_type=code&
|
||
scope=video.create&
|
||
redirect_uri={回调地址}
|
||
|
||
2. 用户授权后,回调带回 code
|
||
|
||
3. 交换 Token:
|
||
POST https://open.douyin.com/oauth/access_token
|
||
{
|
||
"client_key": "...",
|
||
"client_secret": "...",
|
||
"code": "...",
|
||
"grant_type": "authorization_code"
|
||
}
|
||
|
||
4. 获取 access_token (有效期 24小时,需刷新)
|
||
```
|
||
|
||
##### API 对接要点
|
||
|
||
```python
|
||
# 视频上传
|
||
POST https://open.douyin.com/api/douyin/v1/video/upload_video/
|
||
Headers: Access-Token: {access_token}
|
||
Form-Data: video_file (分片上传 >50MB)
|
||
|
||
# 视频发布
|
||
POST https://open.douyin.com/api/douyin/v1/video/data/batch_optimized/
|
||
Body: {
|
||
"video_id": "...",
|
||
"title": "视频标题",
|
||
"description": "视频描述",
|
||
"topics": ["话题1", "话题2"]
|
||
}
|
||
```
|
||
|
||
##### 预估开发工作量
|
||
|
||
| 任务 | 预估人天 |
|
||
|------|----------|
|
||
| OAuth 授权流程 | 2 |
|
||
| 视频上传服务 | 2 |
|
||
| 视频发布服务 | 2 |
|
||
| 错误处理和重试 | 1 |
|
||
| **合计** | **7** |
|
||
|
||
---
|
||
|
||
#### 3.2.2 快手开放平台
|
||
|
||
##### 平台开放能力
|
||
|
||
| 能力 | 说明 | 状态 |
|
||
|------|------|------|
|
||
| OAuth 2.0 授权 | 用户授权获取 Token | ✅ 可用 |
|
||
| 视频上传 API | 支持 URL 方式和分片上传 | ✅ 可用 |
|
||
| 视频发布 API | 草稿箱发布 | ✅ 可用 |
|
||
| 数据查询 | 播放数据有限 | ⚠️ 有限 |
|
||
|
||
##### 开发者注册流程
|
||
|
||
1. 访问 [快手开放平台](https://open.kuaishou.com/)
|
||
2. 注册开发者账号
|
||
3. 创建应用
|
||
4. 申请权限:`user_info` + `content_publish`
|
||
5. 配置回调地址
|
||
6. 提交审核
|
||
|
||
##### 需要的资质
|
||
|
||
| 资质 | 说明 | 必需 |
|
||
|------|------|------|
|
||
| 企业/个人账号 | 均可注册 | ✅ |
|
||
| App Key / App Secret | 应用凭证 | ✅ |
|
||
| 隐私政策 | 用户数据处理说明 | ✅ |
|
||
|
||
##### OAuth 授权流程
|
||
|
||
```
|
||
1. 授权链接:
|
||
https://open.kuaishou.com/oauth2/authorize?
|
||
response_type=code&
|
||
client_id={APP_KEY}&
|
||
redirect_uri={回调地址}&
|
||
scope=user_info,content_publish
|
||
|
||
2. 交换 Token:
|
||
POST https://open.kuaishou.com/oauth2/access_token
|
||
{
|
||
"grant_type": "authorization_code",
|
||
"code": "...",
|
||
"client_id": "...",
|
||
"client_secret": "..."
|
||
}
|
||
|
||
3. access_token 有效期 90 天
|
||
```
|
||
|
||
##### API 对接要点
|
||
|
||
```python
|
||
# 视频上传 (URL 方式)
|
||
POST https://open.kuaishou.com/openapi/mp/developer/playlet/novelDrama/video/url/upload
|
||
Headers: X-Access-Token: {access_token}
|
||
Body: {
|
||
"url": "公网视频URL",
|
||
"callback_url": "回调地址"
|
||
}
|
||
|
||
# 视频发布 (Feed 卡片)
|
||
POST https://open.kuaishou.com/openapi/mp/developer/feed/add
|
||
Body: {
|
||
"app_id": "...",
|
||
"third_id": "唯一ID",
|
||
"title": "标题",
|
||
"video_file": {
|
||
"url": "视频URL",
|
||
"cover_url": "封面URL"
|
||
}
|
||
}
|
||
```
|
||
|
||
##### 预估开发工作量
|
||
|
||
| 任务 | 预估人天 |
|
||
|------|----------|
|
||
| OAuth 授权流程 | 1.5 |
|
||
| 视频上传服务 | 2 |
|
||
| 视频发布服务 | 2 |
|
||
| 回调处理 | 1 |
|
||
| **合计** | **6.5** |
|
||
|
||
---
|
||
|
||
#### 3.2.3 小红书开放平台
|
||
|
||
##### 平台开放能力
|
||
|
||
| 能力 | 说明 | 状态 |
|
||
|------|------|------|
|
||
| OAuth 授权 | 用户授权 | ✅ 可用 |
|
||
| 内容发布 API | 发布图文/视频笔记 | ✅ 有限开放 |
|
||
| 数据查询 | 笔记数据查询 | ✅ 有限 |
|
||
| **注意** | 商业开放平台面向广告主,与内容发布 API 不同 | ⚠️ |
|
||
|
||
##### 开发者注册流程
|
||
|
||
1. 访问 [小红书开放平台](https://developers.xiaohongshu.com/)
|
||
2. 注册开发者账号
|
||
3. 完成企业/个人实名认证
|
||
4. 创建应用(选择类型:内容工具)
|
||
5. 申请笔记发布相关权限
|
||
6. 提交审核
|
||
|
||
##### 需要的资质
|
||
|
||
| 资质 | 说明 | 必需 |
|
||
|------|------|------|
|
||
| 营业执照/身份证 | 企业或个人认证 | ✅ |
|
||
| App Key / App Secret | 应用凭证 | ✅ |
|
||
| 隐私政策 | 用户数据处理说明 | ✅ |
|
||
| 业务场景说明 | 说明内容发布用途 | ✅ |
|
||
|
||
##### OAuth 授权流程
|
||
|
||
```
|
||
1. 授权链接:
|
||
https://creator.xiaohongshu.com/creator/login?
|
||
app_id={APP_ID}&
|
||
redirect_uri={回调地址}&
|
||
state={随机字符串}
|
||
|
||
2. 回调获取授权码
|
||
|
||
3. 交换 Token (通过服务端 API):
|
||
POST https://api.xiaohongshu.com/auth/token
|
||
Body: { authorization_code: "..." }
|
||
|
||
4. 获取 access_token (有效期较短,需刷新)
|
||
```
|
||
|
||
##### API 对接要点
|
||
|
||
```python
|
||
# 发布笔记
|
||
POST https://api.xiaohongshu.com/api/publish/v1/note
|
||
Headers: Authorization: Bearer {access_token}
|
||
Body: {
|
||
"title": "笔记标题",
|
||
"content": "正文内容",
|
||
"image_urls": ["图片URL列表"],
|
||
"video_url": "视频URL", # 视频笔记
|
||
"tag_ids": ["话题ID"]
|
||
}
|
||
|
||
# 注意:
|
||
# - 图片需先上传到小红书CDN
|
||
# - 视频需先上传获取URL
|
||
# - 审核较严格,建议先发布草稿
|
||
```
|
||
|
||
##### 重要限制
|
||
|
||
| 限制项 | 说明 |
|
||
|--------|------|
|
||
| 内容审核 | 小红书内容审核较严格,营销内容容易被限流 |
|
||
| API 权限 | 内容发布 API 需要单独申请,审核周期较长 |
|
||
| 调用频率 | 有频率限制,建议做好限流处理 |
|
||
|
||
##### 预估开发工作量
|
||
|
||
| 任务 | 预估人天 |
|
||
|------|----------|
|
||
| OAuth 授权流程 | 2 |
|
||
| 图片上传处理 | 2 |
|
||
| 视频上传处理 | 2 |
|
||
| 笔记发布服务 | 2 |
|
||
| **合计** | **8** |
|
||
|
||
---
|
||
|
||
#### 3.2.4 微信视频号
|
||
|
||
##### 平台开放能力
|
||
|
||
**⚠️ 重要:视频号暂不支持 API 发布视频**
|
||
|
||
据微信开放社区多个问答(https://developers.weixin.qq.com/community/minihome/doc/00088cbe6942e0e72853b01af66c00):
|
||
|
||
> "微信视频号目前暂未开放视频内容发布的开放API。根据现有文档,视频号相关API主要集中在商品管理、橱窗运营、直播数据获取等电商相关功能,未提供视频内容上传及发布的开放接口。"
|
||
|
||
| 能力 | 说明 | 状态 |
|
||
|------|------|------|
|
||
| 视频上传 API | ❌ 不存在 | ❌ |
|
||
| 视频发布 API | ❌ 不存在 | ❌ |
|
||
| 直播数据 | ✅ 有限可用 | ⚠️ |
|
||
| 橱窗管理 | ✅ 商品接口 | ⚠️ |
|
||
|
||
##### 替代方案
|
||
|
||
| 方案 | 说明 | 可行性 |
|
||
|------|------|----------|
|
||
| 视频号助手网页 | 通过扫码跳转到视频号助手发布 | ⚠️ 低效 |
|
||
| 第三方工具 | 存在合规风险 | ❌ 不推荐 |
|
||
| 等待官方 API | 持续关注平台更新 | ⏳ 待确认 |
|
||
|
||
##### 预估开发工作量
|
||
|
||
**暂无法评估**,需等待微信官方开放相关 API。
|
||
|
||
---
|
||
|
||
#### 3.2.5 多平台发布对比
|
||
|
||
| 平台 | API 成熟度 | 申请难度 | 审核周期 | 推荐优先级 |
|
||
|------|------------|----------|----------|-------------|
|
||
| 抖音 | ⭐⭐⭐⭐⭐ | 高(需企业资质) | 3-7天 | ⭐⭐⭐⭐ |
|
||
| 快手 | ⭐⭐⭐⭐ | 中 | 1-3天 | ⭐⭐⭐⭐ |
|
||
| 小红书 | ⭐⭐⭐ | 中高(审核严) | 3-7天 | ⭐⭐⭐ |
|
||
| 视频号 | ❌ 无 | N/A | N/A | 暂不支持 |
|
||
|
||
---
|
||
|
||
## 第四部分:执行建议
|
||
|
||
### 4.1 开发顺序建议
|
||
|
||
#### 阶段一:V21 UI 优先(约 4-6 周)
|
||
|
||
**原因**:
|
||
1. UI 是所有功能的基础
|
||
2. 多平台发布的账号管理页面依赖 V21 UI
|
||
3. Phase 8 前端编辑器依赖 V21 布局组件
|
||
|
||
**执行策略**:
|
||
- 前端团队专注 V21 UI 改造
|
||
- 后端可并行启动 Phase 8 开发
|
||
|
||
#### 阶段二:Phase 8 模板编排 + CosyVoice(约 4-6 周)
|
||
|
||
**并行执行**:
|
||
- Phase 8 后端(模板管理 + FFmpeg 拼接)
|
||
- CosyVoice 集成(后端 API + 服务)
|
||
|
||
**前端**:
|
||
- 完成 V21 UI 后,对接 Phase 8 和 CosyVoice
|
||
|
||
#### 阶段三:多平台发布(约 4-8 周)
|
||
|
||
**前置条件**:
|
||
1. V21 UI 账号管理页面完成
|
||
2. 用户完成各平台开发者注册和资质认证
|
||
|
||
**执行策略**:
|
||
- 先接入快手(申请简单)
|
||
- 再接入抖音(影响力大)
|
||
- 最后接入小红书(审核严格)
|
||
|
||
#### 阶段四:Phase 9 AI 增强(约 6-8 周)
|
||
|
||
**前置条件**:
|
||
- Phase 8 模板编排完成
|
||
|
||
**可并行**:
|
||
- AI 标题生成
|
||
- AI 字幕生成
|
||
- AI 智能裁剪
|
||
|
||
### 4.2 前后端并行策略
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────┐
|
||
│ 前端 Team │
|
||
├─────────────────────────────────────────────────────────────────────┤
|
||
│ V21 UI ──────────────────┬── Phase 8 UI ──┬── 平台发布 UI │
|
||
│ (4-6周) │ (2周) │ (4周) │
|
||
└───────────────────────────┴─────────────────┴────────────────────────┘
|
||
│ │ │
|
||
│ ┌────────┴────────┐ │
|
||
│ │ │ │
|
||
▼ ▼ ▼ ▼
|
||
┌─────────────────────────────────────────────────────────────────────┐
|
||
│ 后端 Team │
|
||
├─────────────────────────────────────────────────────────────────────┤
|
||
│ Phase 8 模板编排 CosyVoice 集成 平台发布服务 Phase 9 AI │
|
||
│ (6周) (3周) (6周) (8周) │
|
||
└─────────────────────────────────────────────────────────────────────┘
|
||
|
||
建议:V21 UI 和 Phase 8 后端并行执行
|
||
```
|
||
|
||
### 4.3 各阶段验收标准
|
||
|
||
#### Phase V21 UI 验收
|
||
|
||
| 检查项 | 标准 |
|
||
|--------|------|
|
||
| 设计系统 | CSS 变量统一,覆盖所有设计 token |
|
||
| 布局组件 | Sidebar/Header/PageHead 渲染正确 |
|
||
| 核心页面 | 生成/素材/配音/标题/成片 5 个页面完成度 ≥ 95% |
|
||
| 响应式 | 主要断点(1440/1024/768)布局正常 |
|
||
| 功能回归 | 已有功能不受影响 |
|
||
|
||
#### Phase 8 验收
|
||
|
||
| 检查项 | 标准 |
|
||
|--------|------|
|
||
| 模板管理 | CRUD + 模板预览正常 |
|
||
| 剪辑计划 | 创建/编辑/保存/删除正常 |
|
||
| FFmpeg 拼接 | 生成视频完整播放 |
|
||
| 自动选片 | 按分类/质量分筛选有效 |
|
||
| 前端对接 | 剪辑编辑器完整可用 |
|
||
|
||
#### CosyVoice 验收
|
||
|
||
| 检查项 | 标准 |
|
||
|--------|------|
|
||
| TTS 合成 | 预置音色合成正常 |
|
||
| 音色克隆 | 上传音频 → 克隆 → 生成配音 全流程通 |
|
||
| 配音库 | 预置+克隆分类展示 |
|
||
| 一键生成 | 配音选择支持克隆音色 |
|
||
|
||
#### 多平台发布验收
|
||
|
||
| 检查项 | 标准 |
|
||
|--------|------|
|
||
| OAuth | 各平台授权正常 |
|
||
| 视频上传 | 成片上传成功 |
|
||
| 发布 | 视频成功发布到平台 |
|
||
| 状态同步 | 发布结果正确同步 |
|
||
| 错误处理 | 异常情况正确提示 |
|
||
|
||
### 4.4 风险提示
|
||
|
||
| 风险 | 影响 | 缓解措施 |
|
||
|------|------|----------|
|
||
| 抖音 API 申请被拒 | 高 | 提前准备企业资质,了解申请规范 |
|
||
| 小红书审核严格 | 中 | 内容合规性检查,控制发布频率 |
|
||
| 视频号无 API | 高 | 持续关注官方动态,暂无替代方案 |
|
||
| CosyVoice API 变更 | 低 | 封装服务层,隔离外部依赖 |
|
||
|
||
### 4.5 用户需要配合的事项
|
||
|
||
| 事项 | 负责方 | 优先级 |
|
||
|------|--------|--------|
|
||
| 提供阿里云 DashScope API Key | 用户 | 🔴 紧急 |
|
||
| 确认阿里云 COSYVoice 服务已开通 | 用户 | 🔴 紧急 |
|
||
| 注册抖音开放平台账号 + 企业认证 | 用户 | 🟡 高 |
|
||
| 注册快手开放平台账号 | 用户 | 🟡 高 |
|
||
| 注册小红书开放平台账号 | 用户 | 🟡 高 |
|
||
| 提供各平台 App Key/Secret | 用户 | 🔴 紧急 |
|
||
| 反馈 V21 UI 原型修改意见 | 用户 | 🟢 中 |
|
||
|
||
---
|
||
|
||
## 附录
|
||
|
||
### A. 相关文档链接
|
||
|
||
| 文档 | 链接 |
|
||
|------|------|
|
||
| V21 UI 开发指令 | `/app/data/所有对话/主对话/frontend-v21-ui-development-plan.md` |
|
||
| 抖音开放平台 | https://open.douyin.com/ |
|
||
| 快手开放平台 | https://open.kuaishou.com/ |
|
||
| 小红书开放平台 | https://developers.xiaohongshu.com/ |
|
||
| 微信开放社区 | https://developers.weixin.qq.com/community/ |
|
||
| 阿里云百炼 CosyVoice | https://help.aliyun.com/zh/model-studio/voice-cloning-user-guide |
|
||
|
||
### B. 版本历史
|
||
|
||
| 版本 | 日期 | 更新内容 |
|
||
|------|------|----------|
|
||
| V2.0 | 2025-01 | 整合所有待开发工作,添加多平台发布方案 |
|
||
| V1.0 | 2024-XX | 初始版本(Phase 8-9 规划)|
|
||
|
||
### C. 待确认事项
|
||
|
||
| 事项 | 状态 | 备注 |
|
||
|------|------|------|
|
||
| 阿里云 DashScope API Key | ⏳ 待用户提供 | 必需 |
|
||
| 阿里云 COSYVoice 服务状态 | ⏳ 待确认 | 需用户登录确认 |
|
||
| 各平台开发者账号 | ⏳ 待注册 | 用户自行注册 |
|
||
| 视频号 API 后续开放计划 | ⏳ 待关注 | 暂无解决方案 |
|
||
|
||
---
|
||
|
||
> **文档说明**:本路线图基于当前项目状态和公开平台信息制定。平台政策可能随时更新,请以各平台官方最新文档为准。
|
||
|
||
---
|
||
|
||
> 本内容由 Coze AI 生成,请遵循相关法律法规及《人工智能生成合成内容标识办法》使用与传播。
|