← 开源提示词与工作流

代码动效提示词

我们做「代码写动画」视频时用的提示词库。素材来自开源合集 awesome-opus5-5-videos(MIT 许可,389 条爆款视频的原始提示词),我们把反复出现、效果最好的写法提炼成 8 个中文填空模板,大括号 {...} 里换成你自己的内容即可。

怎么用:把模板整段复制给 Claude(或任何能写代码的模型),填好大括号,让它先列出场景时间表,再写代码。我们自己的工作流用 Remotion 渲染,模板里的「落地」部分按 Remotion 写;用 HTML + 逐帧截图也一样适用。

模板里提到的小工具:beatgrid.py(分析配乐拍点)、contact.py(每拍出一帧拼成联系表)、kit/motion.ts(叠加弹簧的动画函数)是我们自己的辅助脚本,换成任何等价做法都可以。

通用要点:一个母题贯穿全片;时间和屏幕文字写死;第 1 秒必须有钩子;禁用 AI 味装饰(角落边框、霓虹辉光、满屏粒子);正式渲染前先出每拍一帧的联系表自检。


T1 自由发挥 showreel(短提示词,放手让 Opus 发挥)

用途:品牌/账号片头、10–20 s 自我介绍、「看看 AI 能做到什么」类的开场,也可以做纯代码动效片的第一稿。 出处:库里 87 条同源变体,原句来自 @ajith_io / @himanshutwtxs 等:

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.

为什么有效:给了身份(顶级动效设计师)、给了赌注(这是你的简历)、给了时长,其余全部放手。库里效果好的变体会再加 3–5 条硬约束,下面填空里的 ①–⑦ 就是从这些变体里挑出来的。


做一段 {时长,10–20} 秒的动态图形视频,主题是 {品牌/账号/产品},
像你作为顶级动效设计师的简历 showreel 一样。go all out。

① 画幅 {1080×1080 / 1920×1080 / 1080×1920},30fps;第 1 秒必须有钩子(1s hook)。
② 一个核心视觉母题贯穿全片(例如一个点、一条线、一个形状),每个场景都由上一个场景变出来,
   不用淡入淡出切换。
③ 配乐 {曲目路径},用 beatgrid.json:剪点落小节头,动作落拍点;最后 {x} 秒落版 {品牌字/口号}。
④ 调色板只用 {3–4 个色值};字体 {NotoSansSC 900 + 等宽}。
⑤ 展示的技法要有跨度:动态排版、形状变形、镜头推拉、粒子/3D 至少各一次,
   但要像精心的美术指导,不是特效拼盘。
⑥ 禁用:角落边框和角落小字这类 AI 味装饰、弹跳缓动、满屏粒子爆炸、霓虹辉光。
⑦ 最后一帧 = 第一帧,可循环。

先按拍点列出每个场景的时间表,再写代码;正式渲染前出每拍一帧的联系表自检。

变体加料(按需加一句):

  • 「every frame and every sound written in code, no image or video models」:纯代码,连音效也用代码合成。
  • 「compose the soundtrack yourself, fully synthesized in code」:自己作曲;但原作者反馈代码作曲很难听,我们默认用现成曲库或 AI 生成音乐(如 Suno)。
  • 「question your strategy and plan, if it doesn't feel like done by a pro designer, start over」:写完自我审查一遍。
  • 「weigh a few ideas first, pick the strongest, not the first web demo that comes to mind」:先比较几个方向再动手。

T2 UI 单形变产品片(一个形状不剪切,变成全部界面)

用途:App/SaaS/我们自己产品(声速、顺语)的功能演示。 出处:@twoclipping 的六段式模板,被 8 人以上转用:morse、demonugc、dzhohola、hicallmechai、nezbuilds、sanjeevn72;annacher 和 thegrootdev 在它基础上做了品牌版。 核心:一个元素贯穿全片,变大小、圆角、颜色,里面的内容带短模糊切换。一个光标用真实的点击和拖拽驱动每次变化。120 BPM,每拍都有事发生。


<inputs>
先问我:{产品名 + URL}、8–12 个要展示的 UI 状态(真实界面,不要占位)、每个状态里的真实数据、
品牌色(黑白 + 1 个强调色)、字体、画幅(1:1 / 16:9 / 9:16)、一首 ~120 BPM 的可商用曲子。
</inputs>

<direction>
Dribbble 级 UI 动效。一个形状,永不剪切:每个状态都是同一个元素改变尺寸、圆角、颜色,
内容用短模糊切换。光标用真实的点击、输入、拖拽驱动每次变化。暖灰画布、黑白组件、一个强调色 {#色值},
一个干净的 UI 字体。处处弹簧,最多一点点过冲。镜头缩放让每个状态充满画面。最后一帧 = 第一帧。
禁用:弹跳缓动、粒子爆发、辉光、UI 外框上的渐变、图标描边粗细不一、死时间、模板感。
</direction>

<structure>
120 BPM,{7} 小节,每拍都有事发生。
{状态1} → {状态2} → … → {状态N} → 回到 {状态1}
(例:按钮 → 加载 → 对勾 → 灵动岛 → 播放器 → 拖进度条 → 拖过头会拉伸的音量条 → 开关 →
 开关头变成液态 Tab 指示条 → Tab 展开成自绘图表 + 悬停提示 → 收成 ⌘K → 输入筛选 → 回车 → toast → 回到按钮)
</structure>

<build>(我们的 Remotion 版)

1. 一切样式都是 useCurrentFrame() 的纯函数;弹簧用 kit/motion.ts 的 springKeys(每次换目标叠加一个弹簧)。
2. Tab 指示条、开关头的前后两条边挂在不同的弹簧上,前沿先拉长。
3. 拖拽是直接操纵:按住时值由光标位置决定,松手后从当前位置弹回。
4. beatgrid.py 出拍点,从强拍开始;UI 音效按峰值对齐拍点。
5. CameraMotionBlur samples=4。
6. 正式渲染前每拍出一帧联系表,修掉不在拍上的、挤的、看不清的。
</build>

<gotchas>
被镜头缩放的元素不要 will-change;容器变形期间换字要有独立进出时间;首尾帧的光标位置和速度也要一致。
</gotchas>

先问我 inputs,然后把状态列表排到节拍网格上给我看,确认后再写代码。

T3 精确时间轴讲解 / 发布片(每段秒数 + 屏幕文字写死)

用途:新品/新模型发布的 15–30 s 讲解,数据可视化小段,产品功能片。 出处:@howdevelop(TanStack AI,15 s 精确分段 + 准确性护栏)、@brainextends(Spotify,18 s,每 0.9 s 一个镜头)、@alex-prompter(5 场景讲解:痛点 → 我做什么 → 3 步 → 1 个证据 → 署名)、@astrothewizard(光子旅程:真实模拟 + 真实数字 + 自检循环)。 核心:

  • 每一段有精确秒数和逐字写死的屏幕文字。
  • 每个转场本身演示一个功能,而不是一张标题卡换下一张。
  • 准确性护栏:不能说成已发布、不能把计划中的功能当成已上线。
  • 静音也能看懂。

为 {主题} 做一段 {15} 秒的动态图形讲解片,质感对标顶级开发者工具发布片:快、准、出人意料、可以直接开场。
以下面的事实为唯一依据:{贴入事实清单,带来源}。

格式:{1920×1080},30fps,正好 {15} 秒;重要内容放在中心安全区(竖版裁切也不丢)。
视觉:{底色} 画布,{品牌色} 做强调;排版清爽,界面碎片分层、数据流动、分支路径,镜头平滑且有纵深。
每个转场本身要演示一个功能,而不是一张标题卡换下一张。屏幕文字简短可读。
禁用:素材库画面、转圈 logo、假仪表盘、过量故障特效、没人看得清的小代码。
静音也要能看懂;配乐 {曲目},转场打点落拍。

精确分段:

- 0:00–0:02 钩子:{画面}。屏幕字:“{…}”
- 0:02–0:04 {…}:{画面}。屏幕字:“{…}”
- …
- 0:{xx}–0:{15} 落版:{名称} + {一句话};署名比主体小。末帧停够读完的时间。

准确性护栏:{例如:处于 RC 阶段,不要说成稳定版;计划中的功能不要当成已上线}。
真实数字尽量用真实模拟来呈现(例如:随机游走就真的跑随机游走,不要画一张示意图)。

做完后检查渲染结果:修掉被裁的字、弱转场、不在拍上的打点、看不清的帧,然后再交付。
目标是一支让人记住的片子,不是功能要点幻灯片。

T4 动态排版口号片(文字就是画面)

用途:品牌口号、金句、资讯标题的动态排版、片尾落版、城市片和广告的「大字」段、账号 bumper。 出处:

  • @techhalla:20 s bumper。口号锁死、三套字体分工、印刷错版、用出场字做遮罩、BANNED 清单。
  • @gdgtify《BUILD THE FLOOR》:每个词被分配一个建筑角色(过梁、吊挂的重物、支柱、开口、平台),角色由字形本身长出来;有 400 ms 的绝对静止;按语句节奏排,不硬卡鼓点。
  • @mounnna:logo 先画线框,再让低多边形碎片逐片飞入拼成。

做一段 {时长} 秒的动态排版片《{标题}》,用字体把一段 {口号/金句/短演讲} 演出来。
每一句都改变画面的结构;最后一句要落在前面的字亲手搭出来的东西上。

画幅 {1080×1920 / 1080×1080},30fps。
调色板(严格):底 {#…}、字 {#…}、强调 {#…};除此之外不用任何颜色。
字体分工:展示大字 {NotoSansSC 900}(每屏 1–4 个字);次级 {NotoSansSC 300};小标签 {等宽}。
字距:大字收紧,等宽放开。

文字(锁死,按顺序,不许加任何口号):

1. “{…}”  2. “{…}”  3. “{…}” …

中心规则:给关键字分配角色,例如 {「等」= 压下来的横梁;「声」= 撑起来的柱子;「地」= 平台}。
角色必须从字形本身长出来,不能在字后面另贴插图。

编排:{有配乐 → 每拍一个动作,逐字错峰 1/16 音符;无配乐 → 按语句、停顿、重音排提示表}。
至少一处 400 ms 的绝对静止。沉降用临界阻尼;只有基线允许弹性形变。
转场:用出场词的字形做遮罩揭出下一个词;互不相关的词之间用遮挡或对齐边缘过渡,不要插值路径点。
印刷错版(强调色偏移 2–4 px)只在重音帧出现。

禁用:AI 陈词滥调、软渐变、弹跳卡通缓动、粒子爆炸、假 HUD、长段落、PPT 感、紫蓝霓虹、玻璃拟态。
末帧可回到首帧循环(如果需要)。
先出每个重音一帧的联系表,修掉挤字、孤字、低对比,再完整渲染。

T5 风格化叙事短片(手绘 / 纸艺 / 沙画 / 像素 / 剪影戏)

用途:节日祝福、知识科普小故事、品牌故事、情绪短片里的纯动画段。 出处:

  • @songkeys:折纸 / 涂鸦风的人类文明到 AI 孵化,无对白、跨文化可懂。
  • @x4b47x:9:16 剪纸皮影戏,「家是什么」,代码合成音频。
  • @eric-khun:台湾黑熊中秋,角色特征逐条锁定、先调研真实习俗、繁中 + 英文。
  • @astrothewizard:光子旅程。给主角性格、真实数字、如实说明不确定性、视觉笑点、回呼。
  • @michaelzsguo:沙画讲 250 年美国史。
  • @itsolelehmann:火车窗外四季,布达佩斯大饭店风格。
  • @kamstudiolabs:45 s 无对白默片,声音讲一半故事;45 s 每个音符都来自可见碰撞的机器。
  • @zacxbt:像素巫师,128×96 逻辑分辨率、24 色固定调色板、整数缩放、姿态参数量化到像素网格。

风格速查(直接写进提示词里的风格名):

  • 手绘白板
  • 剪纸皮影戏
  • 折纸 / 涂鸦
  • 沙画
  • 纸艺 + 纸板手工(可配分形)
  • 圆珠笔素描 + Monty Python 太空明信片拼贴
  • 手绘铅笔 + 少量色差
  • Risograph 孔版印刷(撕纸拼贴风已经在用)
  • 示波器风
  • 玻璃金箔马赛克:瓷砖没粘牢,会翻起、飞走、再咔嗒归位(@zeezomb)
  • 16-bit 像素
  • 定格动画

做一段 {时长} 秒、{画幅} 的纯代码动画短片,风格:{风格名 + 一句参考}。
主题/故事:{一句话}。{可选:主角 = {角色},特征逐条锁定:{外形 1、2、3…},全片保持同一个角色。}

先调研:{真实习俗/数据/史实},把真实细节写进画面;数字要真实,并如实说明不确定性。
叙事:{无对白 / 少量文字},强叙事、有情绪弧线({起 → 承 → 转 → 合});
用视觉笑点和回呼保持注意力;{文字语言:简体中文(+小字英文)}。
画面语言统一:一套调色板、一套线条粗细(外轮廓粗、内部线细)、每个场景一个强形式创意。
{像素风专用:固定逻辑分辨率 {128×96},整数倍放大、关闭平滑,调色板 {24} 色,
 姿态参数平滑动画后量化到像素网格,读起来是 8–12 fps 的像素动画。}
声音:{配乐来源};音效和画面动作逐一对点(每次弹跳、啪、嗖、叮)。{可选:声音讲一半故事。}
用代码逐帧渲染,不用 AI 视频生成画面。{可选:允许用 Qwen-Image 出背景/角色素材,代码负责动画。}

质量第一:每个场景渲染静帧并严格自审,转场逐帧检查,音频混音用数字测量,改掉弱的地方再渲。
不要交第一稿。

T6 音乐驱动 MV / 卡点剪辑 / 无限缩放

用途:歌曲 MV、卡点快剪(城市片终章 16 拍、短片高潮)、循环无限缩放转场、demoscene 式视听同步。 出处:

  • @pound75423(日文):迷幻故障 MV 编辑规则。每拍换镜头、相邻两拍不重复姿势、低能量段让画面喘口气、特效强度按段落 40/70/100%、每小节头闪一个反相大字。
  • @koldo2k:无限缩放。镜头穿过复古物件从一个风景飞进下一个;3 层深度视差(scale = camera^Z);指数缩放、每段时长 ∝ log(zoom);96 BPM 8 小节 = 20 s 正好循环;贵的步骤前先截图确认。
  • @paranoidamerica:按 lyrics.txt 同步画面;用本地图像模型出素材,再用代码合成动画。
  • @gandamu-ml:先分析音轨分段,再按段落态度配效果。
  • @doubleunplussed:画面不必逐字对歌词,用圈内梗和典故去「致敬」。

为这首歌 {路径} 做 {全曲 / 片段 mm:ss–mm:ss} 的 {风格} MV,画幅 {…},30fps。

前处理:

1. 分析音乐:BPM、第一拍位置、每小节头、各段能量(前奏 / 主歌 / 副歌 / 落拍段)→ beatgrid.json。
2. 歌词时间:{.lrc 行首 + faster-whisper 词级时间戳;不要把歌词当 initial_prompt}。
3. 角色/素材:{抠图 + 白色贴纸描边 + 淡阴影 / Qwen-Image 出图 / H3 片段}。

剪辑规则:

- 每 {1 / 2} 拍切一次镜头,在 {全身 / 半身 / 眼部特写 / 双姿势并排 / 同姿势 5 连(色相各异)/ 场景图} 之间轮换。
- 相邻两拍不用同一姿势;低能量段用场景图或安静镜头让画面喘口气。
- 特效强度跟着段落走:前奏 ~40%、主歌 ~70%、副歌 100%(乘以 barEnergy)。
- 歌词不必逐字画出来,可以用典故、圈内梗、隐喻呼应。

效果库(每项写清触发时机):

- 拍点闪白:每拍闪一下就消失,小节第 1 拍最强,强度 ≤ 0.8。
- 画面撕裂:落拍瞬间横向错位 + RGB 分离,下一拍前复原,不能一直糊着。
- 万华镜:副歌每隔一小节把画面分成 8–12 片镜像扇形,缓慢旋转。
- 小节大字:小节头在画面中央闪一个大字 ~0.4 s,difference 混合。
- 无限缩放:每个物件的「镜面/玻璃」里就是下一个世界,填满画面时无缝切换;
  指数缩放、每段时长 ∝ log(zoom);图层视差 scale = camera^Z(Z 在 0.45–1.22 之间)。

正式输出前,给我看每个段落的截图一览。

提醒:卡点效果只在高潮段用,不要铺满全片。


T7 高光时刻 / 奖励演出特效(开箱、晋升、解锁、数字揭晓)

用途:游戏里的结算演出;资讯片里的「重磅数字揭晓」;品牌广告的高潮;城市片的荣誉/数据揭晓。 出处:@op7418(歸藏,中文)。这份提示词本身就写得很完整,原文照用: (原文见 awesome-opus5-5-videos 合集条目 op7418-814408)

五段演出节奏(缺一不可):预备(待机浮动、提示点击)→ 升级(跳起、翻转、落地挤压回弹、换等级色)→ 蓄力(~1 s,越抖越烈、缝隙透光、粒子内吸、音调上升)→ 爆发(泛光、冲击波三层、流光、金币宝石)→ 揭晓与结算(卡片弧线飞出、数字滚动、飞进余额)。

里面可以单独抽出来用的规则(写进任何特效段都适用):

  • 主角的外发光放在主体背后,只从边缘溢出,不能盖在主体前面把它糊白。
  • 揭晓时其他元素收起,背后换一层干净渐变幕布 + 缓慢旋转的柔光;幕布出现时隐藏其他 3D 物件。
  • 光芒用带渐变过渡的 conic-gradient,叠 2–3 层不同速度;光柱 5–7 道带模糊的光束扇形散开。
  • 闪白用径向泛光(screen 混合),强度 ≤ 0.8。冲击波画三层描边:宽而淡、中等、细而亮。
  • 彩带只在最高潮用一次。小卡片不塞小字,详细数值放到揭晓面板里滚动上涨。
  • 3D 描边用后期边缘检测(法线图 + 深度图),不要用「放大的黑色背面」;接缝主要靠法线判断。
  • 交付前在蓄力、爆发、揭晓、结算四个时刻各截一帧自检:主体有没有被遮?有没有过曝?有没有穿帮的描边线?小字能不能看清?

Remotion 视频版改法:原提示词是可交互网页(点击推进)。做成视频时,把「点击」换成节拍网格上的时间点,GSAP 时间线换成 springKeys,其余照搬。


T8 分镜锁定写法(给 H3 图生视频 / Qwen-Image 写提示词)

用途:短片、城市片和品牌广告里「让照片动起来」的 图生视频提示词,以及任何需要生成模型严格听话的镜头。 出处:@alexwtlf,2.2 万字的空间站 25 s 七镜头提示词(合集条目 alexwtlf-981005)。这是库里唯一一条专门写给视频生成模型的超长提示词,写法值得整套照搬。

结构(按顺序写):

  1. SCENE CONTEXT:一段话讲完整件事 + 时长 + 镜头数 + 机位集合(例如只有「窗外」「她的眼睛」两个机位)。
  2. LOCATION MAP:用数字和比例锁空间,例如「舷窗约 50 cm,她的头占直径一半,宇航员头盔占宽度三分之二,窗是他身高的四分之一」。对每个容易被模型画错的东西,先说它是什么,再说它不是什么:「是舷窗,不是穹顶,不是落地窗」。
  3. 每个机位的构图:每个物体在画面中的位置(左三分之一、上三分之一…)、占画面的比例、朝向;主体「永不越过中线」这类硬规则。
  4. CUT 列表:每个镜头写 时间段、机位、首帧状态、动作(带秒点:0:03.5 流星进画)、速度(「像慢速飞机划过天空」)、末帧状态。首帧和末帧写清楚,才能和下一镜衔接。
  5. OPTICS / CAMERA / PHYSICS / LIGHTING / AUDIO / STYLE:分别用一两句写死。
  6. POSITIVE LOCKS:结尾再列一遍最容易跑偏的约束,全部用肯定句(「全片都是夜晚」),不用「不要…」。角色要求「100% 匹配参考图」,同时说明「参考图的背景和排版不继承」。

对照我们现在的 图生视频提示词(「镜头缓慢推进 + 雾气流动 + 造型完全保持不变 + 无人物无文字变化」):

  • 要加的是比例锁(主体占画面多少)、首帧/末帧状态、动作速度的类比、反面锁(「是 X,不是 Y」)。
  • H3 单条只有约 5 s。一条 H3 = 一个 CUT,每条都写全这几项。
  • 先跑一条样片检查,再批量跑(城市片技能里已有的规则)。

画面(首帧):{主体} 位于画面 {位置},占画面 {比例};{背景} 在 {位置}。{是 X,不是 Y。}
动作(5 s):0–{t1} s {动作1,速度类比};{t1}–5 s {动作2}。镜头:{缓慢推进 / 固定 / 平移 方向与幅度}。
末帧:{状态}(用于接下一镜:{下一镜首帧})。
光线:{时段、光源方向、色温}。物理:{雾/水/布料 如何运动}。
锁定:{造型完全保持不变};{文字/标牌不变};{无人物};{全片 {时段}};{风格后缀}。