Vibe 知识大赏风格 · 无旁白科普短视频
目标
用图形交互动画 + 事件拟声音效 + 氛围垫音讲清一个反常识认知点。 画面里的图形是演员,文字是贴在演员身上的标签,声音只是动作的回声。 没有旁白 —— 画面文字就是全部信息,所以每一句原稿都必须留在屏幕上。
产出:单文件 HTML(零依赖、可 seek)→ 逐帧渲染的 1920×1080/30fps 成片 → 音轨 + 封面 + 发布文案。
判断是否适用
适用:概率 / 心理学 / 底层逻辑类科普;有反常识认知点;能被图形化表达;结论对观众有用。 不适用:需要人声解说、实拍、剧情、访谈;纯口播;纯 PPT 录屏。
开工顺序(八步,不要跳)
- 选题 & 文案:原稿逐句锁定,一句不删;每屏只留 1 个中心观点,其余文字降级(不是删除)。
- 分镜:分幕网格 → 每屏一个主角物品 → 一张节拍表(画面 / 光影 / 音效三处只读这一张表)。
- 单屏原型:先做一屏(引擎 + 附着层 + 时序 + 音效),给人看过审后再铺满全片。
- 铺满全片:同一套组件推到其余屏,不许写第二套。
- 体检:几何 / 时序 / 附着 / 文字盒(横向溢出 0) / 文字可读性(最差分帧对比度) / 音效 / 噪检逐项跑脚本,全部绿灯才继续;
再跑
node tools/anti-slop.mjs --html <成片.html>过一遍反模式分诊单(见 README §18.1)。 脚本一律串行跑(并行会抢 CDP 端口,留下僵尸无头进程)。 - 逐帧渲染 + 合成(分片并行;
-color_range tv不能省)。 - 裁剪与电平:帧级内容扫描剪掉「零文字零亮部」的低信息段;整轨均匀抬电平。
- 封面 + 发布:封面复用成片素材、数字钩子优先;正文一句话结论,解释放评论区。
- 交付包(四件):成片(带音轨)+ 封面(含缩略测试图)+ 发布文案 + 交付说明。 改过画面就必须按最终成片重抽封面背景板,否则封面与正片质感对不上。
绝不能违反的硬约束
- 字号与坐标全用画布绝对 px(
rx/ry/rFont),禁用vw/vh/clamp。 - 同一元素上位移入场与缩放入场必须分内外层(两个 keyframes 写同一个
transform会互相覆盖)。 - 所有画面状态由
t计算,?t=45必须能精确定位任意一帧;关键字动画不能自动播放。 background-clip:text的金属字禁用text-shadow(会压暗 45%),用filter:drop-shadow(); 且容器必须装得下字形 ——max-width只约束盒子、不约束字形,盒外那一段没有 background 可裁, 末字会整块丢填充(体检textbox-check.mjs,横向溢出必须 0)。- 文字落点取整像素;循环动画写时间常数断言,
console.warn计入失败。 - 垫音不许混宽带白噪 air 层;高通用二阶巴特沃斯 @20Hz;拼接用交叉淡化,不许 fade to silence。
- 裁切只能动「零文字零亮部」的低信息段,剪口两侧各留 ≥0.3s 有内容的画面。
- 封面不要嵌进视频片头(会改变时序、破坏音画对齐)。
- 图片生成模型(GPT Image2 一类)只做概念稿:不生成带文字/数字的图、不出成片帧、 不做封面底图与内联 SVG(封面底图例外须过 assets-guide.md §8.5 三关)。 画面里会动的东西一律自绘。
- 交付物是一份可 seek 的单文件 HTML(
?t=45能定位任意一帧),不是帧序列。 外部的代码生成模型(DeepSeek 等)可以帮你写这份 HTML,但别把「逐帧 SVG/PNG → ffmpeg」 或 Manim / Remotion 那条线套进来当主流程(README.md §7.5)。 - 与光源联动的文字要有"渐隐下限":正文(L2–L4、非附着)
opMin ≥ 0.78、附着标签0.62–0.65。 光漫游到别处时不许把正文压成半透明 —— 这是"文字偏淡看不清"最常见的真凶(README §5.8)。
关键数值(直接照用,除非有理由改)
| 项 | 值 |
|---|---|
| 画布 / 安全框 | 1920×1080 / 0.05–0.95 |
| 时长 / 帧率 | 120–150s / 30fps |
| 字号层级 | L0 160–300 · L1 72–96 · L2 60–64 · L3 32–52 · L4 28(px,1080p 基准) |
| 色彩 | 底 #0A0A0A · 暖白 #F5F1E8 · 暗金 #B8944A · 香槟金 #D7B979 · 光晕 #6B4A1A |
| 垫音 / 拟声 / 重音 | −19.2dB / −22…−14dB / −12dB(重音全片仅 3 处) |
| 噪检阈值 | 1–4kHz ≤ −95dBFS,4–8kHz ≤ −100dBFS(汉宁窗逐帧取中位) |
| 导出 | H.264 High / yuv420p / tv 范围 / AAC-LC 44.1k 192k |
| 母版电平 | 整轨均匀 +11dB → 约 −25.5 LUFS / 真峰 −0.5 dBTP |
| 文字可读性 | 正文渐隐下限 opMin ≥0.78 / 附着标签 0.62–0.65;最差分帧对比度中位 ≥5 |
| 字重分层 | L0/L1 600 · L2 500 · L3 500 · L4 450(禁止全线 Heavy) |
按需阅读
- README.md —— 全链路完整规范(选题/文案、分镜、视觉动画、音效、工程、渲染导出、剪辑、封面、发布、避坑总表、A1–A35 验收)。写代码前至少通读「视觉动画 / 工程 / 避坑总表」三节。 另有 §4.5「系列结构约定」(命名环节 / 猜—答互动 / 片尾三件套 / 示意免责,取自 7 部对标样片实测)、§5.8「文字可读性:三道防线 + 两个量测口径」、§17「对标样片实测」、§18「上游仓库(取材源与检查器)」、§19「同题参照:HyperFrames 可借鉴项」、§20「第二期《幸存者偏差》增量规范与工具」。
- checklist.md —— 分阶段可勾选验收清单与复现命令。每次交付前逐项过。
- assets-guide.md —— 色彩 token、字体分层、母题规格、金属渐变字、背景弱结构、音效素材检索词、封面素材抽法、图片模型素材生产(§8:什么时候用/不用、提示词模板、为什么不要一键转矢量)。
- templates/ —— 起步模板:
shot-template.html(单文件骨架,含引擎/附着层/音效/调试参数,3 屏 20s 可直接跑)、preview/(模板自检真实出图)、audio/(占位音效与垫音)、tools/(make-foley.mjs生成素材、audio-render.mjs离线混音、noise-floor.mjs噪检、render.mjs/serve.mjs/cdp.mjs逐帧渲染与本地预览、smoke-check.mjs通用冒烟,以及 A1–A35 全套体检脚本;文字专项:textbox-check.mjs文字盒截断 /readability-check.mjs最差分帧对比度 /ink-bands.mjs缺字自证 /measure-motion.mjs动帧口径对齐)。换项目时先读templates/tools/README.md第 3 节的常量替换表。 - examples/control-illusion/ —— 完整样例:成片 HTML、四份设计与规范文档、七屏静帧、节拍表、文案表、封面工程、发布文案。新项目先照它改,不要从零发明结构。
两条流程教训
- 拿到别人的「优化方案」时,先核对它引用的原文是否存在。 不改已经锁定的原稿骨架; 要动就是下一版(连字数、停留时长、换行一起重排),不是这一版的补丁。
- 先出成品看真实反馈,再针对性改那一句,比凭预判全量重写更准。