Files
xiaoxia-saas/docs/xiaoxia-development-roadmap-v2.md
T
灵应 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
docs: 添加 V21 UI 开发文档和任务拆解文档
2026-06-30 22:17:39 +08:00

39 KiB
Raw Blame History

AIGC
AIGC
Label ContentProducer ProduceID ReservedCode1 ContentPropagator PropagateID ReservedCode2
1 001191110102MACQD9K64018705 15868733686388_0/project_7655981463858544923-files/docs/xiaoxia-development-roadmap-v2.md 001191110102MACQD9K64028705 15868733686388#1782829047091

小虾 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)

// 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 拼接实现要点

# 伪代码:按 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 数据模型

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 服务集成

# 服务层伪代码
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 数据模型

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 平台服务抽象

# 平台服务抽象
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 数据模型

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 后端配置和代码改动

配置文件(需用户提供):

# 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. 访问 抖音开放平台
  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 对接要点
# 视频上传
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. 访问 快手开放平台
  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 对接要点
# 视频上传 (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. 访问 小红书开放平台
  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 对接要点
# 发布笔记
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 生成,请遵循相关法律法规及《人工智能生成合成内容标识办法》使用与传播。