如何用 Claude Opus 5.5 做一支音乐 MV?代码逐帧渲染完整教程(2026)

前言:Opus 5.5 是怎么「画」出 MV 的

最近刷到很多「用 Opus 5.5 做的 MV」,画面是手绘水彩风,小角色跟着节拍动,歌词一个字一个字亮起来。第一反应会以为是某个视频生成模型做的------其实 Opus 5.5 不会生成视频,它做 MV 的方式是写代码画每一帧。

可以把它想象成一个会写程序的动画师:它写一个网页,告诉这个网页「第 10.5 秒的时候,两个小人站在伞下,主角的眼睛变成爱心」;然后用一个没有界面的 Chrome 浏览器,从第 0 秒到最后一秒,每秒拍 24 张照,最后用 ffmpeg 把这些照片和音乐拼成 MP4。

角色、房间、月亮、转场,全是代码用水彩笔刷一笔一笔画出来的。这也带来了两个好处:角色在每个镜头都长得一样,不会跑偏;想改哪个细节,就改哪几行代码。

成片第 1 秒:窗外是一轮缺了一角的拼图月亮。这幅画面里的每一笔,都是 Opus 写的代码画的。

这篇教程记录我用 Opus 5.5 给王贰浪《把回忆拼好给你》做 59 秒高潮段 MV 的完整过程。最终成片包括 13 个镜头、逐字卡拉 OK 歌词,以及一条贯穿全片的「拼图月亮」故事线。整个过程我只发了三条消息,提供了四样东西:歌、歌词、参考视频,和一句「故事你来设计」。

成片开头的动态预览,几个镜头连在一起。

「为何一切,变得如此」------回忆里的雨后街角,我和她在一把伞下。

结尾「把回忆拼好给你」------月亮被补全,远方的她抬头看见了。

整体流程是一条直线:

  1. 准备歌曲音频、LRC 歌词和一个参考视频
  2. 安装 painted-animation skill
  3. 选高潮段、测节拍
  4. 写分镜
  5. 搭角色和场景,逐个镜头制作
  6. 渲染预览图审查,修改
  7. 渲染出片

下面按这个顺序,讲每一步我做了什么、Opus 做了什么、中间踩了哪些坑。整个过程你不用写一行代码,照着提示词和命令走就行。

准备工作

开工前准备三样东西,再装一个 skill。

材料 作用 注意事项
歌曲音频(mp3) 配乐、测节拍 必须和歌词是同一个版本
LRC 歌词文件 给每句歌词定时间、做卡拉 OK 带时间戳,如 [05:15.898]独自收集...
参考视频(可选) 告诉 Opus 想要什么风格和母题 我用的是一支拼图主题的纸艺 MV

第一条消息:视频和 LRC 一起发过去,Opus 先复述了它看到的风格和场景顺序,再指出两者歌词对不上。

补上 mp3 之后:这 59 秒是它自己挑的,分镜和角色设定也是它给的。

踩坑: 我一开始只传了参考视频和 LRC,Opus 发现参考视频里的歌词和 LRC 一句都对不上,于是停下来让我补传正确的音频。卡点只认你给的音频和 LRC,参考视频只用来定风格,两者必须配套。

安装 skill。 把这个 GitHub 链接发给 Claude,让它帮你装:https://github.com/Joker-chichi/claude-mv-skill。它会先读一遍脚本确认安全,然后弹出一张 skill 卡片,点保存就装好了。这个 skill 叫 painted-animation,改编自一支爆火 MV 的开源工程,内置:

  • 水彩笔刷引擎(p5.js + p5.brush)和逐帧渲染脚本
  • 角色 Clawd:31 种表情、5 个转身视角、各种帽子和表情符号
  • 节拍检测脚本和逐字卡拉 OK 歌词模块
  • 一份动画指南:不写字、每个镜头都有事件、每个接缝都有转场等规则

skill 自带的角色 Clawd 和它的 31 种表情。这次的两个主角就是在它的基础上换了颜色、加了配饰。

有了这个 skill,Opus 不用从零设计工具链,直接在这个工程上创作。比工具本身更重要的,是那份动画指南:告诉 Opus 什么样的画面会显得「AI 味」(角色太小、动作没有预备、事情一闪而过观众看不懂),让它从一开始就绕开这些坑。

安装好之后,对话里输入 /painted-animation 就能召唤它。

在哪儿做。 全程在 Claude Cowork(网页版)里就能跑完:装 skill、传音频和歌词、写代码、云端渲染都在对话里完成,不用另外装软件。只有想把完整画质渲快一点时,才需要把工程包拿到本地,走第五步的本地流程。

第一步:选段与测节拍

整首歌 5 分 47 秒,所以我只做 40~60 秒的高潮。Opus 选了 4:48~5:47 这 59 秒:「独自收集两个人之间的回忆」唱两遍,最后落在歌名那句「把回忆拼好给你」,结尾自带情绪收束。

选好段后,它用 skill 自带的 beat_grid.py 测节拍,结果是:

  • 速度 80.1 BPM,一拍 0.749 秒
  • 一句歌词 ≈ 4 拍 ≈ 3 秒,长句(带逗号的)约 6 秒
  • 剪辑起点放在第一句歌词前一小节的拍上(288.67 秒),这样视频的第 0 秒刚好是一个拍点

然后用 ffmpeg 剪出这段,加 0.5 秒淡入和 4 秒淡出。LRC 的时间减去 288.67 秒,就是视频里每句歌词的出现时间。

为什么要测节拍: 角色的待机晃动、烟花爆开、镜头切换都锁在拍子上,画面才会「跟着音乐动」。代码里只要设置 bpm: 80.1, offset: 0,整片就共享一个节拍。

节拍测出来以后有个很实用的推论:一句歌词只有 3 秒左右。 这意味着每个镜头只能讲清楚一件事。如果一句歌里又想让角色走路、又想让她哭、又想切换场景,观众一个都看不懂。所以 skill 才强调「先拿 LRC、先测节拍,再写分镜」:凭感觉估的时长往往比实际长一倍。

反过来,带逗号的长句(「为何一切,变得如此,无法回到过去」)有 6 秒,刚好留给最重的剧情:她碎成拼图飞走、拨钟被弹回,都放在这两句上。

第二步:创作方向与分镜

skill 会用一句话问你创作方向:想讲什么故事、什么情绪、有没有想反复出现或不想要的画面。可以留空。我的回答只有一句:「故事你来设计,没想法就参考我给的视频。」

Opus 从参考视频里提炼了拼图这个母题,写出了这样的分镜:

  • 一句话故事: 分开以后,我在小阁楼里一个人把回忆一片片拼起来;拼着拼着会哭,想回到过去却回不去;最后我把拼好的回忆变成一轮完整的月亮,挂在她那边的天上。
  • 角色: 「我」是陶土色小方块,围红围巾;「她」是澄蓝色(对应歌词「澄蓝色的你」),头戴小花。
  • 配色弧线: 深夜靛蓝(孤独)→ 回忆里的暖黄(甜)→ 雨夜冷蓝(失去)→ 满月暖金(释怀)。
  • 首尾呼应: 开场是一轮缺了一角的拼图月亮,结尾那一块被补上,变成满月。

12 句歌词各配一个镜头,加上一个前奏镜头,共 13 个。下表秒数从剪辑起点算起,第 0 秒即 4:48:

时间 歌词 镜头
0--3.3 秒 (前奏尾) 窗外缺角的拼图月亮,镜头下摇到独自在阁楼的我
3.3--6.0 秒 独自收集两个人之间的回忆 我把一片回忆按进拼图板,它亮了一下
6.0--8.9 秒 即使每当到这时候我都会哭泣 捧着伞下那一片,笑着笑着哭了,窗外下起雨
8.9--15.1 秒 为何一切,变得如此,无法回到过去 钻进回忆:雨后街角伞下两人,她碎成拼图飞走
15.1--17.9 秒 但我仍愿意感谢你给过我爱情 擦干眼泪,把拼图贴在胸口
17.9--21.0 秒 每一场风景都是我们爱的证明 平移三幅回忆:落日、盆栽开花、烟花
21.0--27.1 秒 就算如今,天各一方,祝你余生动听啊 拼图缝把画面一分为二,我的歌飘到她那边
27.1--29.9 秒 独自收集两个人之间的回忆 音符变成拼图,像归巢的鸟飞回拼图板
29.9--33.2 秒 即使每当到这时候我都会哭泣 一边哭一边继续拼,雨渐渐停了
33.2--38.9 秒 为何一切,变得如此,无法回到过去 想把钟拨回去,指针两次弹回,最后接受
38.9--42.0 秒 但我仍愿意感谢你给过我爱情 最后一片是心形的,按进去整幅亮起
42.0--44.9 秒 每一场风景都是我们爱的证明 镜头拉远:完整的画是伞下的我们
44.9--59 秒 就算如今,天各一方,把回忆拼好给你 一片光飞上天补全月亮,远方的她抬头挥手

小技巧: 同一句歌词重复时,第二遍要「升级」而不是重拍。比如两次「无法回到过去」,第一次是她碎掉飞走(悲伤),第二次是拨钟被弹飞(带一点好笑的无奈)。

分镜画面精选

按剧情顺序挑了几个镜头,「拼图」是一路串下来的。

第一幕:一个人的阁楼。 镜头从缺角的月亮向下摇,落到独自拼图的我身上。拼图板上还有大片深色空位,每放上一块就亮一下。

3.3 秒「独自收集两个人之间的回忆」:一片回忆飞向拼图板。

6.0 秒「我都会哭泣」:笑着笑着眼泪掉下来,窗外开始下雨。镜头随后以一个拼图形状的光圈钻进这片回忆。

第二幕:回不去的过去。 回忆里是暖黄色的雨后街角。我转头想牵她,她却碎成一堆蓝色拼图飞走,整条街的颜色也跟着褪成冷灰。

11.7 秒「无法回到过去」:她在我伸手的一瞬间碎成拼图。这是全片情绪最重的一个镜头。

17.9 秒「每一场风景都是我们爱的证明」:镜头平移过三幅回忆,这是其中一幅------她浇水,盆栽开出了花。这个细节来自歌曲前面的歌词「帮我照料装着梦的盆栽」。

第三幕:天各一方。 一条拼图缝把画面切成两半:两个屋顶、两个人,头顶却是同一轮月亮。我哼的歌变成金色音符,飘过拼图缝到了她那边。

21.0 秒「就算如今,天各一方,祝你余生动听啊」。

27.1 秒第二遍「独自收集...」:音符变回拼图,像归巢的鸟一样从窗口飞进来,落进拼图板。

第四幕:拼好,然后放手。 想拨回时钟却被指针弹飞,我坐在地上叹了口气,接受了。最后一片是心形的,按进去,整幅画亮了。

33.2 秒「无法回到过去」第二遍:同一句歌词,这次是带点好笑的无奈。

38.9 秒「但我仍愿意感谢你给过我爱情」:拼图完整了,是我们俩在伞下。

49.9 秒「把回忆拼好给你」:一片光飞出窗外,补上了月亮缺的那一角,和开场首尾呼应。

第三步:搭建角色、场景和道具

代码分成两个文件:hj_set.js 放世界、角色和道具,hj_shots.js 放 13 个镜头。先搭好「布景」,镜头只管调度。

角色不用从零画。 两个主角都是 skill 自带的 Clawd 换了颜色:「我」加了一条会飘的红围巾,「她」是澄蓝色加一朵小花。这样 31 种表情和表情切换时的预备动作(睁眼、挤压、回弹)都能直接用。写「先开心,1 秒后变伤心,1.9 秒后哭」,就会自动演出来。

场景:

  • 我的阁楼:斜屋顶、小窗、窗外的拼图月亮、下雨开关、墙上的钟、小桌和小凳子,还有一个「暖色程度」参数,结尾时房间会慢慢变暖
  • 回忆里的雨后街角:楼房、路灯、倒映着天空的水洼,可以从暖黄渐变到冷灰
  • 两个屋顶:可以各占半个画面,用来做「天各一方」的分屏

道具:

  • 拼图块形状生成器:给出四条边是凸、是凹还是平,就能画出任意拼图块
  • 4×3 的拼图板:每一块在哪个时间点被放上去都写在一张表里,空位显示成深色凹槽,放上时会发一下光
  • 拼图拼完的画:伞下的两个小人、雨后的街和太阳
  • 缺一块的拼图月亮、雨伞、钟、音符

搭完之后,Opus 先把所有东西摆在一张「试拍图」里看效果,确认角色、围巾、拼图板、月亮都画对了,再开始写镜头:

第一张试拍图:阁楼、钟、拼图板、两个主角全部同框。这张图还暴露了一个问题:月亮上的缺口是一个方块,不像拼图,后来改成了真正的拼图形状。

先把「长什么样」定下来,之后 13 个镜头都只是在调动这些已经画好的东西:换机位、换表情、换光线,风格就不会跑偏。

一个反直觉的规则:画面里不写字。 除了底部的卡拉 OK 歌词,整片没有标题、标签或对白框。角色的情绪靠表情和头顶的小符号(❤、❗、音符、雨云)来表达。

第四步:逐镜头制作与预览审查

光看代码看不出动画好不好,所以每写完一批镜头,Opus 都会渲染一张联系表(contact sheet):每隔 0.4~0.6 秒截一帧,拼成一张大图,然后自己「看图」找问题。

一张真实的审查联系表,覆盖「三幅风景」和「天各一方」两个镜头。每格左上角是时间,从左往右读就是观众看到的顺序。

这一步是整个流程里最值得认真做的。Opus 写代码时是「看不见」画面的,只有渲染出来自己看一遍,才知道哪里不对。我这片前后渲了十来轮联系表,每轮 6~24 帧。

它在联系表里发现并修掉的问题:

镜头 发现的问题 怎么改的
三幅风景 画框很大,里面的小人太小,山坡超出画框 小人放大一倍,山坡改成不会越界的形状
三幅风景 浇水壶悬在半空,没有握在她手里 挂到她身侧
烟花 只爆了一朵,其余的时间点已经在镜头外 爆点间隔改成半拍
天各一方 两个角色和音符太小,看不清 角色放大,音符改金色加光晕
拨钟 小人够不到钟,「拨回去」的动作看不懂 钟挂低、加小凳子,镜头推近,弹回时加「❗」
结尾 最后的入场时间算错,光圈收拢来不及播完 重新分配最后 11 秒的节奏
拼图板 画中的爱心飘到了画框外面 移到两个小人中间

举两个例子。

例一:风景画太空。 第一版里画框很大,小人只有指甲盖大小,山坡还溢出了画框。Opus 先把小人放大,再渲一轮发现山坡还是越界。下面就是那一轮的审查图,右上角的落日画里,紫色山坡跑到了画框外面:

修改前。修改后的样子可以对照上面「分镜画面精选」里的盆栽那幅。

例二:拨钟的动作看不懂。 第一版钟挂得太高,小人站在凳子上也够不到,观众只看到一个小人在钟下面挥手。Opus 把钟挂低、凳子挤过去、镜头推近,让小人的手真正碰到指针;指针弹回时加一个「❗」,第二次弹回直接把它弹下凳子。

修改后的拨钟镜头:爬上凳子 → 拨指针 → 被弹开 → 再拨 → 摔下来 → 坐着叹气,一句 6 秒的歌词里讲完一个小故事。

审查时主要问这几个问题:

  • 每个镜头只看联系表,能不能看懂发生了什么?
  • 角色够不够大,和背景分得开吗?
  • 拿着的东西碰到手了吗?脚踩在地上了吗?
  • 每个接缝都有转场吗?我这片用了拼图形状的收放光圈、笔刷擦除和镜头推进窗外三种。
  • 一个重要的信息,观众有没有足够的时间看懂?

第五步:渲染出片

水彩笔刷非常吃显卡,在哪里渲染决定了要等多久。我这次的实测数据(全片 59 秒):

方式 画质 每帧耗时 全片耗时
云端,完整画质 1080p、24 帧、水彩纹理 约 50 秒 约 20 小时
云端,草稿模式 半分辨率、12 帧、平涂 约 4 秒 约 50 分钟
本地有显卡的电脑,完整画质 1080p、24 帧、水彩纹理 约 1~3 秒(估算) 约 0.5~1 小时

云端那台机器没有 GPU,走的是软件渲染(soft-gl),每帧就要 50 秒;本地有显卡走硬件加速,同样的画面 1~3 秒就出。

我两条路都走了一遍:先在云端出一版草稿,用来确认节奏和故事;再把工程包拿到自己电脑上渲完整画质。

草稿和成片的区别主要在质感:草稿的色块是平涂的,每秒 12 帧会有点一顿一顿;完整画质会多出水彩的晕染和纸纹,动作也更顺。但分镜、节奏、卡点和歌词两者完全一样,所以草稿完全可以用来判断「这个故事行不行」。本教程里的所有分镜截图都是完整画质的单帧。

本地渲染的步骤:

  1. 安装 Node.js、Google Chrome 和 ffmpeg
  2. 解压工程包,在文件夹里运行 npm install
  3. 先渲一张测试图确认能跑:node render.mjs --sheet=10.5,40.4 --cols=2 --w=960 --out=out/check/test.jpg
  4. 渲染全部帧(可中断,再运行会接着渲):node render.mjs --frames --workers=4
  5. 合成带音乐的 MP4:node render.mjs --encode --audio=assets/clip.m4a --out=out/MV.mp4

提醒: skill 的规则是永远不自动开始整片渲染,而是先问你要本地还是云端。云端渲完整画质太慢,不推荐。

踩坑记录与技巧

  • 音频和歌词必须配套。 参考视频只用来定风格,卡点只以你给的音频和 LRC 为准。
  • 先做高潮段。 整首歌太长,代码量和渲染时间都会翻倍,先用 40~60 秒验证效果。
  • 网络受限时的安装问题。 我这次的云端环境连不上 npm 和 Google Fonts,Opus 改从 GitHub 下载 p5 和 p5.brush,歌词改用系统自带的思源宋体。在自己电脑上一般不会遇到。
  • 没有显卡就用草稿模式。 Opus 给渲染器加了两个开关:--fast(水彩填充换成平涂)和 --half(半分辨率),预览速度快了十几倍。
  • 小心「缩到 0」的形状。 结尾那个拼图光圈收到尺寸为 0 时,渲染器直接报错中断。修法是尺寸太小时直接用纯色盖住整个画面。
  • 画面里不要写字。 想表达「我很想念你」就画角色哭,不要举一块牌子。
  • 重复的歌词要升级而不是重拍。 第二遍副歌可以换一个角度讲同一件事。
  • 要求 Opus 用「看图」来审查。 它把联系表渲出来自己看,才发现了浇水壶悬空、小人够不到钟这类只看代码发现不了的问题。

可直接复制的提示词

三条消息原文如下,可以直接照抄:

  1. 装 skill: 「https://github.com/Joker-chichi/claude-mv-skill 你先来安装这个 skill 吧」
  2. 开工(附上参考视频和 LRC): 「/painted-animation 参考第一个视频是爆火的 MV,和我给你提供的歌词 LRC,帮我重新设计镜头,做一个类似的视频吧」
  3. 补音频并定范围(附上 mp3): 「/painted-animation 我只要 40-60s 的高潮部分,故事内容你来设计就行,没有想法就参考我给你的」

想要更有个人风格的片子,可以在第 3 条里多说一句创作方向,例如:「故事是一对异地恋人,整体温暖不要太伤感,希望反复出现纸飞机,不要下雨。」

总结

用 Opus 5.5 做 MV,你提供的是歌、歌词、参考视频和一个方向,它负责分镜、写代码画画、自己看图修改。真正的瓶颈是渲染:没有显卡就先出草稿看效果,完整画质拿到自己电脑上渲染。

相关推荐
古雨蓝枫1 小时前
DeepSeek Harness 插件开发进阶:从 Host 工具到 Client UI
ai·ai编程·deepseek·dsh
season_zhu1 小时前
Skills For Real Engineers 系列之二:grill,把需求想清楚,也别把自己问进死胡同
ios·ai编程
独隅2 小时前
Claude 新手入门与高效调用指南
claude
前端双越老师2 小时前
程序员 1v1 访谈系列第七期:失业半年所想到的
agent·ai编程·全栈
mudtools2 小时前
一份声明,多份产物:飞书 SDK 的 AI 工具面是怎么生成的
人工智能·.net·ai编程
独隅2 小时前
Claude 高效应用实战指南
android·java·开发语言·claude·claude code
李航19833 小时前
DeepSeek AI建模(二)让AI建第一个模型
人工智能·python·计算机视觉·ai·ai编程
ZhengEnCi4 小时前
把 AI 接口稳定接进业务:超时重试、密钥隔离与成本熔断实战
安全·架构·ai编程
技术小甜甜4 小时前
【Copilot】能选 Claude 和 GPT-6 了,Excel 分析该交给谁
gpt·excel·copilot·claude·microsoft365·gpt-6