笔记

Opus 5.5 动态设计全解析:那些刷屏的“一句话生成”视频背后隐藏了什么?

2026-10-17 #AI#Claude#Opus 5.5

9 月 22 日 Opus 5.5 发布后不到几小时,社交网络上就铺天盖地出现了各种产品宣传片、个人作品集(Showreel)甚至完整的音乐 MV——全部由代码渲染生成,而且配文无一例外都是“One Prompt(仅需一句提示词)”。

X 博主 Seeco 花了一整周时间把这些爆款视频逐一拆解。其中确实有几个是从 30 个词的简单提示词开始的;但真正惊艳的作品,背后往往是一份 9,500 字符的详尽需求文档(Brief)、一个 Skills 文件夹、两个 API 密钥,以及在作者睡觉时连续跑了 12 个小时的自动化流水线。

这篇文章将把这套工业级工程底座拆解开来,一步步带你搭建完整工作流,让你做出的第一个作品就摆脱“满大街同款 Demo”的廉价感。


核心速览 (At a Glance)

  1. 帧函数(Frame Function):Opus 只写代码,由无头浏览器将其转化为视频帧。
  2. 工程底座(The Rig):10 分钟搭好 Claude Code + FFmpeg + 无头浏览器。
  3. 需求文档(The Brief):用严谨的制片规范代替模糊的“感觉(Vibe)”。
  4. 视觉参考(The Reference):借用成熟的视觉语法,跳出模型的默认审美。
  5. 状态列表(State Lists):用单一容器的连续丝滑形变,干掉生硬的十几个特效转场。
  6. 弹簧与音效(Springs & Sound):赋予运动物理质量感,让音频与画面共享同一个时钟。
  7. 视觉质检(The Critic):让 Opus 审视自己生成的分镜缩略图(Contact Sheet),打分并修复最差的 3 处。
  8. 封装技能(The Skill):将整套管线打包,让下一支视频真正变成“一行命令”。

1. 帧函数:为什么 Opus 写的是程序而不是直接输出视频?

Opus 5.5 本身并不能直接输出 .mp4 文件。你在信息流里看到的每一段视频,本质上都是它写出的一个前端程序,再由外部工具把程序运行画面截成图片序列、最后合成视频。

整个体系的核心机密,在于一个只回答单一问题的纯函数:

1
seek(t) -> 精确绘制屏幕在第 t 秒时应该呈现的画面

对于一段 15 秒、60 fps 的视频,无头浏览器会调用这个函数 900 次,逐帧截图,最后交给 FFmpeg 拼接成视频文件。

  • 无定时器驱动(Nothing runs on a timer):正因为不依赖实时定时器,第 240 帧可以直接独立绘制,而无需从第 0 帧回放到第 239 帧。如果某个标题入场太早,只需改一个数字并局部重渲染即可。
  • 默认技术栈倾向:如果不加干预,Opus 默认会走“零依赖路线”——单个 index.html + Playwright 逐帧截屏 + FFmpeg 编码。Tommy Rossi 发现,即便环境里安装了 Remotion 或 HyperFrames,Opus 默认也会跳过它们。因此,如果你想用特定框架,必须在提示词中明确点名。
  • 代码渲染的边界:
    • 劣势领域:真实感摄影场景、复杂角色动画、自然的有机运动(这些依然需要实拍素材或传统视频生成模型)。
    • 统治级优势:产品宣传片、UI 动态交互、数据可视化故事、动态排版(Kinetic Typography)以及发布解读视频。

2. 工程底座:为什么只用网页版聊天窗口只能做出“平庸之作”?

网页版聊天应用能写出动画代码,但只有具备 Shell 权限的 Agent(如 Claude Code),才能真正把视频渲染出来、“听”到音频,并亲眼“看”到自己渲染出的画面帧。

有没有这个自我反馈闭环(Feedback Loop),就是全网爆款视频与普通玩家口中“感觉也就那样(a bit mid)”之间的根本分水岭。

10 分钟环境搭建

1
2
3
4
5
6
7
8
9
10
11
12
13
# macOS 使用 brew,Linux 请使用 apt
brew install node ffmpeg python
pip install numpy librosa soundfile

mkdir motion-studio && cd motion-studio && npm init -y
npm i -D playwright && npx playwright install chromium

# 可选:引入专业框架 Skills
npx skills add remotion-dev/skills
npx skills add heygen-com/hyperframes

# 启动 Claude Code
claude --model claude-opus-5-5

接着,在项目根目录下放一个 CLAUDE.md。Claude Code 每次运行时都会自动读取它,你的“制片厂铁律”就无需在每次对话中重复:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
## Render contract (渲染契约)
- window.seek(t) 唯一负责绘制第 t 帧画面,严禁任何其他机制驱动画面变化
- 渲染模式下严禁使用 CSS transitions、setTimeout 或 requestAnimationFrame
- 只能使用带种子(seeded)的噪声函数,严禁使用 Math.random()

## Look (视觉规范)
- 严禁出现:渐变背景上的居中大标题、所有元素无脑淡入(fade in)、角落小标签、UI 泛光特效(glow)
- 字体限制:严格限制一种展示字体(Display Face)、一种界面字体(UI Face)、一种强调色(Accent)
- 节奏要求:每 2 到 4 秒屏幕上必须出现新的视觉信息

## Sound (音频规范)
- 除非提供了外部音轨,否则配乐与音效(SFX)必须通过代码合成,响度统一标准化为 -14 LUFS

## Before you show me anything (交付前自检)
- 每个节拍(beat)抽一帧拼成缩略图样片(Contact Sheet),自我打分,并自动修复得分最低的 3 处问题

算力档位(Effort Settings):Opus 5.5 默认运行在 medium 档。所有出圈的“一镜到底”神作,跑的都是 xhigh 或 max 档。 经验法则是:局部小修小补用 medium,制作新片用 xhigh,而当视频前 3 秒直接决定产品发布生死时,果断拉满到 max。


3. 需求文档(The Brief):为什么“凭感觉写提示词”等于把决定权交给平庸?

如果你只告诉模型:“帮我做一个炸裂的产品视频”,模型就会用它所知道的最安全、最平庸的默认选项填满每一个未知的空白——那个让人审美疲劳的“渐变背景居中大标题”就是这么来的。

当然,那句著名的“一句话提示词”依然有它的测试价值:

1
2
make a dynamic 15-second motion graphics video that shows what an incredible motion designer you are, like it's your showreel for a résumé. go all out.
(制作一段充满活力的 15 秒动态图形视频,展示你作为一名顶尖动态设计师的实力,就像你简历里的个人作品集一样。全力以赴。)
  • 为什么这句话有效? “Showreel(作品集)”直接给 Opus 限定了一个规则成熟的影片类型;让模型展示“它自己”,意味着不存在理解错产品业务逻辑的风险;15 秒刚好容纳 6 到 8 个镜头;而“go all out”则在 xhigh 之上进一步压榨了模型的表现欲。
  • 但仅限于跑通测试:跑一次验证完你的环境就够了。成百上千人发送了这句一模一样的话,结果得到了几百个高度雷同的视频——athemeroy 数据集将这种现象称为“需求传染(Brief Contagion)”。

当你真正要推广一款产品时,在执行任何渲染任务前,Opus 需要一份真正的制片文档(Production Document)。Claude Code 团队的 Thariq 说得很直接:推文上写着“One-shot”,背后的提示词足足有 10,000 字符,还挂载了 Skills、参考示例和 API 密钥。

标准制片文档结构

1
2
3
4
5
FILM      观众看完后记住的一句话核心信息、目标受众、时长、输出画幅格式
ASSETS 真实 Logo、真实 UI 截图、品牌标准字体与色值、音频文件
VISUAL 从参考片中汲取什么元素、绝对要避开哪些陈词滥调(Clichés)
HARD LINE 底线红线:严禁捏造虚假的产品界面或业务数据指标
DELIVER 交付物清单:故事板、分镜缩略图(Contact Sheet)、最终成片、封面帧、完整源码
  • Tony Dinh 的 TypingMind 宣传片:他只多加了三行关键信息——产品网址、要求使用真实截图/Logo/品牌资产、以及“必须有配乐”。Opus 自己访问了网站,自动抓取了所有素材,不到 30 分钟就完成了整支视频。而在一年前,找外包机构做一支类似的发布视频花了他大约 1,200 美元。
  • Rob Hallam 的连续创作经验:在做完第一支作品集后,他在同一个会话窗口里要求制作一支产品广告,结果生成速度快得多——因为渲染器、音频合成器和导出管线都已经存在于上下文中了。建议:每个品牌固定维护一个专属会话(Session)。
  • 密钥安全:把 API Keys 放在 .env 文件中,在提示词里只通过变量名引用(achxvi 在公开他的 Pocketsflow 提示词时,就专门用了一个搞笑占位符来隐藏真实密钥)。

4. 视觉参考(The Reference):如何打破“千篇一律”的模型味?

如果不提供视觉语法(Visual Grammar),Opus 就会套用它自带的默认语法,导致完全不相干的产品视频看起来像失散多年的亲兄弟。

Rexan Wong 在研究了数十个爆款切片后发现了一个规律:直接点名某种风格,远比用形容词描述一种风格有效;而直接给出一张参考帧或一段参考视频,则能瞬间把节奏、字体排版和转场逻辑全盘托出。

最管用的三种参考素材:

  1. 你钟爱的某支视频里的单张静帧;
  2. 一段由 Opus 调用 FFmpeg 自动抽帧分析的短视频切片;
  3. 你自己过往作品的本地文件夹(例如 Pleometric 的 TikTok 风格短片就是从另一个爆款动画的单帧衍生出来的;而他的 Donald 风格短片则直接指向了他私人的 PC-98 艺术画廊——这是一个别人绝对无法复刻的独门素材库)。

视觉参考提取工作流提示词

1
2
3
4
5
6
Reference: ./refs/launch.mp4
1. 使用 ffmpeg 每 0.5 秒提取一帧画面,并仔细研究它们
2. 编写 docs/style_guide.md:包含十六进制色板(Hex)、字体排版、镜头时长分布、转场方式、运镜逻辑、颗粒感(Grain)
3. 编写 docs/shotlist.md:按照上述风格,为关于 [SUBJECT] 的 [DURATION] 秒视频编写分镜表
4. 只提取视觉语法,严禁照搬参考片中的具体主体、Logo 或文案
5. 将这两个文件展示给我,在我确认 OK 之前,不要编写任何代码
  • 真实资产核验:制作产品视频时,可以让 Opus 直接从线上网站抓取真实界面,但你必须亲自审核这份资产清单。如果缺少某张关键截图,Agent 应该停下来向你索要,而不是自己画一个看着很像的假界面。
  • 把技术选型留给模型:Pleometric 曾建议模型使用 p5.js,结果 Opus 自己手写了一个专属的纸张质感渲染器,效果反而更好。你只需明确视觉效果和边界限制,具体的技术实现让模型自己决定。
  • 去哪里找优质参考片?:whatships.com(专门收集优质产品发布视频)、Dribbble Motion 板块、以及你竞争对手的发布会视频。

5. 状态列表(State Lists):为什么“一镜到底的连续形变”秒杀十个花哨特效?

“放大、变形、加粒子特效”——这叫动作清单(List of Activity),不叫故事。真正的故事板(Storyboard)定义的是观众在每一秒建立的认知:

1
2
3
4
5
00-02s  HOOK (钩子)     一个瞬间抓人眼球的画面,赢得注意力
02-05s PROBLEM (痛点) 把用户遇到的阻碍与摩擦直观呈现在屏幕上
05-09s REVEAL (揭晓) 通过一次真实的交互操作,自然引出产品
09-13s PROOF (证实) 用一个真实界面或核心数据支撑你的主张
13-16s CLOSE (收尾) 干净利落的定格状态 + 清晰可读的行动号召(CTA)

发布周被收藏次数最多的提示词,是一份 XML 规范文档。@twoclipping 的 UI 连续形变视频借此斩获了 90.7 万播放和 1.9 万收藏,而 @verbove 的 MakerMap 产品片也复用了完全相同的结构。

这两支神作背后的核心思想高度一致:全片只有一个主容器,通过不断改变尺寸、圆角半径和颜色,从一个状态丝滑演进到下一个状态;一个鼠标光标通过真实的点击驱动每一次变化;且最后一帧与第一帧完美重合,实现无缝循环播放(Loop)。

1
Logo → CTA 按钮 → 邮箱输入框(伴随打字动画) → 加载动画(Loader) → 成功对勾 → 数据看板(Dashboard) → 图表自动绘制 → 悬浮提示框(Tooltip) → ⌘K 命令面板 → 弹窗提示(Toast) → 回到 Logo
  • 每个节拍(Beat)都必须具备三要素:起始状态(Entry State)、结束状态(Exit State)以及它存在的理由。如果 Agent 说不出第 4 个镜头为什么存在,那就直接砍掉第 4 个镜头。
  • 剧中剧模式(The Story Version):NFT_Chen 让 Opus 先用代码写了一个带时间轴、音频波形和导出按钮的“卡通版视频剪辑软件界面”,然后把整支宣传片放在这个虚拟剪辑软件的预览窗里演绎。一个虚拟的 UI 外壳就像一个天然的摄影棚,里面每个元素的状态都清晰可控。

6. 弹簧与音效:为什么廉价的动画一眼就能看出来?

固定缓动曲线(Easing Curve,如简单的 ease-in-out)只是机械地从 A 点滑到 B 点;而具备物理质量感(Mass)的运动,会先加速、越过终点产生微妙的回弹(Overshoot),最后稳稳落定。

解析解弹簧函数(Closed-form Springs)既能提供这种真实的物理质感,又能保持作为时间 $t$ 的纯函数特性,从而确保 seek(t) 的绝对确定性。当一个属性(比如光标位置或容器宽度)需要连续多次改变目标值时,不要重置弹簧,而是为每一次变化叠加一个独立的弹簧脉冲:

$$\text{track}(t) = v_0 + \sum (v_i - v_{i-1}) \times \text{spring}(t - t_i)$$

1
track(t) = v0 + Σ (v_i − v_(i−1)) × spring(t − t_i)

靠这个公式,哪怕直接跳到第 812 帧,也能瞬间算出精确位置,完全不需要从第 0 帧一路物理模拟到第 811 帧。

  • 分级赋予物理规则:
    • 小型 UI 控件:干脆利落地吸附,几乎不留回弹;
    • 大面板(Panels):沉稳落定;
    • 摄像机运镜:极度平滑,让人几乎察觉不到镜头在动;
    • 核心大标题:重重砸下,并保持足够长的静止时间供人阅读;
    • 品牌吉祥物(Mascots):故意设计明显的Q弹跳跃感。
    • 记住:如果画面里所有东西都在回弹,那就没有任何东西显得精准。

音画同源(Sound on the Same Clock)

声音与画面运行在同一个时间轴时钟上。Rob Hallam 起初以为他视频里的音效是后期加的,结果发现那是直接由代码生成的;@oozn 的乔布斯传记短片更是直接用 Node.js 合成了整条配乐,23 个转场严丝合缝地卡在 120 BPM 的节拍上。

如果你使用的是外部现成音乐,在写动画代码前,先用脚本测量音轨数据:

1
2
# 使用 librosa 提取 BPM、节拍点、重拍(Downbeats)和打击点(Hits)
python beats.py song.wav > beats.json
  • 卡点铁律:常规状态切换卡在普通节拍(Beats)上;重磅画面揭示卡在强拍/小节首拍(Downbeats)上;鼠标点击和呼啸转场声(Whooshes)卡在打击音效点(Hits)上。
  • 盲听测试(The Blindfold Test):闭上眼睛只听视频的声音。如果脱离了画面,声音听起来毫无起伏与结构感,说明你的声音设计还没做完。

7. 视觉质检(The Critic):为什么必须逼 Opus 亲眼检查它渲染的每一帧?

Opus 5.5 具备强大的多模态视觉阅读能力,这意味着它可以亲自检查自己刚刚渲染出来的画面。 几乎所有引爆社交网络的短片,背后都有这个关键动作。

@mablesjoseph 曾坦诚公开过他那支水彩风格短片的幕后数据:总共调用了 163 次模型,耗时近 7 个小时。 Drew 在发布日当天斩获 170 万播放的作品,在成片前也经历了多轮肉眼可见的修正清洗。

不要傻傻地把完整视频导出十遍、从头到尾看十遍。让 FFmpeg 自动生成质检证据包:

1
2
3
4
5
contact sheet (分镜缩略图)  每秒抽 2 帧,每行排 6 张拼成大图
strip (高速运动切片) 在运动最剧烈的片段前后,连续截取 12 帧
phone test (移动端可读性) 将画面缩放到 360px 宽度,检查小屏阅读体验
loop check (循环衔接检查) 将视频首尾相连播放两遍,检查接缝是否顺畅
determinism (确定性校验) 将第 300 帧独立渲染两次,校验文件 Hash 必须完全一致

接着,给 Opus 下达一份带牙齿的严厉质检任务(Critique Task):

1
2
3
4
只根据实际渲染出的画面帧进行评判,完全忽略你原本“打算”做出什么效果。
按 1-10 分对以下维度打分:前 2 秒吸引力(Hook)、手机端可读性、运动质感、视觉丰富度、音画同步率、品牌还原度。
列出最严重的 3 处缺陷,必须附带精确时间戳、画面证据以及局部修复方案。
仅针对有问题的这几秒打补丁、局部重渲染,循环往复,直到所有维度的得分都达到 8 分以上。

重点抓捕的典型 Bug:文字重叠、该用缓动的地方变成了生硬平移、残留的角落小标签、缩放后模糊发虚的字体、画面毫无动静的“死拍(Dead Beat)”,以及循环衔接处的卡顿跳帧。


8. 封装技能(The Skill):让你的下一支视频真正只需“一句话”

如果整支视频的决策过程只留在聊天记录里,那你只是撞大运打出了一次好局。把所有工程决策沉淀为本地文件,让下一次运行可以直接读取复用:

1
2
3
4
5
6
7
8
motion-studio/
├── brief.md # 核心目标与产品事实信息
├── style_guide.md # 色板、字体、运动规范、严禁使用的默认套路
├── shotlist.md # 节拍点、状态演进、时间戳、镜头目的
├── assets/ # 经审核确认的 Logo、真实界面截图、音频文件
├── src/ # 支持 seek(t) 的动画组合与核心渲染代码
├── reviews/ # 历次生成的 Contact Sheets 缩略图与缺陷修复记录
└── out/ # 按不同画幅比例导出的最终成片

通宵挂机必备:质量门禁(Gates)

Donald 只口述了五分钟需求就去睡觉了,一觉醒来得到了一支 142 秒的音乐 MV,随后狂揽 210 万播放(他的完整提示词长达约 9,500 字符;而 @pradeepXkapoor 的“Pip”机器人短片更是用了 19,000 字符的巨型 Brief)。

想要放心让 Agent 长时间自主运行,必须设置阶段门禁(Gates):

1
2
3
4
5
6
GATE 1  参考片与产品真实资产审核通过
GATE 2 视觉规范(style_guide.md)与分镜表(shotlist.md)审核通过
GATE 3 每个镜头的静态关键帧渲染完成,并通过视觉质检
GATE 4 输出 960x540 分辨率的动态分镜预览(Animatic),带上占位音频
GATE 5 全尺寸完整渲染、细节打磨、正式合成音效与配乐
GATE 6 多画幅版本导出、无缝循环检查、提取封面帧、生成 README 文档

在两个门禁之间,Agent 可以连续自主工作数小时。遇到缺失的界面截图会自动作为阻塞项停下提问;遇到不明确的参考风格,会先询问或渲染单张测试帧,而不是闷头渲染出 900 帧精美但方向全错的废片。

  • 生成后描摹(Generate-then-trace):这是 Donald 的核心杀招——先用 Seedance 2.5 生成带有复杂角色和物理规律的基础视频片段,然后让 Opus 用 JavaScript 在其之上逐帧重绘整部影片,最终观众看到的完全是由代码绘制的风格化图层。John Heibel 在 GitHub 上斩获 1.1K Star 的 PDoom 仓库则展示了多子智能体(Subagent)版本:由主 Opus 编写 ANIMATION_GUIDE.md,然后同时指挥多个并行 Worker 分头制作九个章节。
  • 多画幅原生适配:每一个宽高比(横屏、竖屏、方屏)都应该从同一条时间轴代码中原生计算得出,绝不能靠简单粗暴的画面裁剪(Crop)。竖屏版自动放大字号、减少同屏元素;方屏版收紧停顿节奏;宽屏版则展示更多空间上下文。

当你把以上所有流程打包封装成一个 Claude Skill 后,制作下一支视频的整个过程就会真正浓缩为一行命令:

1
/motion-reel for [URL], 20s, vertical, reference ./refs/frame.png
  • 商业变现潜力:achxvi 现在已经把这套流水线直接包装成商业服务对外接单——包含配乐、任意风格的定制吉祥物、产品功能展示、片尾促销信息、支持任意语言并包含最多 3 次修改。他制作一支 38 秒的竖屏产品宣传片,全程仅需 45 分钟。
  • 推荐直接 Clone 的开源仓库:
    • PDoomVideo(学习大型音乐 MV 的多智能体协作管线)
    • ClaudeAnimationBase(最适合作为你自己的工程脚手架起点)

全景对照表:一套完整的动态设计工作室

核心模块 (Piece) 缺失时的典型翻车症状 (What goes wrong) 工程解法 (What fixes it)
1. 帧函数 (Frame Function) 渲染画面发生时间漂移,每次微调都意味着推倒重来 seek(t) 纯函数、固定随机种子(Seeded Noise)、禁用定时器
2. 工程底座 (The Rig) 模型是个“瞎子”和“聋子”,看不到也听不到自己的产出 Claude Code + Playwright + FFmpeg + CLAUDE.md
3. 需求文档 (The Brief) 模型用最平庸安全的默认套路填满所有未明确的设计细节 一句话核心信息、真实产品资产、明确的底线红线
4. 视觉参考 (The Reference) 你的视频和网上其他人的“一句话 Demo”长得一模一样 从单帧或参考切片中提炼生成 style_guide.md
5. 状态列表 (State Lists) 只有炫技的特效堆砌,完全没有叙事逻辑 定义带有明确起始状态、结束状态与存在目的的节拍(Beats)
6. 弹簧与音效 (Springs & Sound) 运动呆板廉价,音乐像后期随便贴上去的背景音 解析解弹簧叠加公式、beats.json 节拍分析、代码合成音效
7. 视觉质检 (The Critic) 第一版粗糙的渲染结果被直接当成最终成片发布 分镜缩略图(Contact Sheet)、多维打分、强制修复最差的 3 处
8. 封装技能 (The Skill) 每次做新视频都要从零开始折腾一遍 标准化工程目录、门禁机制(Gates)、/motion-reel 技能封装

为什么这件事真正值得关注?

一年前需要花 1,200 美元找外包机构制作的产品发布宣传片,如今借助一个封装好的 Skill 和自动质检闭环,一个下午就能在本地跑完。

第一个“一句话生成”的结果出得极快,这也是为什么它能瞬间引爆社交网络的时间线。但真正具有颠覆意义的在于:你的第 10 支视频会比第 1 支好得多——因为你的制片规范、确定性渲染引擎以及严苛的审片清单,会在每一次运行中不断复利积累。

等到下一次新产品发布时,你只需要替换掉产品 Brief 和界面截图资产,剩下的整座“动画制片厂”都可以原封不动地为你全速运转。


写在最后:真正的核心机密

  1. 提示词本身只占最终效果的 10% 左右,真正决定上限的,是包裹在提示词外面的那套工程脚手架(Harness)。
  2. 可寻址性(Seekability)是唯一绝对不能妥协的铁律:任何一帧都必须能够随时独立渲染,且每次渲染的结果必须分毫不差。
  3. 坚持只用真实的产品资产:Opus 可以极具创意地发明一个运镜轨迹,但它绝不应该去“发明”你的产品数据看板。
  4. 自我审片闭环(Critique Loop)是大多数人最容易跳过的一步——因为第一遍渲染成功往往会给人一种“大功告成”的错觉;但恰恰是这一步,构成了所有百万播放爆款视频的共同基因。

那么,如果现在对你的工作流做一次分镜缩略图测试(Contact Sheet Test),你觉得哪一个环节会第一个暴露问题?

(原文作者:@seeconvm | 整理与编译优化版)

评论
分享

评论