概述
AI Video JSON Schema v2 概述与快速开始
AI Video JSON Schema v2 - 概述
AI Video JSON Schema v2 是一个结构化的 JSON 规范,用于 AI 生成视频管道,可以与 Revideo 或 Remotion 等工具配合渲染。
设计目标
| 目标 | 描述 |
|---|---|
| AI 友好 | 结构清晰,易于 AI 生成和理解 |
| 简单渲染 | 清晰映射到 Revideo 组件 |
| 时间线逻辑 | 直观的基于时间的 clip 系统 |
| 多元素支持 | 视频、图片、文字、形状、布局容器、字幕 |
| 多音轨 | 支持背景音乐、人声、音效同时播放 |
| 字幕同步 | 单词级别时间戳,支持高亮效果 |
| 可扩展 | 易于添加新功能 |
顶层结构
{
"meta": {},
"video": {},
"audio": {},
"assets": {},
"tracks": []
}| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
| meta | object | 是 | 元数据(版本、标题、描述等) |
| video | object | 是 | 全局视频设置(分辨率、帧率、时长等) |
| audio | object | 否 | 全局音频资源(多音轨:背景音乐、人声、音效) |
| assets | object | 否 | 资产定义(字体、图片、视频、音频) |
| tracks | array | 是 | 时间线轨道数组,每个轨道包含多个 clip |
渲染流程
AI 生成 JSON Schema
↓
Schema 验证器
↓
Schema 解析器
↓
Revideo 渲染器
↓
视频帧输出
↓
最终视频文件快速示例
{
"meta": {
"version": "2.0.0",
"title": "产品演示视频"
},
"video": {
"width": 1920,
"height": 1080,
"fps": 30,
"duration": 15
},
"audio": {
"bgm": {
"src": "https://example.com/bgm.mp3",
"volume": 0.4
}
},
"tracks": [
{
"id": "main",
"type": "visual",
"clips": [
{
"type": "text",
"text": "欢迎观看",
"start": 0.5,
"duration": 5,
"transform": {
"x": "50%",
"y": "30%",
"anchor": "center"
},
"style": {
"fontSize": 96,
"fill": "#ffffff"
},
"animations": [
{ "type": "fadeIn", "duration": 1 }
]
}
]
}
]
}文档目录
| 文档 | 描述 |
|---|---|
| meta | 元数据配置详解 |
| video | 视频配置详解 |
| audio | 音频配置详解(多音轨支持) |
| assets | 资产定义详解 |
| tracks | 轨道系统详解 |
| clips | Clip 元素详解 |
| transform | 变换属性详解 |
| style | 样式属性详解 |
| animations | 动画系统详解 |
| layout | 布局容器详解 |
| gradients | 渐变填充详解 |
| filters | 滤镜效果详解 |
| api | API 接口文档 |
| examples | 完整示例集合 |
| subtitle | 字幕系统详解 |
API 端点
POST /api/json
创建新视频配置。
请求体: VideoSchema JSON
响应:
{
"taskId": "uuid",
"url": "/v/uuid",
"configUrl": "uuid.json",
"schema": "AI Video JSON Schema v2"
}GET /v/:id
查看视频播放器。
TypeScript 类型定义
完整的 TypeScript 类型定义请参考:
src/revideo/schema/types.ts- Schema 类型定义src/revideo/clips/types.ts- Clip 渲染器类型
版本历史
| 版本 | 日期 | 变更 |
|---|---|---|
| 2.0.0 | 2024 | 完全重新设计,支持嵌套布局、渐变、滤镜、完整动画系统 |
| 1.0.0 | 2024 | 初始版本,简单的图片轮播+字幕 |