爆款结构迁移引擎 — AI 创作平台

爆款结构迁移引擎 — AI 创作平台 

从样例拆解 → 素材补全 → 视频重组,一键生成爆款短视频


1. 项目概述

爆款结构迁移引擎是一个完整的全栈 AI 视频创作平台。用户上传一个爆款样例视频,系统通过大语言模型(LLM)自动完成以下全链路闭环:

  1. 样例视频解析:提取视频的 fps、时长、分辨率、关键帧、镜头切分点等基础信息
  2. 爆款结构分析:借助 Doubao-Seed-2.0-lite 对视频进行三重结构拆解(脚本结构 + 节奏结构 + 包装结构),输出标准化的爆款结构模板
  3. 素材缺口识别:针对新的目标主题,基于爆款结构模板和用户已有素材清单,智能识别素材缺口
  4. SVT-JSON 时间线生成:生成标准视频时间线(SVT-JSON),支持四版本差异化输出(高点击 / 高转化 / 高节奏 / 高质感)
  5. 人工可调优化 & 导出:节奏滑块、字幕密度、自然语言指令;导出 SVT-JSON 文件;可视化时间线预览

2. 核心特性

P0 — 基础核心能力

  • 样例视频输入与基础解析(关键帧提取、镜头检测、信息统计)
  • 爆款三重结构拆解(脚本结构 + 节奏结构 + 包装结构)
  • 基于 LLM 的爆款结构迁移生成
  • 火山方舟 + Doubao-Seed-2.0-lite LLM 服务对接
  • YAML 持久化配置(config.yaml),无需每次设置环境变量
  • 全链路兜底机制:LLM 调用失败或 JSON 解析异常时自动降级至预设模板,保证核心流程永不中断

P0 — 素材缺口处理

  • 智能识别结构槽位缺口
  • 多策略缺口补全(文案生成、卖点卡片、动画模板)
  • LLM 返回的缺口数据自动归一化为 identified_gaps 标准结构

P0 — 结果可验证

  • 迁移过程可视化看板
  • 样例结构 → 新结构对比展示
  • LLM 原始 JSON 以 Markdown 代码块形式展示,可审计
  • SVT-JSON 标准视频时间线格式输出

P1 — 进阶能力

  • 画面包装建议系统
  • 四版本生成:高点击版 / 高转化版 / 高节奏版 / 高质感版
  • 人工可调能力(节奏滑块、字幕密度、自然语言指令)
  • SVT-JSON 下载导出 & 时间线可视化预览

JSON 修复引擎

  • 四策略累积式修复管道:尾随逗号修复 → 未引用键名修复 → 嵌套截断修复 → 截断修复
  • 能处理 LLM 同时出现的多种 JSON 格式问题

3. 项目目录结构

AIquanzhan/ ├── main.py # 服务启动入口 ├── requirements.txt # Python 依赖清单 ├── config.yaml # YAML 持久化配置文件 ├── backend/ # 后端核心代码 │ ├── config.py # 全局配置管理(YAML + 环境变量混合加载) │ ├── llm_client.py # LLM 服务对接(Doubao)+ JSON 修复引擎 + 归一化引擎 │ ├── video_processor.py # 视频解析引擎(OpenCV) │ ├── gap_completion.py # 缺口识别补全引擎 │ └── main.py # FastAPI 主服务,定义全部 REST API ├── frontend/ │ └── index.html # 完整 Web 前端界面(HTML + TailwindCSS + Marked.js) ├── uploads/ # 用户上传文件目录(自动创建) ├── outputs/ # 输出结果目录(自动创建) └── temp/ # 临时文件目录(自动创建) 

4. 技术栈

层次技术选型说明
后端框架FastAPI 0.109 + Uvicorn 0.27高性能异步 Web 框架
AI 引擎(VolcEngine Ark) + Doubao-Seed-2.0-liteOpenAI 兼容 API,通过 EP 值接入
视频处理OpenCV 4.8 + NumPy 1.26关键帧提取、镜头检测
前端原生 HTML5 + TailwindCSS + FontAwesome 4.7响应式单页应用
Markdown 渲染Marked.jsLLM 原始输出 JSON 的代码块渲染
配置管理PyYAML 6.0YAML 持久化配置 + 环境变量覆盖
HTTP 客户端httpx 0.26异步 API 调用
数据验证Pydantic 2.5请求 / 响应模型校验
测试pytest单元 / 集成 / 系统测试

5. 快速开始

5.1 环境要求

  • Python 3.10+
  • pip

5.2 克隆 & 进入项目

cd AIquanzhan 

5.3 配置 LLM 服务

编辑项目根目录下的 config.yaml

说明model_ep 字段取上「模型推理」->「Endpoint ID (EP)」的值。本项目使用 volcengine 作为 provider,model 直接传 EP 值。此配置只需设置一次,后续启动永久生效。

也可通过环境变量覆盖(优先级高于 YAML):

set VOLCENGINE_API_KEY=your-key set DOUBAO_SEED_2_LITE_MODEL_EP=your-ep 

5.4 安装依赖

pip install -r requirements.txt 

5.5 启动后端服务

python main.py 

后端服务运行在 http://localhost:8000

也可直接使用 uvicorn:

python -m uvicorn backend.main:app --host 0.0.0.0 --port 8000 

5.6 打开前端界面

在浏览器中直接打开 frontend/index.html

前端通过 fetch 调用 http://localhost:8000/api/* 接口,确保后端已启动。


6. API 接口一览

方法路径说明编码方式
GET/服务健康检查
GET/api/config-status查看 LLM 配置状态
POST/api/upload-sample上传样例视频multipart/form-data
POST/api/analyze-structure爆款结构分析application/x-www-form-urlencoded
POST/api/identify-gaps素材缺口识别application/x-www-form-urlencoded
POST/api/complete-gaps素材缺口补全application/x-www-form-urlencoded
POST/api/generate-svt生成 SVT-JSON 时间线application/x-www-form-urlencoded
POST/api/generate-multiple-versions多版本生成application/x-www-form-urlencoded
POST/api/adjust-manually人工调整并重新生成application/x-www-form-urlencoded

7. 前端操作流程

┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ ① 上传样例 │ → │ ② 结构分析 │ → │ ③ 缺口识别 │ → │ ④ 生成成片 │ │ 拖拽/选择 │ │ 三重结构 │ │ LLM 智能 │ │ SVT-JSON │ │ MP4/MOV 文件│ │ 拆解 + 模板 │ │ 素材缺口 │ │ 导出 + 预览 │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ 

Step 1:上传样例视频

拖拽或点击上传一个爆款样例视频,系统自动提取基础信息(fps、时长、分辨率、关键帧、镜头切分点)。

Step 2:爆款结构分析

点击「提取爆款结构模板」按钮,LLM 对视频进行三重结构拆解:

  • Hook(开头吸引):时长、内容特征
  • Body(中段卖点):分段内容与时长
  • CTA(结尾引导):引导文案与时长

同时展示 LLM 返回的原始 JSON(Markdown 代码块渲染)。

Step 3:素材缺口识别

  • 输入目标主题(如「全新智能手表 99 元限时特惠」)
  • 输入已有素材清单(自由文本描述,如「我有产品白底图3张、卖点文案、一段开箱视频」)
  • 点击「识别素材缺口」,LLM 分析并返回结构化的缺口清单(缺口分类、优先级、补全策略)

同时展示 LLM 原始缺口分析数据。

Step 4:多版本生成 & 导出

  • 选择版本类型(高点击 / 高转化 / 高节奏 / 高质感)生成 SVT-JSON 时间线
  • 导出 SVT-JSON:下载为标准 JSON 文件
  • 预览成片:弹窗展示视频 / 字幕 / 包装三轨时间线可视化
  • 人工调整:拖动节奏滑块 / 字幕密度,输入自然语言指令微调

8. 数据格式:SVT-JSON (Standard Video Timeline JSON)

本项目定义的视频时间线标准格式,用于描述视频的时间编排:

{ "meta": { "duration": 15.0, "fps": 30, "version_type": "high_click" }, "tracks": { "video": [ {"at": 0.0, "duration": 3.0, "material": "产品大图", "effect": "缩放进入"} ], "subtitle": [ {"at": 0.0, "text": "划时代新品首发", "style": "viral_red_bounce"} ], "packaging": [ {"at": 3.0, "type": "sales_card", "name": "核心卖点"} ] } } 
字段类型说明
meta.durationfloat视频总时长(秒)
meta.fpsint帧率
meta.version_typestring版本类型:standard / high_click / high_conversion / high_rhythm / high_quality
tracks.video[].atfloat视频片段起始时间(秒)
tracks.video[].durationfloat视频片段持续时长(秒)
tracks.video[].materialstring素材描述
tracks.video[].effectstring转场 / 动效
tracks.subtitle[].atfloat字幕出现时间(秒)
tracks.subtitle[].textstring字幕文字内容
tracks.subtitle[].stylestring字幕样式标识
tracks.packaging[].atfloat包装元素出现时间(秒)
tracks.packaging[].typestring效果类型(如 sales_card
tracks.packaging[].namestring效果名称

9. 配置系统说明

YAML 配置文件(config.yaml

项目采用 YAML 持久化配置 + 环境变量覆盖 的混合配置方案:

优先级:环境变量 > config.yaml > 默认值 
配置项YAML 路径环境变量默认值说明
API Keyvolcengine.api_keyVOLCENGINE_API_KEYAPI Key
Base URLvolcengine.base_urlVOLCENGINE_BASE_URLAPI 基础地址
Model EPdoubao_seed_2_lite.model_epDOUBAO_SEED_2_LITE_MODEL_EPDoubao-Seed-2.0-lite 的 Endpoint ID
LLM 超时llm_timeoutLLM_TIMEOUT120LLM API 调用超时(秒)
Debug 模式debugDEBUGtrue调试开关
Secret Keysecret_keySECRET_KEY应用密钥

10. 详细功能文档

每个功能模块的详细说明文档请参见 docs/ 目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值