一句话,就能做出专业视频?我拆解了这个"黑科技"背后的秘密

2026年1月20日,一条推文在开发者圈子里炸了。
Remotion 官方发推说,他们的工具现在支持 Claude Code 的 Agent Skills 了。短短三天,这条推文获得了14,091个赞,1,036次转发,还有845万次浏览。
推特上到处都是人在晒自己的作品。"5分钟,3句话,我做了一个产品宣传片。""Motion designers are cooked"(动效设计师要失业了)成了高频评论。
我也试了试。
输入一句话:"帮我做一个 NotebookLM 的宣传动画"
一分钟后,我得到了一个60秒的专业宣传视频。开场logo动画、功能介绍、品牌配色、文字特效,全都有。
就这一句话。
没打开 After Effects,没调时间轴,没手动K帧,甚至没找素材。从需求到成片,全程只是在和AI对话。
这让我非常好奇,这背后到底是怎么做到的?
于是我花了1天时间,把整个技术链路拆了一下。从你输入那句话的瞬间,到最后生成MP4文件,每一步都在发生什么,为什么这样设计,技术背后的深层逻辑是什么。
这篇文章,就是我的完整发现。
第一步:AI是如何理解你的意图

当你在 Claude Code 里输入"帮我做一个 NotebookLM 的宣传动画",第一个响应的不是代码编辑器,也不是视频渲染器,而是一个 AI Agent。
AI Agent:可以理解为一个"智能助手",不仅能理解你说的话,还能自己规划任务、调用工具、执行操作。和传统的"代码补全"工具不同,Agent能"完成任务",而不只是"补全代码"。
这个 Agent 要做的第一件事,就是把你这句模糊的话,翻译成清晰的技术指令。
试想一下,如果你对一个真人设计师说"帮我做个宣传动画",他脑海里会快速闪过什么?
他会想:这是什么产品?目标用户是谁?应该是什么风格?需要哪些元素?用什么配色?
AI Agent 也是一样的。
AI 如何选对工具
Claude Code 有一套"技能系统"。每个技能就像工具箱里的工具,有自己的使用说明书。
当你说"做一个宣传动画",Agent 会快速扫描已安装的技能,找到 Remotion Skill。这个技能的说明书会告诉 Agent:
"我可以用 React 代码生成视频。支持动画、转场、文字特效、音频同步。适用于宣传片、产品演示、教学视频。"
Agent 一看,匹配了。
就像你不会用锤子拧螺丝,也不会用扳手钉钉子。Agent 也需要选对工具。
AI 在"脑海中"推理什么
接下来,Agent 要理解这句话的深层含义。
比如"NotebookLM"这几个字,AI要推理出:
- 这是 Google 的 AI 笔记工具
- 核心功能是文档分析、知识整理
- 品牌调性应该是科技感、专业、智能
- 目标用户是知识工作者、研究者、学生
再比如"宣传动画",AI要理解:
- 不是教程,不是操作演示,是品牌宣传
- 需要产品名称、核心卖点、视觉吸引力
- 常见结构是:开场 → 功能介绍 → 使用场景 → 行动号召
- 时长大概30到60秒
最后"做一个",意味着:
- 用户期望一次性输出完整作品
- 不是"教我怎么做",而是"帮我做出来"
- AI 需要自主决定配色、字体、动画节奏、场景安排
这些推理不会展示给用户,但它们是 Agent 后续所有决策的基础。
从意图到行动清单
理解了需求,Agent 会在内部形成一个技术任务清单:
基础设施层
- 创建 Remotion 项目
- 安装需要的工具包
- 配置视频参数(分辨率、帧率、时长)
内容创作层
- 设计视频分镜
- 编写 React 组件
- 实现动画逻辑
- 选择配色方案
渲染输出层
- 启动实时预览
- 触发最终渲染
迭代优化层
- 等待用户反馈
- 根据反馈修改代码
- 重新预览
这个清单不会一次性展示给你,Agent 会逐步执行,在必要时告诉你进度。
为什么 Agent 能做到这些
传统的代码生成工具,比如 GitHub Copilot,只能"补全代码"。你写一半,它帮你写另一半。
但 Claude Code Agent 能做的是:
- 跨工具编排:不仅写代码,还能执行命令、管理文件、触发渲染
- 上下文保持:记住之前的对话,理解"改一下颜色"指的是哪个颜色
- 目标导向:不是机械执行指令,而是理解最终目标,自主决策实现路径
这是从"工具"到"智能体"的质变。
第二步:搭建视频项目的"地基

理解了需求,规划好任务,接下来 Agent 要"动手"了。
第一步不是直接写视频内容,而是搭建一个完整的项目环境。就像建房子之前要先打地基、搭框架。
创建一个"视频项目文件夹"
Agent 执行的第一个命令通常是:
npm create remotion@latest
几秒钟后,你的电脑里会出现一个完整的"视频项目文件夹"。
这个文件夹包含三大类内容:
场景文件
- 每个场景的具体内容:文字、动画、颜色、布局
- 用 React 组件的方式组织,就像搭积木,每个组件是一块积木
- 主入口文件会把所有场景组合起来
配置清单
- 视频的基础参数:分辨率、帧率、时长
- Remotion 的渲染配置:编码格式、输出路径、并发设置
资源库
- 可能用到的字体文件
- Logo图片、背景素材
- 音效或BGM
这个结构看起来像网页项目,因为 Remotion 本质上就是基于 React 的。但它的输出是视频,不是网页。
安装工具包
项目创建后,Agent 会自动安装必需的工具包:
npm install
这个过程在安装什么?
Remotion 核心框架
- remotion:主框架,提供视频渲染的核心能力
- @remotion/cli:命令行工具,用于渲染和预览
React 生态
- react、react-dom:Remotion 基于 React,需要这些基础库
可选的增强库
- 转场效果库(淡入淡出、滑动、缩放等)
- 运动模糊效果
- 预设图形(圆形、矩形、多边形等)
- 噪声和粒子效果
Agent 会根据视频类型选择性安装这些库。
React:一个用来构建用户界面的 JavaScript 库。就像乐高积木,你用小组件拼成大组件,最后拼成完整的界面。Remotion 借用了这个思想,只不过拼出来的不是网页,而是视频。
设置视频参数
项目初始化后,Agent 需要设置视频的基础参数:
这几行代码在做什么?
给视频起个名字
- id="NotebookLM_Promo":这个视频叫什么
定义"画布"尺寸
- width={1920} / height={1080}:全高清分辨率(1080p)
设置时间参数
- fps={30}:每秒30帧(流畅的视频标准)
- durationInFrames={1800}:总共1800帧计算公式:时长(秒)× 帧率 = 总帧数
1800帧 ÷ 30fps = 60秒视频
帧(Frame):视频的基本单位。想象一下翻页动画书,每一页就是一帧。把很多页快速翻动,就形成了动画。30fps 意味着每秒播放30张"画面",看起来就很流畅。
启动实时预览
配置完成后,Agent 执行:
npm run dev
这条命令会启动 Remotion Studio,一个在浏览器中运行的可视化工具。
几秒钟后,你的浏览器会自动打开,看到这样的界面:
- 左侧:视频预览窗口
- 底部:时间轴(可以拖动,查看任意时刻的画面)
- 右侧:代码编辑器
这个工具的核心价值是所见即所得。
你在代码里改一个颜色,刷新后立刻在预览中看到效果。你拖动时间轴到第5秒,立刻看到那一刻的画面。不需要每次都"渲染整个视频"来检查效果。
这是后续迭代优化的基础——快速反馈循环。
为什么要"项目化"
你可能会想,为什么不能直接"生成视频",而要先"创建项目"?
因为视频不是一次性的产物,而是一个可迭代、可复用、可版本控制的创意资产。
- 可迭代:你可以随时修改代码,重新渲染
- 可复用:改几个参数(产品名、颜色、文案),就能生成新视频
- 可版本控制:用 Git 管理视频的"历史版本",就像管理代码一样
这是 Remotion 与传统视频工具的根本区别:视频即代码。

第三步:用代码"画出"视频内容
项目搭建完成,环境就绪。现在到了最关键的环节:创造内容。
Agent 需要把脑海中的"视频画面",转化为实实在在的 React 代码。
Agent 的"分镜思维"
在写代码之前,Agent 首先在内部规划视频的叙事结构,类似于导演做分镜脚本。
对于"NotebookLM 宣传动画",一个典型的分镜可能是:
场景一:开场(0-5秒)
- 画面:黑屏渐亮,NotebookLM logo 从小到大弹出
- 动效:缩放 + 淡入
- 目的:品牌露出,抓住注意力
场景二:核心卖点(5-15秒)
- 画面:标题文字"AI-Powered Note Taking"滑入
- 下方出现三个关键词:Organize / Analyze / Summarize
- 动效:文字逐个淡入,带轻微弹性
- 目的:快速传达产品价值
场景三:功能展示(15-40秒)
- 画面:模拟产品界面的示意图
- 展示场景:上传文档 → AI分析 → 生成摘要
- 动效:元素依次出现,配合箭头引导
- 目的:让观众理解使用流程
场景四:结尾召唤(40-60秒)
- 画面:大标题"Start Your Free Trial"
- 下方显示网址或二维码
- 背景渐变色动画
- 动效:标题放大 + 闪烁高光
- 目的:引导行动
每个场景对应一个独立的 React 组件,就像乐高积木,可以单独开发、测试,最后组合起来。
用 React 代码描述画面
现在 Agent 开始写代码。我们以"开场 Logo 动画"为例。
场景描述(人话):
- 黑色背景
- 屏幕中央有一个白色的"NotebookLM"文字
- 文字从透明变为不透明(淡入效果)
- 同时从50%大小放大到100%
对应的 React 代码:
export const LogoScene: React.FC = () => {
const frame = useCurrentFrame(); // 获取当前是第几帧
// 计算透明度:0-30帧之间,从0变到1
const opacity = interpolate(
frame,
[0, 30], // 输入范围:第0帧到第30帧
[0, 1], // 输出范围:透明度从0到1
);
// 计算缩放比例:0-30帧之间,从0.5变到1
const scale = interpolate(
frame,
[0, 30],
[0.5, 1],
);
return (
NotebookLM
代码在做什么(人话版):
- useCurrentFrame():获取"现在是第几帧"在第0帧时,返回0
在第15帧时,返回15
在第30帧时,返回30 - interpolate() 函数:这是 Remotion 的核心魔法"在第0到30帧之间,把某个值从A平滑过渡到B"
比如透明度从0变到1,缩放从0.5变到1
就像你在 After Effects 里打关键帧,但这里是用数学函数描述
interpolate(插值):想象你要从北京到上海,插值函数会帮你计算每个时刻应该在哪里。比如从第0帧到第30帧,透明度从0变到1,插值函数会自动算出第15帧应该是0.5,第20帧应该是0.67,让变化看起来很平滑。
时间即变量
在传统视频编辑中,你在时间轴上拖动关键帧。在 Remotion 中,你用函数描述"时间和属性的关系"。
- 传统方式:"在第1秒设置透明度0,在第2秒设置透明度100%"
- Remotion 方式:"透明度 = f(当前帧数)",让数学函数自动计算中间的每一帧
这就是时间函数范式——用编程思维描述时间。
场景的串联与并行
现在我们有了多个场景组件(LogoScene、TitleScene、FeatureScene),如何把它们组合成完整视频?
方法一:串联播放(依次出现)
用人话解释:
- 第0到150帧:播放 LogoScene
- 第150到450帧:播放 TitleScene
- 第450到1200帧:播放 FeatureScene
就像视频编辑软件的时间轴,把素材依次排列。
方法二:并行播放(同时出现)
背景动画贯穿全片,标题在第150帧时叠加上去,类似于 Photoshop 的图层概念。
动画的精细控制
前面我们用 interpolate 实现了线性过渡(匀速变化),但真实的动画往往不是匀速的,它有加速、减速、弹性效果。
这就需要 Easing 函数(缓动函数)。
比如弹性动画:
const scale = interpolate(
frame,
[0, 30],
[0, 1],
{
easing: Easing.elastic(1.5), // 弹性效果
}
);
效果是 Logo 放大时,会"超过100%,然后弹回来",像弹簧一样。
Easing(缓动):想象你开车,不会突然加速到100公里,而是慢慢加速(缓入),也不会突然刹车,而是慢慢减速(缓出)。Easing 函数让动画看起来更自然,更符合物理规律。
Agent 会根据场景选择合适的 Easing:
- 品牌 Logo:用 elastic 增加趣味性
- 文字说明:用 ease 保持专业感
- 背景渐变:用 linear 保持稳定
Agent 的"品味"
你可能好奇,Agent 怎么知道该用什么颜色、什么字体?
答案是:推理 + 知识库。
当 Agent 看到"NotebookLM"时,它可能会推理:
- NotebookLM 是 Google 产品 → Google 的品牌色是蓝色、绿色、黄色、红色
- 但这是 AI 工具 → 科技感 → 深色背景 + 亮色文字 + 渐变
- 目标受众是专业人士 → 简洁风格 → 无衬线字体(Inter、Roboto)
最终选择:
- 背景:深蓝到紫色的渐变(科技感)
- 文字:白色(对比度高,易读)
- 强调色:Google 蓝(品牌关联)
- 字体:Inter(现代、专业)
如果用户不满意,可以直接反馈:"换成黑白极简风",Agent 会重新推理并调整。
代码即设计
在 Remotion 的世界里,写代码就是做设计。
- 设计师用 Figma 拖拽矩形 → 开发者用代码描述矩形
- 设计师用时间轴拖关键帧 → 开发者用 interpolate 描述变化
- 设计师用图层叠加效果 → 开发者用
编排时间
这种范式的优势:
- 精确控制:每个像素、每一帧都是确定的
- 可复用:组件可以在多个视频中使用
- 可编程:用循环、条件语句生成复杂动画(传统工具做不到)
但也有代价:学习曲线。
不过,当 AI Agent 介入后,这个曲线被抹平了,你不需要学代码,Agent 帮你写。
第四步:从代码到视频文件

现在我们有了完整的 React 代码:组件、动画、时间轴编排,全部就绪
但这些还只是"代码",用户要的是"视频文件",一个可以在任何播放器打开的 MP4。
这一步,是 Remotion 最核心的技术魔法。
渲染的本质:逐帧截图
Remotion 的核心思路非常直接,但极其巧妙:
把视频的每一帧,当作一张"网页截图"。
回想一下视频的本质:
- 视频 = 一系列静止画面快速播放
- 30fps 的视频 = 每秒30张图片
- 60秒视频 = 1800张图片
所以,Remotion 的渲染流程是这样的:
- 第1次渲染:设置 frame = 0,让 React 组件根据第0帧计算画面,截图保存为 frame-0000.png
- 第2次渲染:设置 frame = 1,React 重新计算,截图保存为 frame-0001.png
- 第3次渲染:设置 frame = 2,截图保存为 frame-0002.png
- 重复1800次
- 最后:把这1800张图片用 FFmpeg 合成视频
类比理解:翻页动画书。
小时候你可能画过翻页动画,在笔记本每一页上画一个小人,姿势稍有不同,快速翻动就形成动画。
Remotion 做的就是这个,只不过:
- "每一页"是一次 React 渲染
- "小人"是你的 React 组件
- "翻动"是视频播放器的工作
浏览器引擎登场
那么,Remotion 是如何"截图"的?
答案是:启动一个无头浏览器(Headless Browser)。
Remotion 使用 Puppeteer,一个可以用代码控制的 Chrome 浏览器。
无头浏览器(Headless Browser):就像一个"看不见的浏览器",你看不到窗口,但它在后台运行,完全可以渲染网页。想象一个盲人,虽然看不见,但能完整体验网页的所有功能。
渲染流程的技术细节:
步骤1:启动无头浏览器
puppeteer.launch({ headless: true })
步骤2:加载你的 React 代码
await page.goto('http://localhost:3000/render?frame=0');
Remotion 会启动一个本地服务器,把你的 React 代码当作"网页"加载进浏览器。URL 中的 frame=0 参数告诉 React:"现在渲染第0帧的画面"。
步骤3:等待渲染完成
await page.waitForSelector('#remotion-ready');
因为 React 组件可能有异步操作(加载字体、图片等),Remotion 会等待所有内容就绪。
步骤4:截图
await page.screenshot({ path: 'frame-0000.png' });
把当前页面的画面保存为 PNG 图片。
步骤5:切换到下一帧
await page.goto('http://localhost:3000/render?frame=1');
重复步骤3到4,渲染第1帧、第2帧,直到最后一帧。
为什么用浏览器?
你可能会想,为什么不直接用"渲染引擎",而要用浏览器?
因为 React 组件本质上就是 Web 技术,浏览器是最成熟、最强大的渲染引擎:
- 支持 CSS 的所有特性(渐变、阴影、动画)
- 支持 Web 字体加载
- 支持 Canvas、SVG 等复杂图形
- 硬件加速(GPU 渲染)
与其重新造轮子,不如直接用现成的、经过亿万用户验证的 Chrome 引擎。
从图片到视频:FFmpeg 的魔法
现在我们有了1800张 PNG 图片,但用户要的是 MP4 视频。
接下来,Remotion 调用 FFmpeg,业界标准的视频处理工具。
FFmpeg:一个超级强大的视频处理工具。就像瑞士军刀,可以做任何跟视频有关的事:转格式、压缩、剪辑、合并、添加水印等。几乎所有视频软件底层都在用它。
FFmpeg 的工作流程:
步骤1:读取图片序列
ffmpeg -framerate 30 -i frame-%04d.png ...
-framerate 30 告诉 FFmpeg:"这些图片是30fps的视频"。
-i frame-%04d.png 告诉 FFmpeg:"按顺序读取 frame-0000.png, frame-0001.png, ..."
步骤2:视频编码
... -c:v libx264 -pix_fmt yuv420p ...
把图片序列编码成视频流:
- -c:v libx264:使用 H.264 编码器(最通用的视频格式)
- -pix_fmt yuv420p:像素格式(兼容性最好)
步骤3:音频合成(如果有)
... -i audio.mp3 -c:a aac ...
如果视频有 BGM 或配音,FFmpeg 会把音频轨道和视频流合并。
步骤4:输出文件
... output.mp4
最终生成一个完整的 MP4 文件。
性能优化:并行渲染
前面的流程有个问题:渲染1800帧要花很长时间。
假设每帧渲染需要0.5秒:
- 1800帧 × 0.5秒 = 900秒 = 15分钟
这太慢了。
Remotion 的解决方案:并行渲染。
现代 CPU 通常有多个核心(比如8核、16核)。Remotion 可以同时启动多个浏览器进程,每个进程负责一部分帧:
- 进程1:渲染第0到299帧(第0到10秒)
- 进程2:渲染第300到599帧(第10到20秒)
- 进程3:渲染第600到899帧(第20到30秒)
- 进程4:渲染第900到1199帧(第30到40秒)
- 进程5:渲染第1200到1499帧(第40到50秒)
- 进程6:渲染第1500到1799帧(第50到60秒)
如果有6核 CPU,理论上渲染时间缩短到原来的1/6:
- 15分钟 ÷ 6 = 2.5分钟
就像工厂流水线,多个工人同时工作,效率大大提升。
增量渲染与缓存
还有一个优化:不是每次都重新渲染所有帧。
假设你改了一个小细节(比如"把标题改成蓝色"),只有受影响的帧需要重新渲染。
Remotion 的缓存机制:
- 检测变化:对比代码的哈希值,判断哪些组件改变了
- 定位影响范围:如果改的是 TitleScene,只有第150到450帧需要重新渲染
- 合并渲染:只渲染改变的部分,其他帧直接使用之前的缓存
这让迭代速度大幅提升,改一个小细节,可能只需要10秒就能重新渲染。
云端渲染
对于复杂视频(比如4K、120秒、复杂特效),即使并行渲染也可能需要10到20分钟。
Remotion 提供了云端渲染服务(Remotion Lambda):
工作原理:
- 把你的代码上传到 AWS Lambda
- Lambda 启动数十个甚至上百个并行进程(而不是本地的6到8个)
- 每个进程渲染几帧
- 合并结果,生成最终视频
- 下载到本地
渲染时间对比:
- 本地渲染(8核 CPU):10分钟
- 云端渲染(50个 Lambda 实例):30秒
代价是 AWS 的计算费用(通常几美分到几美元)。对于商业用途,这个成本完全可以接受。
确定性渲染
Remotion 的渲染有一个独特优势:完全确定性。
传统视频编辑软件(Premiere、Final Cut)的导出是"一次性"的:
- 按下导出按钮,等待渲染
- 渲染过程中你无法精确控制每一帧
- 如果出错,很难复现问题
而 Remotion 的渲染是"代码驱动"的:
- 同样的代码 + 同样的 frame 参数 = 完全相同的画面
- 可以随时重新渲染任意一帧
- 可以用单元测试验证视频输出
- 可以版本控制(Git)+ 自动化(CI/CD)
这让视频制作从"手工艺"变成"工程化",可复现、可测试、可自动化。
第五步:迭代与优化

第一版视频渲染完成,你在预览窗口看到效果
很好,但总有些不满意的地方:
- "Logo 太小了,能放大一点吗?"
- "背景颜色太暗,换成亮一点的蓝色"
- "第二个场景和第三个场景之间加个转场"
- "整体节奏太慢,能快一点吗?"
这时候,传统工具的流程是:
- 打开 After Effects
- 在时间轴里找到对应的图层
- 手动调参数
- 重新导出(等10分钟)
- 预览效果,如果不满意,回到步骤2
而在 Remotion + Claude Code 的世界里,你只需要:
说出你的想法 → Agent 修改代码 → 实时预览刷新(1到2秒)→ 继续反馈。
自然语言反馈的解析
用户的反馈通常是"模糊的人话",Agent 需要把它翻译成"精确的技术操作"。
比如用户说:"Logo 太小了,放大一点"
Agent 的解析流程:
- 识别目标对象:"Logo" → 找到 LogoScene 组件
- 识别属性维度:"大小" → 可能是 fontSize、width、scale 等属性
- 识别调整方向:"放大" → 增加数值
- 推断调整幅度:"一点" → 增加20%到30%(而不是翻倍)
最终操作:
// 修改前
fontSize: '120px'
// 修改后
fontSize: '150px' // 增加25%
再比如用户说:"背景改成深蓝色"
Agent 的解析流程:
- 识别对象:"背景" → 找到 backgroundColor 或渐变定义
- 识别颜色:"深蓝色" → 推断色值(#1E3A8A 或类似)
- 保持色彩体系:如果原本是渐变,保持渐变结构,只改色相
最终操作:
// 修改前
backgroundColor: '#000'
// 修改后
backgroundColor: '#1E3A8A' // 深蓝色
代码定位
关键问题:项目里可能有十几个文件、上千行代码,Agent 如何精确定位?
策略一:语义理解 + 文件结构
Agent 首先理解项目结构:
src/
├── Root.tsx # 主入口
├── scenes/
│ ├── LogoScene.tsx # Logo 动画
│ ├── TitleScene.tsx # 标题场景
│ └── FeatureScene.tsx # 功能展示
当用户说"Logo 太小",Agent 推理:
- "Logo" → 应该在 LogoScene.tsx 中
- 读取该文件,查找 fontSize 或 scale 相关代码
策略二:代码搜索
Agent 使用 Grep 工具搜索关键代码:
grep -r "Logo" src/
找到所有包含"Logo"的文件和行号,快速定位。
实时预览:快速反馈循环
修改代码后,Remotion Studio 会自动检测文件变化并刷新预览。
热更新流程:
- Agent 修改 LogoScene.tsx
- Remotion 的开发服务器检测到文件变化
- 重新编译 React 代码(通常1到2秒)
- 浏览器自动刷新预览
- 用户立即看到新效果
这个循环非常快,从反馈到看到结果,通常只需要3到5秒。
对比传统工具:
- After Effects:修改 → 导出预览(1到5分钟)→ 播放
- Remotion:修改 → 自动刷新(3秒)→ 实时预览
速度提升了20到100倍。
迭代模式示例:
用户:"背景改成蓝色"
↓
Agent 修改代码(2秒)
↓
预览自动刷新(2秒)
↓
用户:"再深一点"
↓
Agent 再次调整(2秒)
↓
预览刷新(2秒)
↓
用户:"好了,就这样"
整个过程不到10秒,完成了2次迭代。
复杂修改:结构性变更
有些修改不是简单的"改个数字",而是涉及代码结构的变化。
场景一:新增一个场景
用户说:"在标题和功能介绍之间,加一个'为什么选择我们'的场景"
Agent 的操作:
- 创建新组件:
// 新文件:src/scenes/WhyUsScene.tsx
export const WhyUsScene: React.FC = () => {
// ... 新场景的代码
};
- 调整时间轴:
// 修改前
// 修改后
- 更新总时长:
// durationInFrames 从1800增加到2000
<Composition durationInFrames={2000} ... />
这是一个"多步操作",但 Agent 会自动完成所有步骤,保证时间轴的连贯性。
场景二:全局风格变更
用户说:"整体风格改成极简黑白风"
这是一个"全局性"的改动,影响多个文件。
Agent 的操作:
- 分析当前配色:背景、文字、强调色
- 制定新配色方案:纯黑背景、纯白文字、去掉强调色
- 批量修改:遍历所有场景文件,替换所有颜色值
- 调整字体:从 Inter 换成 Helvetica(更极简)
这种改动涉及多个文件,Agent 需要保持"全局视角",确保所有修改协调一致。
上下文保持
在多轮对话中,Agent 需要记住:
- 之前改过什么
- 用户的偏好(比如"我喜欢简洁风格")
- 当前讨论的是哪个元素
示例对话:
用户:"把 Logo 改成蓝色"
Agent:修改 LogoScene.tsx,设置 color: '#3B82F6'
用户:"再亮一点"
Agent:理解"亮一点"指的是 Logo 颜色(不是背景色)
修改为 color: '#60A5FA'(更亮的蓝色)
用户:"好了。现在把标题也改成这个颜色"
Agent:记住"这个颜色"是 #60A5FA
修改 TitleScene.tsx 的颜色
技术实现:
- Agent 在内存中维护"对话上下文"
- 记录最近修改的文件、属性、数值
- 理解指代关系("这个"、"它"、"再...")
这让对话更自然,你不需要每次都说完整的指令,Agent 能理解简略的表达。
从"工具"到"协作者"
传统工具的迭代流程:
- 用户 = 操作员:手动执行每个步骤
- 工具 = 被动响应:等待用户输入指令
- 反馈慢:改一个参数要重新导出
Remotion + Agent 的迭代流程:
- 用户 = 导演:只描述想要什么效果
- Agent = 技术实现者:自主完成所有操作
- 反馈快:改动几秒内就能看到
这种模式的核心价值:把人从技术细节中解放出来,专注于创意本身。
你不需要知道"interpolate 怎么写",只需要知道"我想要淡入快一点"。
这是创意工具的终极形态:理解人的意图,而不是等待人的指令。
技术总结:三个核心支柱

我们完整走过了从"一句话"到"视频文件"的全部旅程。
现在让我们站在更高的视角,回顾这个技术链路的精妙之处。
完整链路回顾
让我用一张流程图来总结:
"帮我做一个 NotebookLM 的宣传动画"
↓
Claude Code Agent
(理解意图 + 任务规划)
↓
Remotion Skill 加载
(确定技术边界和能力)
↓
项目初始化
(npm create + 依赖安装 + 配置)
↓
React 代码生成
(组件 + 动画逻辑 + 时间轴)
↓
Remotion Studio 预览
(浏览器实时渲染 + 可视化时间轴)
↓
迭代优化循环
(用户反馈 → Agent 修改代码 → 预览刷新)
↓
Puppeteer 逐帧渲染
(无头浏览器 + 1800次截图)
↓
FFmpeg 视频编码
(图片序列 → MP4 + 音频合成)
↓
视频输出完成
(可播放、可分享、可复现)
从输入到输出,整个链路自动化、确定性、可迭代。

三个核心技术支柱
这个系统之所以能成功,依赖于三个关键技术支柱的完美协作:
支柱一:AI Agent 的理解与生成能力
这不仅仅是"代码生成",而是:
- 创意理解:把模糊的人类意图转化为清晰的技术方案
- 跨工具编排:不止写代码,还能执行命令、管理文件、触发渲染
- 上下文保持:记住对话历史,理解简略表达
- 目标导向:不是机械执行指令,而是理解最终目标并自主决策实现路径
传统 AI 工具只能"补全代码",而 Claude Code Agent 能"完成任务"。
支柱二:Remotion 的时间函数范式
Remotion 的核心创新是:用数学函数描述时间。
- 传统视频工具:在时间轴上手动打关键帧
- Remotion 方式:视觉状态 = f(帧数),用代码描述时间和画面的关系
这带来三大优势:
- 精确控制:每个像素、每一帧都是确定的,可复现
- 可编程性:用循环、条件语句生成复杂动画(传统工具做不到)
- 代码化管理:视频可以像软件一样版本控制、自动化
更重要的是,这种范式天然适合 AI 理解和生成,AI 擅长写代码,而不是模拟鼠标点击。
支柱三:成熟工具链的无缝衔接
Remotion 没有"重新发明轮子",而是巧妙地组合现有的成熟技术:
- React:业界最流行的 UI 框架,海量组件生态
- Puppeteer:Google 官方的浏览器自动化工具,稳定可靠
- FFmpeg:视频处理的行业标准,支持所有格式和编解码器
- npm 生态:数百万个包,任何功能都能找到现成的库
这种"站在巨人肩膀上"的策略,让 Remotion 获得了:
- 稳定性:每个组件都经过亿万用户验证
- 扩展性:可以调用整个 Web 生态的能力
- 兼容性:输出标准视频格式,任何平台都能播放
为什么这个技术栈能成功
回到最根本的问题:为什么 Remotion + Claude Code 能在短短几天内爆红?
降维打击:把"视频制作"问题转换成"写网页"问题
视频制作是"高门槛领域",需要学习复杂的专业软件。网页开发是"低门槛领域",成千上万的开发者熟悉 React。
Remotion 把前者转换成后者,瞬间扩大了创作者群体。
而 Claude Code 更进一步:连"写网页"都不需要了,直接说人话就行。
确定性:视频即代码,可复现、可测试、可自动化
传统视频是"一次性产物":
- 导出后是二进制文件,无法追溯制作过程
- 难以复用(改个产品名要重新做一遍)
- 难以协作(设计师和开发者的工作流割裂)
Remotion 的视频是"代码资产":
- 源代码完整记录创作逻辑
- 改几个变量就能批量生成(模板化)
- 可以 Git 管理、Code Review、自动化测试
这让视频制作从"手工艺"变成"软件工程"。
可组合性:React 组件思想 + npm 生态 = 无限可能
一个 Remotion 视频本质上是:
视频 = 组件1 + 组件2 + ... + 组件N
每个组件可以:
- 独立开发和测试
- 在多个项目中复用
- 发布到 npm 供他人使用
想象一下:
- 有人做了一个"粒子爆炸"组件 → 你可以直接 npm install 使用
- 有人做了一个"企业宣传片模板" → 你改几个参数就能用
- 有人做了一个"数据可视化图表库" → 直接集成到你的视频中
这形成了一个"创意组件的市场",类似于 Unity Asset Store,但针对视频。
AI 友好:代码化创作天然适合 AI 理解和生成
为什么 AI 能轻松生成 Remotion 视频,但很难"操作" Premiere?
因为:
- Premiere:需要模拟鼠标点击、拖拽时间轴、调整面板参数 → AI 难以理解
- Remotion:直接生成代码 → AI 的核心能力
代码是"结构化"的、"语义清晰"的,AI 可以精确理解和修改。
这也是为什么未来的专业工具会越来越"代码化",不是为了开发者,而是为了 AI。

行业启示:创意工具的三次革命

让我们把视野拉远,看看创意工具是如何一步步演变的。
第一代:GUI 图形界面(1990s-2010s)
代表工具:Photoshop、Premiere、After Effects
- 用户角色:操作员,通过 GUI 手动调整每个参数
- 知识密集:需要学习复杂的界面、快捷键、术语体系
- 时间成本:简单效果也需要大量点击和试错
- 协作困难:工作文件是二进制,难以版本控制和协作
优势:所见即所得,直观可视化。
劣势:效率低、难复用、学习曲线陡峭。
第二代:代码化创作(2020s)
代表工具:Remotion、Motion Canvas、Manim
- 用户角色:程序员,用代码描述视频逻辑
- 可复用性:一次编写,批量生成(模板化、参数化)
- 版本控制:用 Git 管理创意资产
- 自动化:可以接入 CI/CD,自动生成视频
优势:精确控制、可复用、可自动化。
劣势:需要编程能力,门槛从"学软件"变成"学代码"。
第三代:AI 协作创作(2025s)
代表系统:Remotion + Claude Code、Midjourney + Editing、Runway Gen-3
- 用户角色:导演,用自然语言表达创意意图
- AI 角色:技术实现者,自动完成所有编码和调参
- 协作迭代:对话式优化,而非手动调参
- 降维突破:技术门槛消失,只需要创意和审美
优势:零门槛、快速迭代、专注创意。
劣势:(目前)对复杂需求的控制力不如代码。

四大深层启示
启示一:专业工具的"语言屏障"正在消失
以前,你需要学习工具的语言:
- After Effects 的"表达式"语法
- Premiere 的"时间线"逻辑
- Photoshop 的"图层"概念
现在,工具学习你的语言:
- 你说"淡入快一点" → AI 理解并执行
- 你说"换成科技风" → AI 重新设计配色和动画
未来的趋势:每个专业工具都会有"AI 操作层",用户不需要学习工具,只需要描述意图。
启示二:创意的瓶颈从"技术实现"转向"想法本身"
以前的瓶颈:
- 有好想法,但不会用工具 → 无法实现
- 学会工具要花几个月甚至几年 → 时间成本高
现在的瓶颈:
- 技术门槛消失 → 任何人都能"做出来"
- 但"做出来"不等于"做得好" → 创意质量成为唯一竞争力
结果:
- 内容生产效率暴涨(一个人一天能产出几十条视频)
- 但内容同质化严重(大家用的是同一个 AI、同一套模板)
- 真正的价值在于:独特的创意、深刻的洞察、精准的品味
未来的创作者不是"技术专家",而是"创意导演" + "AI 驾驭者"。
启示三:新的职业角色正在出现
传统角色的变化:
- 视频剪辑师:低端重复劳动被 AI 替代,高端创意仍然需要人类
- Motion Designer:从"手动K帧"变成"设计动画组件库供 AI 调用"
- After Effects 培训师:市场萎缩,转型为"AI 视频工具教练"
新兴职业:
- AI 视频导演:擅长用提示词引导 AI 创作,快速迭代出高质量作品
- Remotion 组件开发者:开发可复用的视频组件,发布到 npm 市场
- AI 工作流设计师:优化人机协作流程,设计企业级 AI 视频生产线
- 创意模板市场:类似 ThemeForest,但针对 AI 视频模板
启示四:行业分层加剧
市场会分裂成三个层次:
高端市场(顶部5%)
- 电影级特效、品牌大片、艺术作品
- 仍然需要顶级创意团队 + 专业工具
- AI 是辅助,人类是主导
- 价格:几万到几百万
中端市场(中间30%)
- 企业宣传、产品演示、自媒体内容
- AI 协作工具成为主流(Remotion + Claude Code 的战场)
- 小团队甚至个人就能产出专业水准
- 价格:几百到几千
低端市场(底部65%)
- 批量生成、模板套用、社交媒体短视频
- 完全自动化(输入文案 → 自动生成视频)
- 工具:一键生成类产品
- 价格:几十到几百,甚至免费
中端市场的爆发是这次变革的最大机会,原本只有大公司能做的专业视频,现在个人和小团队也能做了。

写在最后

我们站在一个转折点上
当视频可以用一句话生成,接下来会发生什么?
短期(1到2年):多模态融合
- 不只是视频,而是"一句话生成完整内容包"
- 文案 + 配图 + 视频 + 音频 + 社交媒体排期 → 一次性输出
- 创作单位从"单个视频"变成"完整 campaign"
中期(3到5年):实时交互视频
- 视频不再是"固定内容",而是"根据观众动态生成"
- 每个观众看到的视频都不一样(个性化剪辑、个性化配音)
- 广告行业的彻底重构
长期(5到10年):创意的工业化与艺术化
- 工业化:标准化内容完全自动化(新闻播报、财报解读、日常记录)
- 艺术化:顶级创意作品更加"人类中心"(AI 处理技术细节,人类专注创意突破)
- 新的艺术形式:只有 AI 能实现的复杂动画效果
不变的是:
- 好的创意永远稀缺
- 理解人性的内容永远有价值
- 独特的审美永远不可替代
工具变了,但创作的本质没变。
Remotion + Claude Code 证明了一件事:当技术门槛消失,创意才是唯一的护城河。
全文完
skill地址:github.com/remotion-dev/skills
关键术语解释表
AI Agent(AI 智能体):不仅能理解你说的话,还能自己规划任务、调用工具、执行操作的智能助手。和传统的"代码补全"工具不同,Agent 能"完成任务",而不只是"补全代码"。
React:一个用来构建用户界面的 JavaScript 库。就像乐高积木,你用小组件拼成大组件,最后拼成完整的界面。Remotion 借用了这个思想,只不过拼出来的不是网页,而是视频。
帧(Frame):视频的基本单位。想象一下翻页动画书,每一页就是一帧。把很多页快速翻动,就形成了动画。30fps 意味着每秒播放30张"画面",看起来就很流畅。
interpolate(插值):想象你要从北京到上海,插值函数会帮你计算每个时刻应该在哪里。比如从第0帧到第30帧,透明度从0变到1,插值函数会自动算出第15帧应该是0.5,第20帧应该是0.67,让变化看起来很平滑。
Easing(缓动):想象你开车,不会突然加速到100公里,而是慢慢加速(缓入),也不会突然刹车,而是慢慢减速(缓出)。Easing 函数让动画看起来更自然,更符合物理规律。
无头浏览器(Headless Browser):就像一个"看不见的浏览器",你看不到窗口,但它在后台运行,完全可以渲染网页。想象一个盲人,虽然看不见,但能完整体验网页的所有功能。
FFmpeg:一个超级强大的视频处理工具。就像瑞士军刀,可以做任何跟视频有关的事:转格式、压缩、剪辑、合并、添加水印等。几乎所有视频软件底层都在用它。

