一条提示词?Opus 5.5爆火动画背后的八层真相
Opus 5.5没有视频生成器,所有“一条提示词”视频实际上都是代码渲染。一篇长文拆解了完整流程:环境、提示词、参考、弹簧、批评循环,一个都不能少。
seeco用一个Opus 5.5生成的视频在推特上刷了屏。一个卡通小人站在黑色键盘的Z键上,眼睛大而有神,微笑,手臂和腿是简单的线条画。发布者只配了一句话:One prompt in Opus 5.5, zero After Effects。看着确实不真实。
不过别急着相信。Opus 5.5是Anthropic在9月22日发布的新模型,它根本没有直接生成MP4的能力。所有你看到的“一条提示词”视频,实际上都是一段由模型写出的代码,被浏览器逐帧渲染,再用ffmpeg合成。而一位叫seeco的网友在这篇文章里把整件事拆成了八块。
1. 帧函数:为什么Opus写程序而不是写视频
核心是一个函数:seek(t),它回答一个问题,第t秒的画面上应该显示什么。无头浏览器调用它900次,抓下15秒视频的每一帧,ffmpeg把它们粘起来。没有定时器,所以第240帧可以独立渲染,不用重放前239帧。某条标题出现太早,改一个数字,重新渲染就行。
如果不外加约束,Opus会选零依赖路线:一个index.html,Playwright逐帧捕获,ffmpeg编码。适合这种方法的场景是产品广告、UI动效、数据故事、排版和发布会破题。真实感照片、复杂角色和有机运动,仍然要交给视频素材或视频模型。
2. 环境:为什么光有聊天界面只能得到平庸结果
聊天应用可以写动画。但只有带Shell权限的智能体(比如Claude Code)才能渲染、播放和查看自己刚生成的帧。这一来一回的反馈,正是爆款和“有点一般”之间的差距。
搭一套环境只要十来分钟:
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
npx skills add remotion-dev/skills
npx skills add heygen-com/hyperframes
claude --model claude-opus-5-5
然后项目根目录放一个CLAUDE.md,把渲染规则写进去。比如“window.seek(t)只负责画第t帧,其他什么都不能驱动画面”,“渲染模式下禁止CSS过渡、setTimeout和requestAnimationFrame”,“只用种子噪声,绝不用Math.random”。还要定下视觉禁令:禁止居中渐变标题、禁止所有东西淡入、禁止角落标签、禁止UI加光晕。每2到4秒屏幕上必须有新东西。
写进CLAUDE.md后,每次运行Claude Code都会自动读它,不需要重复交代。
3. 提示词:为什么“氛围提示”会留下每个决策悬而未决
如果只丢一句“做一个疯狂的产品视频”,模型会用最安全的默认值填满每个空白。所以你会看到那么多居中渐变标题。但一句打磨过的提示词仍然有用,seeco推荐的是这条:
“制作一个15秒的动态图形视频,展示你是一个多么不可思议的动态设计师,就像你的个人reel。全力以赴。”
“showreel”这个词给了Opus一个成熟的流派规则。把模型本身当主体,就没有产品可以搞错。15秒正好容纳6到8个镜头。最后加个“go all out”在xhigh努力级别之上再叠一层。不过,用这条跑通流程之后就该继续了,因为成百上千人发过同样的句子,得到的reel也相互押韵,seeco把这称为“提示词传染”。
一旦要卖真实产品,提示词就必须换成一份制作文档。Claude Code团队的Thariq说得很直白:帖子里说一句提示词,实际跑的是10k字符,带着技能、示例和密钥。
一个正面例子是Tony Dinh的TypingMind宣传片。他在提示词里多写了三行:产品URL、必须使用真实截图、必须带音乐。Opus自己访问网站,收集素材,不到30分钟完成。一年前类似级别的视频,他付过1,200美元。
4. 参考:为什么每条“单提示词”看起来都差不多
没有提供视觉语法,Opus就会用自己那一套,不相关的reel开始像兄弟姐妹。Rexan Wong翻了几十个爆款视频,总结出:命名一种风格比描述一种风格更有效,而一帧参考画面或一段短视频能一次性传达节奏、排版和转场。
有三种参考方式:一帧你喜欢的视频;一段用ffmpeg切出来的短片段;一个你自己的历史作品文件夹。用参考时,只取视觉语法,不要取主题、Logo或文案。具体做法是让Opus每隔半秒提取帧,然后写一份style_guide.md和shotlist.md。
还有一个提醒:产品宣传片应该让Opus从真实网站抓取真实界面截图,如果资产缺失,智能体应该停下来问,而不是画一张能乱真的假图。
5. 状态列表:为什么一个从不剪切的形状胜过十个特效
“缩放、变形、加粒子”是一串动作,故事板讲的却是每一秒观众知道了什么。这就是为什么最受收藏的提示词来自一段XML规范。@twoclipping用它做出了UI morph,907K观看,19K收藏;@verbove用同样的结构给真实产品做了MakerMap。
想法其实简单:一个容器在大小、圆角和颜色上连续变形;光标通过真实点击驱动每一次变化;最后一帧和第一帧匹配,让短片可以循环播放。
seeco还提到NFT_Chen的做法:先用Opus写一个带时间轴、波形和导出按钮的假视频编辑器,然后在这套假UI里编排整部影片。这套假UI就像一个电影布景,每个元素的状态都清清楚楚。
6. 弹簧和声音:为什么便宜的运动显得便宜
固定缓动曲线只是从A滑到B。有质量的运动会加速、略微过冲、再稳住。闭合形式的弹簧公式能在保持seek(t)确定性的同时实现这种手感。当某个值连续改变目标时,比如光标或容器宽度,应该在每次变化上叠加一个弹簧,而不是重启整个动画。
每种对象要有自己的运动规则:小UI快速吸附,面板沉静,相机几乎隐形地滑行,标题重重落下并停足够长的时间,吉祥物刻意弹跳。如果所有东西都过冲,就没有东西显得精准。
声音和画面必须在同一时钟上。Rob Hallam一开始以为reel里的声音是后期加的,结果纯代码生成。@oozn的史蒂夫·乔布斯传记片,用Node合成音轨,23个转场锁在120BPM上。如果你用自己的音轨,先用librosa提取BPM和节拍,状态变化落在节拍上,重大时刻落在强拍上,点击声和嗖嗖声落在打击点上。
盲测方法:闭上眼睛听音频。如果去掉画面就没有形状,说明声音设计没做完。
7. 批评:为什么Opus必须看自己的帧
Opus 5.5能读图,所以它必须检查自己刚渲染出来的东西。这是所有爆款视频的共性。
@mablesjoseph的水彩短片,前后调用了163次模型,接近7小时。Drew的发布日作品170万观看,依然能看出清理痕迹。不要用肉眼连续看十遍完整导出,用ffmpeg生成证据:联系表(每秒2帧,6列)、快动作附近的连续帧条、360px宽的手机测试、loop检查、确定性检查(第300帧渲染两次,哈希必须一致)。
然后交给Opus一个带牙齿的任务:只看渲染帧,不要看你本来想做什么。按钩子、手机可读性、运动、多样性、声音同步、品牌准确度打分。列出最差3个缺陷,带时间戳、证据和局部修复方案。修完重新渲染这几秒,重复直到每项8分以上。
常见问题:文字重叠、该缓动的元素在滑动、角落标签、模糊的缩放文字、一个没有任何事的节拍、循环点上的卡顿。
8. 技能:为什么下一个视频应该是一句话
如果电影的记录只存在于聊天记录里,那只是中了彩票。把决策放进文件,下一次运行才能读取。motion-studio目录应该有brief.md、style_guide.md、shotlist.md、assets/、src/、reviews/、out/。
夜间长跑需要门禁(GATE)。seeco列了6个:引用和资产批准、风格指南和分镜批准、所有镜头的静帧并批评、带占位音频的animatic、完整渲染、格式和检查。智能体可以在各门之间工作数小时。缺截图就是阻塞,引用不明确就要问,而不是先渲染900帧好看但错误的东西。
Donald的做法叫“生成后描摹”:先让Seedance 2.5渲染基础镜头(角色和物理),再由Opus用JavaScript在顶部重绘整部电影,观众只能看到代码画的那个图层。他的142秒音乐视频,提示词约9,500字符,睡了5小时一觉醒来就出片,最后拿到210万观看。John Heibel的PDoom仓库(1.1K星)展示了子代理版本:Opus写一份ANIMATION_GUIDE.md,交给九个章节的并行工作流。
格式方面,每个宽高比都应该从同一个时间轴导出,而不是从16:9中间裁一刀。竖屏用更大的字号和更少的元素,方形屏更紧的停留,宽屏更多空间上下文。
把这一切打包成skill,下一次的视频就真的变成一句话了:
/motion-reel [URL], 20s, vertical, reference ./refs/frame.png
总结
seeco最后用一张表总结了八块的要点。提示词只占结果的约十分之一,其他都是围绕它的“harness”。唯一不能弯折的铁律:任何一帧都必须独立渲染,每次都一样。真实产品资产只能用真的。批评循环是你忍不住跳过的,因为第一次渲染感觉有进展,而每个爆款都做了这一步。
PDF版全流程可以在这里拿。
那么,你的流程会在哪一步过不了contact sheet测试?
发布时间: 2026-10-26 11:18