博客 / WEEKLY #002

用代码、图像和音乐做一支产品宣传片

一段宣传视频可以由乐谱、矢量动画和少量生成图片组合而成。代码负责编排,图像模型负责关键素材,好不好看仍要用眼睛验收。

一支产品宣传片通常意味着一支小团队:脚本、配音、配乐、动效、剪辑各管一段。现在出现了一条不同的路径——整支视频由程序画出来、写出来,乍一看却不像代码的产物。

线索从配乐开始。有人连做两支软件宣传视频,起初以为背景音乐是从素材网站找来的现成曲子——直到发现每支视频的音乐都不一样,而且都能卡在画面的节奏点上。追问来历,答案是 Python 写的。

音乐:先有乐谱,再有声音

以前让 AI 做电子音乐,结果往往是几个音来回重复,鼓点机械地铺在底下,一听就是生成的。这次的写法不同:模型先把音乐写成乐谱,再经 MIDI 转成音频。

乐谱是一种结构化表达,写谱对模型来说接近写代码——每个音符、时值和力度都可以被精确指定。这解释了音乐为什么能跟视频内容卡上点:节奏不是后期对齐的,而是在写谱那一刻就按视频的节拍设计的。声音跟着画面的结构走,而不是先有音乐再迁就画面。

音效也是同一套逻辑。在一支成片里,连打字的音效都落在 BPM 节拍器上——音效不是后期随手铺上去的,而是被当成时间轴上的一个元素来排布。声音层的每个组成部分都服从同一条节拍线,这是成片听起来“完整”的直接原因。

画面:材质、动效与整体编排

让观者“恍惚间不觉得是代码做的”的,是画面里的材质——蜡笔的质感、像纸张一样的噪点。这些通常出现在手工动效或视频模型的输出里,但在这里,每一层质感都是程序画出来的。

另一类常见做法是 SVG 动效:随着音乐生长的草,实际是一段贝塞尔曲线动画;一艘帆船以一镜到底的方式被一条条线画出来,周围的波浪也是用线生成的。这类画面单帧并不逼真,好看靠的是元素如何被编排——何时出现、如何转场、怎样踩住音乐。

编排能力也带来了取舍上的变化。有一个从代码库出发的案例:让模型基于现成的软件代码库做宣传视频,界面组件是已有的,它负责编排页面动作、写配乐、组织节奏,成片质量超出预期。模型厂商自己也在这样发功能视频——发布内容由模型制作,没有人专门在这上面花太多精力,视频却一期比一期丰富。

编排还改变了取舍:新一代模型可以直接从底层的图形库和音效库拼出整支片子,绕开上层工具;过去为宣传视频整理的技能流程反而帮了倒忙——同一任务套用旧的工作流模板,效果不如让它自由发挥。模板固化的是上一代模型的能力边界,模型变强之后,约束就成了负向优化。

图像模型仍在一旁被调用

这条路径不是“全部纯代码”。一个被完整观察过的案例里,制作者只给了脚本和音乐,模型自己选了贴纸风格,从零做出一支有剧情、转场完整的视频——过程中调用了图像模型生成图片,其余动画过程都是纯代码。分工大致是:图像模型负责那些凭代码难以凭空造出的具体形象,代码负责让它们动起来、并维持整支片子的节奏。

图像素材的可控修改同样是短板所在。此前的图像编辑有一个著名问题:拿一张参考图连续生成或修改十多版,画面里的人物会出现轻微偏移,慢慢变样。新一代编辑做到了“不动的东西完全不动”,改哪里其余一个像素都不带偏——但另一些区域会出现伪影、色彩渐渐发脏,离可用还有距离。对宣传素材来说,可预测的局部修改和生成能力同样关键,否则每改一版都要从头检查整张图。

好不好看,是体验判断

“八十分动效水平已经够接单”“跟人写的音乐没有区别”——这类说法都是看过成片之后的观感判断,不是跑分结论。它们传达的信息有限,但可以复核:把成片、提示词和制作耗时放出来,比任何形容词都有说服力。审美在这里不是玄学,而是一组能用眼睛验证的具体问题——质感像不像手绘、卡点准不准、剧情顺不顺。在看到更多公开成片之前,对这些作品的评价都应该停留在“体验报告”的层面,而不是能力评级。

组合出完整作品

回头看这支宣传片的构成:音乐来自乐谱,画面来自矢量动画和少量生成图片,结构来自整体编排。三种素材各有一条最适合的表达方式——声音用乐谱、图形用路径、关键形象用图像模型——再由代码把它们缝进同一条时间轴。

与前几代生成工具相比,真正的变化在编排这一层:它不再逐段生成互不相干的片段,而是像剪辑师一样,动笔之前脑子里先有成片,再决定每个元素何时出现。至于这条路能否稳定复现到每个项目,取决于素材类型和成片要求;可以确定的是,“全用代码做”从来不是重点,重点是每个部分都选对了表达方式。

相关资料