AI 复刻短视频:一次低成本管线验证
作者在开发产品前,测试按原镜头时间线重制一段约 20 秒广告,标题称花费 1.55 美元并遇到四处失败。片段介绍了开源引擎在本地拆出 14 个镜头及提取画面、字幕和音轨信息的过程。
AI 深度解读
复刻一条 20.7 秒的 TikTok 广告,要花多少钱?REA Videos 的作者在写产品代码前,用真实素材跑了一次完整流程:换杯子、换场景、换食材,再按原片镜头拼回来。按标题披露,花费是 $1.55,但中间暴露了四类故障。
这次实验值得看的,是参考图如何带偏构图、短镜头如何放大账单,以及一次重复提交怎样变成两次扣费。这些细节,比演示视频更能说明一个 AI 产品离可用还有多远。
复刻视频,先把镜头时间线拆出来
输入是一条手机拍摄的便携搅拌杯广告,时长 20.7 秒,分辨率 480×854。作者要把紫色杯子换成奶油色杯盖的哑光深绿杯,把大理石厨房台面换成湖边露营的木桌,再把杏仁奶、蓝莓和字幕分别替换。
目标还包括保留原片的镜头顺序、运镜、节奏和总时长。
作者使用 Apache-2.0 开源的 rea-video 引擎,在本地花了 61 秒拆出 14 个镜头,并提取起止时间、首尾帧、景别、主体位置、运镜、字幕时间线,以及分离的人声和音乐。REA Videos 是基于这个引擎的独立项目,作者与引擎开发者没有关联。
随后,作者生成一张新杯子的产品参考图,供所有镜头复用。每个镜头以原始首帧为基础,通过 kie.ai 调用 gpt-image-2 修改画面,共生成 15 张图,其中 13 张并行处理,总耗时约 4 分钟。
这些关键帧再交给 Seedance 2.0 mini,经 kie.ai 以首帧模式生成 480p、无音频的视频。14 个片段全部生成成功。最后由 ffmpeg 按原镜头长度裁切、叠加字幕,输出静音版和保留原音频版。
成片长 20.70 秒。作者抽查 10 帧,认为其中 8 帧符合要求,但这只是单条视频的人工抽查。
为什么生成成功,画面仍然会跑偏
第一个问题出在参考图。
作者把第 1 个镜头的成品关键帧作为额外参考,传给其他镜头,希望统一场景。结果有 5 张关键帧连构图也照搬了。第 12 个镜头原本应该把果昔倒进玻璃罐,却变成把燕麦奶倒进杯子。
参考图携带的不只有颜色和环境,也包括主体位置、容器和动作关系。模型未必知道作者只想借用其中哪一部分。
修正方法是只传当前镜头的原始首帧和产品照片,用文字描述新场景。产品照片尤其关键:仅靠文字描述,杯子的形状会漂移。
第二个问题是素材识别。没有视觉模型参与时,拆解工具把手机实拍素材判成了「100% AI」,置信度为 0.598。作者猜测,平台重新编码抹掉了检测依赖的传感器噪声,但没有验证这个解释。他计划让多模态模型逐镜头检查。
第三个问题是字幕 OCR。工具读到了时钟数字和包装上的「Almond」,却把真正的字幕归到了「label」。作者因此加入生成前的字幕确认,并自行渲染字幕层。
能识别出文字,不等于能判断哪些文字应该被替换。
还有两处细节没解决:一个镜头仍留着蓝莓,搅拌杯显示屏上的动态倒计时也在静态关键帧处理中丢失了。首帧可以约束外观,却不足以完整表达镜头内的变化。
$1.55 的背后,计费和任务状态更容易踩坑
20.7 秒的成片,实际产生了 58 秒的视频生成计费,约为成片时长的 2.8 倍。
原因是视频模型每个片段至少生成 4 秒,而原广告有 14 个短镜头。生成后再裁切,删掉的部分依然收费。作者提出把相邻短镜头合并生成,但尚未测试。
这里存在取舍:合并可能减少浪费,也可能增加动作控制和镜头衔接的难度,不能直接算作已经实现的成本优化。
第四个故障则是重复扣费。缓存只在任务完成后写入,同一个任务提交两次,就调用两次付费模型。
作者给出的修复方向,是在付费调用前持久化「submitted」状态和任务 ID。不过,原文没说明 ID 是本地任务标识,还是供应商返回的标识,也没交代提交超时后如何确认任务是否已创建。真正落地仍需补上这些状态转换。
运行环境也被这次实验划清了边界。作者判断,这套完整流程不能放进 Cloudflare Workers:拆解需要 Python、OpenCV 和 onnxruntime,合成需要 ffmpeg,任务还会持续数分钟。
他的架构计划是让 Workers + D1 管用户、额度和任务状态;小型 VPS 轮询任务,执行拆解、模型调用及合成,再回报结果。扣额度和退款统一留在 Workers 一侧。R2 保存所有文件,模型通过签名 URL 读取,文件在 30 天后删除。
我的判断
作者做对的一点,是在开发产品前验证完整链路。单个模型能生成视频,并不能证明素材解析、跨镜头一致性、计费和失败恢复都能配合工作。
但证据边界很窄:只有一条 480p 素材,逐镜头动作描述还是作者手写的。正式产品计划交给视觉模型完成,这个自动化环节尚未被此次实验验证。720p 也没测过,作者只说明其每秒价格约为两倍。
「14 个片段成功」说明接口任务完成了;「抽查 10 帧、8 帧合格」也无法覆盖整段动作、转场和产品一致性。原文没有与人工剪辑、整段生成或合并镜头生成做对照,因此质量与成本优势仍属于初步经验。
相比整段交给模型自由生成,逐镜头处理更方便对齐时间线,也更容易定位错误;代价是调用次数、最低片长浪费和状态管理复杂度。REA Videos 目前仍在预发布阶段,页面和价格公开,按钮只是加入候补名单,还没有用户验证。
能拿来做什么
- 做视频生成原型时,先选一条真实素材跑完拆解、生成、裁切和字幕流程,同时记录成片秒数与计费秒数,避免只按输出时长估算成本。
- 设计参考图输入时,分别明确产品外观、原镜头构图和目标场景的职责;出现串镜头错误,可以先排查额外参考图是否带入了错误动作。
- 前端可以提供提交反馈和重复点击限制,Node 或其他后端仍需持久化任务状态,并核对重试是否会创建新的付费任务。
- 把字幕确认放在昂贵生成之前,并检查动态显示、食材残留等具体问题;静态抽帧验收之外,还要观看完整成片。