Vibe Video Factory -- 视频智能体工厂 (Gemini x Antigravity x Remotion)
AI 导读
Skill:Vibe Video Factory(Gemini × Antigravity × Remotion) 用“节拍 + 参数化 + 代码渲染”批量生产氛围向短视频 目标:把“vibe video(氛围做视频)”固化成可复现 SOP + 工程骨架:一次做出风格,后续只换 JSON 就能批量出片。 目录 1. 概览 2. 输入 / 输出 3. SOP(端到端) 4. Prompt Pack...
用“节拍 + 参数化 + 代码渲染”批量生产氛围向短视频
目标:把“vibe video(氛围做视频)”固化成可复现 SOP + 工程骨架:一次做出风格,后续只换 JSON 就能批量出片。
1) 概览
这个 skill 的本质:先用音乐建立“节拍网格”,再用 Remotion 把每个镜头写成可复用组件, 所有文案/数据/配色/节奏点都来自 JSON 参数;Gemini 产 storyboard 与代码草案,Antigravity 负责代理式迭代与工程落地。
2) 输入 / 输出
输入(你提供)
- 视频规格:比例(9:16 / 16:9)、分辨率、FPS、时长范围
- BGM:音频文件(mp3/wav)+ BPM(可选)
- 数据:数字、标签、Top3 列表、标题/署名/Logo
- 风格 token:字体、配色、质感(grain/blur/vignette)
输出(你得到)
- 镜头表(Storyboard / Shotlist)
- Remotion 工程(Scene 组件 + Root 时间轴)
- 配置 JSON(default + variants)
- 成片:MP4(可批量渲染)
3) SOP(端到端)
Step A|定“氛围规格”(10 分钟)
- 比例/分辨率/FPS(建议 1080×1920 或 1920×1080,30fps)
- 风格 token:字体(中英各 1)、配色(背景/主色/高亮/灰)
- 质感:grain(噪点)、轻微 blur、暗角(二选一或组合,但固定强度)
- 动效语言:统一 spring 或统一 ease(不要混太多)
Step B|音乐 → 节拍网格(vibe 的骨架)
- 选 BGM(决定节奏与气质)
- 拿到 BPM(或手动打点),确定:每 4/8 拍切镜头
- 输出 beat markers(秒或帧)作为“镜头切点表”
Step C|让 Gemini 产“镜头表 + 配置 JSON”
- 输入:主题/口吻、数据、资产、节拍规则
- 输出 1:Shotlist(每个 scene 的起止时刻、文案、动效)
- 输出 2:config JSON(所有内容参数化)
Step D|Remotion 落地(工程化关键)
- 一个 scene = 一个 React 组件
- Root 用
<Sequence>拼时间轴 - 所有文案/数字/颜色来自 JSON props(便于批量)
- 可选:根据音频时长自动设置 composition duration(避免手改)
Step E|迭代与出片(Antigravity 代理循环)
- 代理把工程跑起来(安装依赖、启动预览、修报错)
- 你只给“观感反馈”:切点提前/延后多少帧、弹性大/小、层级更强等
- 固化动效语言后:只换 JSON → 批量渲染
4) Prompt Pack(直接复制用)
把下面 prompt 分别喂给 Gemini(或你的模型),即可产 storyboard/配置/代码草案。
复制你是短视频 motion 设计师 + Remotion 工程师。
我要做一个“vibe video(氛围向数据短片)”,请输出:
1) Shotlist:每个 scene 的起止时间(秒)、镜头内容、动效描述(入场/强调/退场)、与节拍对齐说明
2) Config JSON:把所有文字、数字、颜色、节奏规则参数化
3) Scene 组件清单:Intro/Stats/TopList/Outro 每个组件的 props 结构
输入信息:
- 画面比例:{9:16 或 16:9}
- 分辨率:{1080x1920}
- FPS:{30}
- BGM:{文件名},BPM:{120},切点规则:每 {8} 拍切镜头
- 风格 token:字体(中/英)={...};配色={bg:#..., primary:#..., muted:#...};质感={grain, blur, vignette};动效={统一 spring 或统一 easeOut}
- 数据:
标题={...}
署名/handle={...}
Stats=[{label,value},...]
Top3=[...]
输出需克制、现代、层级清晰,所有切点必须对齐节拍。
复制你是代码审查员。请根据我提供的 Remotion scene 代码,检查:
- 动效语言是否一致(easing/spring 参数是否混乱)
- 是否存在硬编码(文字/数字/颜色应来自 JSON props)
- 是否存在时长不对齐节拍(scene duration 是否是 cutEveryBeats 的整数倍)
并给出逐条可执行修改建议(含具体参数与文件位置)。
5) 工程骨架(推荐目录)
复制vibe-video/
public/
audio/bgm.mp3
fonts/YourFont.woff2
images/logo.png
images/screenshot.png
src/
Root.tsx
compositions/
VibeVideo.tsx
scenes/
Intro.tsx
StatCards.tsx
TopList.tsx
Outro.tsx
motion/
beat.ts
easing.ts
style.ts
data/
config.default.json
config.variant-001.json
config.variant-002.json
scripts/
render-batch.mjs
约定(强烈建议)
- Root 只负责时间轴:把 Sequence 排好
- Scene 只关心一个镜头:纯 props 驱动,不读外部全局
- motion 层统一动效:所有 easing/spring 在一处定义
初始化命令(参考)
Remotion 官方脚手架通常用 create-video 创建工程;具体命令以官方文档为准。
复制npx create-video@latest
官方入口(放在 HTML 里):Remotion Getting Started
6) 配置 Schema(JSON)
所有内容都应来自 JSON,这样你才能“换数据=换视频”。
复制{
"meta": { "title": "Dify 2025", "handle": "@langgenius" },
"palette": { "bg": "#070A12", "primary": "#7C3AED", "muted": "#A1A1AA" },
"style": { "grain": 0.18, "blur": 0.6, "vignette": 0.25 },
"timing": { "fps": 30, "bpm": 120, "cutEveryBeats": 8 },
"stats": [
{ "label": "Stars", "value": 36688 },
{ "label": "Forks", "value": 5704 },
{ "label": "Repos", "value": 8 }
],
"top": ["Shipping weekly", "Docs improved", "Community growth"],
"assets": { "logo": "/images/logo.png", "audio": "/audio/bgm.mp3" }
}
节拍换算(建议写在 motion/beat.ts)
- 每拍秒数:
60 / bpm - 每拍帧数:
(60 / bpm) * fps - 每镜头帧数:
cutEveryBeats * framesPerBeat
7) Scene 模板(动效语言示例)
Intro(0–1s)
- 标题 + Logo + handle
- 入场:轻微上浮 + 渐显
- 退场:淡出即可(保持克制)
Stats(1–6s)
- 大数字 counter(从 0 或从 70% 递增)
- 强调点:主色高亮一个 key 指标
- 每组 stats 按节拍切换
TopList(6–12s)
- Top3 列表逐条入场(stagger)
- 每条入场间隔固定(例如 6–10 帧)
- 背景保持稳定,避免花哨
Outro(最后 1–2s)
- 署名 + 小 CTA(如 “See you in 2026”)
- 结尾可加轻微暗角/噪点收束
- 最后一拍留空一点更高级
8) 渲染与批量出片
单条渲染(参考)
Remotion 常见渲染方式是用 CLI render 指定 composition 与输出文件;具体 flags 以你安装版本文档为准。
复制# 示例(根据你的版本可能是 --props 或 --input-props)
npx remotion render VibeVideo out.mp4 --props='{"configPath":"src/data/config.variant-001.json"}'
批量渲染策略
- 把每条视频的差异放进
config.variant-xxx.json - 脚本遍历 variants,依次调用 render
- 输出命名:
out/{title}-{handle}-{variant}.mp4
复制variants:
- config.variant-001.json
- config.variant-002.json
- config.variant-003.json
render loop:
for each variant:
remotion render ... --props {configPath: variant}
官方文档入口(建议收藏)
9) 质检清单(上线前必过)
节奏(vibe 关键)
- 所有切点对齐节拍(4/8 拍)
- 镜头时长是统一网格(避免忽长忽短)
- 关键数字出现时,BGM 同时有强调(鼓点/和弦变化)
视觉(统一性)
- 字体/字号层级固定:标题 / 数字 / 标签 / 注释
- 色彩不漂:背景稳定,主色只做强调
- 动效不杂:入场/强调/退场只用 1–2 套语言
工程(可批量)
- 无硬编码:内容来自 JSON
- Scene 纯函数化:props → 画面
- 渲染脚本可重复,输出命名稳定
交付(成片)
- 码率/音量正常,避免爆音
- 无黑边/裁切错误(尤其 9:16)
- 首帧/末帧干净(留 1–2 帧呼吸)
10) 常见坑(对症下药)
- 看起来“散”:通常是没做节拍网格 + 字体层级不统一(先固定 token)
- 动画“廉价”:easing 太多、幅度太大(统一动效语言,幅度减半)
- 时长对不上音乐:镜头时长没对齐 beats(用 beat→frames 统一换算)
- 越改越乱:没有把 motion 参数集中(把 easing/spring 收拢到 motion/)
11) 扩展玩法(进阶)
- 做“主题包”:一套 palette + typography + motion preset = 一个风格
- 做“数据源插件”:从 API/CSV 拉数据,生成 variants JSON
- 做“镜头生成器”:给 stats 数组自动排版(自适应列数/字号)
- 做“节拍自动切镜”:从音频打点(或手工标注)生成 markers 文件
深度加工(NotebookLM 生成)
基于本文内容生成的 PPT 大纲、博客摘要、短视频脚本与 Deep Dive 播客,用于多场景复用
PPT 大纲(5-8 张幻灯片) 点击展开
Vibe Video Factory -- 视频智能体工厂 (Gemini x Antigravity x Remotion) — ppt
幻灯片 1:Vibe Video Factory 概览与核心理念
- 核心机制:通过“节拍 + 参数化 + 代码渲染”的模式批量生产氛围向短视频 [1]。
- 技术栈协作:由 Gemini 生成分镜与代码草案,Antigravity 负责代理式迭代与工程落地,Remotion 将镜头写成可复用的 React 组件 [1, 2]。
- 核心目标:将“氛围做视频(vibe video)”固化为可复现的标准作业程序(SOP)和工程骨架 [1]。
- 应用场景:适用于年度总结、数据战报、产品发布小片和个人作品集等,不适合强真人叙事或复杂镜头合成 [1]。
幻灯片 2:标准化生产输入与输出规范
- 标准输入:需提供视频规格(比例、分辨率、帧率)、BGM(音频文件及 BPM)、具体数据(数字、标签等)以及风格 Token(字体、配色、质感) [1]。
- 标准输出:生成包含镜头表(Storyboard)、Remotion 工程文件、配置 JSON 以及最终可批量渲染的 MP4 成片 [1]。
- 参数化优势:文案、数据、配色和节奏点全部由 JSON 参数驱动,实现“一套代码出 N 条视频” [1]。
幻灯片 3:端到端视频生产 SOP(五步法)
- Step A/B(基础设定):确定分辨率、字体、动效语言等“氛围规格”,并基于 BGM 提取节拍网格(如每 4/8 拍切镜头)作为视频骨架 [1, 2]。
- Step C(AI 生成):将规则输入 Gemini,由 AI 产出对齐节拍的镜头表(Shotlist)和参数化配置 JSON [2]。
- Step D(工程落地):在 Remotion 中将每个场景写为纯 Props 驱动的 React 组件,并通过 Root 拼接时间轴 [2, 3]。
- Step E(代理迭代):通过 Antigravity 运行工程,用户只需提供“观感反馈”(如切点微调),固化后即可批量渲染 [2]。
幻灯片 4:基于 JSON 的工程架构与批量渲染
- 工程骨架约定:
Root组件仅负责时间轴排布,Scene组件作为纯函数只关心单个镜头的表现,所有动效统一在motion层定义 [3]。 - 全配置驱动:所有的标题、数字、配色、质感(如噪点、暗角)和节奏换算公式均来自
config.json,实现“换数据=换视频” [3, 4]。 - 批量出片策略:将每条视频的差异放入独立的 Variant JSON,通过渲染脚本(Render Script)遍历这些配置并自动化输出命名的 MP4 文件 [4, 5]。
幻灯片 5:AI 提示词包(Prompt Pack)应用
- 角色设定 1(动效设计师):让 AI 基于提供的分辨率、BGM 节拍规则、风格 Token 和数据,输出克制、层级清晰且对齐节拍的分镜表和 JSON 配置 [2]。
- 角色设定 2(代码审查员):让 AI 检查 Remotion 场景代码,排查是否存在动效参数混乱、时长未对齐节拍等问题 [2, 3]。
- 硬编码排查:强制要求 AI 确保所有文字、数字、颜色都来自 JSON 属性(Props),消除硬编码 [3]。
幻灯片 6:质量控制与常见避坑指南
- 节奏与视觉质检:确保所有切点严格对齐 4/8 拍节拍网格;色彩和字体层级保持稳定;动效语言限制在 1-2 套(如统一的 ease 或 spring)以避免“廉价感” [5]。
- 工程交付质检:确保纯函数化渲染无报错,无黑边或裁切错误,并在首尾预留 1-2 帧呼吸空间 [5]。
- 常见问题解决:针对视频看起来“散”或“时长对不上音乐”,需建立统一的节拍网格并利用公式(如“每拍帧数”)进行精准换算 [4, 5]。
幻灯片 7:扩展玩法与进阶应用
- 开发“主题包”:将特定的调色板、排版规则和动效预设打包,形成一键切换的风格化(Style)模板 [5]。
- 构建“数据源插件”:通过接入 API 或解析 CSV 文件,自动拉取数据并生成对应的 Variants JSON,实现高度自动化 [5]。
- 智能化辅助工具:开发自动排版的镜头生成器(自适应列数/字号),或利用算法从音频中自动打点生成切镜标记文件 [5, 6]。
博客摘要 + 核心看点 点击展开
Vibe Video Factory -- 视频智能体工厂 (Gemini x Antigravity x Remotion) — summary
想要高效批量制作高质量氛围感短视频(Vibe Video)?本文深度解析“Vibe Video Factory”视频智能体工厂的标准化 SOP,教您如何结合 Gemini、Antigravity 与 Remotion,利用“节拍网格+参数化+代码渲染”技术实现全自动化创作[1]。只需一次性构建动效代码与工程骨架,后续仅需替换 JSON 配置文件,即可轻松完成数据战报、产品发布、年终总结等场景的自动化批量渲染出片,彻底释放您的视频创作生产力[1, 2]!
核心看点:
- 核心机制:采用“节拍对齐+JSON参数化+代码渲染”,实现视频创作的高度工程化[1]。
- AI工作流:由Gemini产出分镜与代码,Remotion落地组件,Antigravity代理迭代[1, 3]。
- 降本增效:一次性构建风格模板,后续只需替换JSON数据即可一键批量渲染出片[1, 2]。
60 秒短视频脚本 点击展开
Vibe Video Factory -- 视频智能体工厂 (Gemini x Antigravity x Remotion) — video
这是一份为您定制的短视频脚本,严格按照字数要求编写:
【钩子开场】(13字)
怎么用代码批量做氛围短片?[1]
【核心解说 1】(27字)
结合Gemini与代码渲染,将氛围短片固化为可复现的SOP[1]。
【核心解说 2】(26字)
文案数据与配色全由JSON驱动,更换配置就能实现批量出片[1, 2]。
【核心解说 3】(26字)
镜头切点严格对齐音乐节拍,动效统一且克制,确保高级质感[3, 4]。
【收束】
快来搭建专属你的视频智能体工厂吧![1]
课后巩固
与本文内容匹配的闪卡与测验,帮助巩固所学知识
延伸阅读
根据本文主题,为你推荐相关的学习资料