技能:留存率短视频(挂钩 → 叙事 → 回报)
0. 来源与方法论诚实性
基于视频:“ESSA TÉCNICA VIRALIZOU MEU SHORTS COM 30 MILHÕES DE VISUALIZAÇÕES”(频道 O Milionário,ID iPpt_INjn8A)。标记为 [VIDEO] 的项目来自作者所教的内容。标记为 [EXT] 的项目是本系统的工程扩展:合理的启发式方法,但未经过视频验证。必须使用实际的留存率数据进行校准(参见第 10 节)。
1. 核心原则 [VIDEO]
- 决定短视频能否病毒式传播的是留存率曲线:看完视频的人越多,平台就会分发得越广。
- 目标:使留存率曲线尽可能平坦,没有下降。关键是让观众看到最后。
- 三个必须部分:Hook(挂钩)、Storytelling(叙事)、Payoff(回报)。
- 脚本/叙事是“汽车的引擎”:没有叙事的精美剪辑无法留住观众。
- 时长:大约 15 秒以内的视频更容易爆发,因为更容易完整观看。更长的视频更难病毒式传播,但能建立忠实观众群。如果您的领域需要更长的视频,请使用相同的三个步骤。
2. 时长模式 [VIDEO + EXT]
| 模式 | 目标时长 | 何时使用 |
|---|---|---|
viral | 12–20 秒(最长 25 秒) | 最大化触达。默认模式。 |
balanced | 20–40 秒 | 需要最少上下文的内容。 |
authority | 40–75 秒 | 建立忠实观众群,更深入的内容。 |
用户选择模式。即使片段不错,也绝不能超出模式限制:通过剪掉冗余部分来缩短。
3. 决策流程(按顺序执行)
第 1 步:筛选候选片段
- 输入:包含逐词时间戳的转录、场景切换、静音、说话人。
- 生成开始和结束于句子边界(绝不能在一个句子或想法的中间)的候选窗口。生成数量是所需数量的 3 倍。
- 每个候选必须是自包含的:没有上下文的观众需要能够理解而不依赖视频的其余部分。如果依赖之前的上下文,请丢弃或准备一条上下文字幕(第 6 节)。
第 2 步:为每个候选打分(0–100)
| 标准 | 权重 | 评估什么 |
|---|---|---|
| 挂钩潜力 | 25 | 是否存在一个句子或时刻,在前 3 秒内清晰、直接、快速并承诺回报[VIDEO]? |
| 张力/叙事 | 25 | 是否存在冲突、出错的事情、障碍、悬而未决的问题或悬念 [VIDEO]?有解决方案吗? |
| 回报 | 20 | 结尾是否兑现了挂钩的承诺(结果、揭示、情感、结论)[VIDEO]? |
| 自包含性 | 15 | 单独看是否有意义?[EXT] |
| 密度/节奏 | 10 | 较少废话、较少停顿、每隔几秒提供信息 [EXT] |
| 情感/新颖性 | 5 | 惊讶、幽默、强烈观点、震撼的数字 [EXT] |
规则:
- 挂钩 < 12/25 或 回报 < 8/20 → 丢弃,无论总分是多少。
- 向用户显示每个标准的分数以及每项标准的一行说明。
- 按分数排序。避免重叠剪辑(> 30% 的重叠):保留最佳的那一个。
第 3 步:映射挂钩 → 叙事 → 回报结构
对于选定的候选,在时间线上标记:
- HOOK(挂钩 0–3 秒)[VIDEO]:清晰、直接、快速,带有承诺。没有问候,没有“大家好”,没有“那么”,没有自我介绍。
- STORYTELLING(叙事 中间部分)[VIDEO]:一系列张力节拍。每个节拍是以下几种类型之一:
conflict(出错),solution(采取的措施),suspense(“但是在……之前,发生了一些事”)。叙事必须有一个时刻,故事被“剪切”并引发好奇。 - PAYOFF(回报 最后 3–5 秒)[VIDEO]:交付挂钩所承诺的回报。
如果原始片段没有以强有力的挂钩开头,请应用冷开场技巧 [EXT]:
- 在该片段中找到最有力的句子(承诺、结果或最具挑衅性的句子)。
- 将这个句子放在开头(0–3 秒)作为挂钩,然后回到时间顺序。
- 只有当这个句子单独看有意义且回报仍然清晰时才这样做。不要扭曲原意:禁止改变说话人所说的含义。
第 4 步:挂钩工程 [VIDEO + EXT]
- 生成 3 个变体的屏幕挂钩文字(开头标题),每个不超过 8 个单词:
- 结果承诺(“让我祖母哭泣的那份 5 雷亚尔礼物”)。
- 好奇心/缺口(“我只有 5 雷亚尔,然后……”)。
- 矛盾/挑衅。
- 文字必须与内容相符(无回报无法支撑的点击诱饵)。
- 必须在 ≤ 2 秒内阅读完毕。
第 5 步:节奏清理 [EXT]
- 移除 > 0.35 秒的静音、犹豫用词(“额”、“嗯”、“这样”、“啊”)、重复和错误的开头。
- 保留揭示之前 0.1–0.2 秒的微暂停(张力),暂停在此有作用。
- 不要在一个音节中间剪切:使用音频过零交叉点作为剪切点,并进行 30–60 毫秒的交叉淡入淡出。
- 如果结果超出模式限制,首先移除中间张力较低的节拍,绝不能移除挂钩或回报。
第 6 步:编辑计划 [VIDEO + EXT]
视频推荐的元素,让观众“感觉不到时间流逝” [VIDEO]:
- 动态字幕:逐词显示,当前词汇高亮。
- 缩放和快速剪切:总有事情在发生。
- 场景之间的音乐切换:产生同时多件事的感觉。
- 张力部分的悬疑配乐,激发看完结局的欲望。
建议的操作参数 [EXT],可调整:
- 视觉节奏:每 1.5–3.5 秒进行一次视觉变化(缩放、剪切、画面变化、高亮、B 卷素材)。绝不能超过 4 秒而没有变化。
- 缩放:强调词汇时推入 105–115%;张力部分慢速缩放(100→108%);在下一个剪切处重置。交替方向以避免疲劳。
- 字幕:每次显示 1–3 个单词,≤ 2 行,活跃词用高亮颜色,位于下三分之一区域(在应用界面区域之外:保留底部约 20% 和侧面约 6% 的边距)。仅当加强词汇含义时才使用表情符号。
- 音乐:
- Beat 1(挂钩和开头):中等能量,在 0 秒处进入。
- 张力节拍:悬疑配乐,音量略微升高,低音更突出。
- 回报:解决(张力下降或渐强 + 揭示前 0.2 秒的静音)。
- 音乐切换:仅在节拍/场景边界处,配合 200–400 毫秒的交叉淡入淡出。
- 语音始终覆盖在音乐之上:人声时音乐闪避 −14 到 −18 dB。
- 音效:剪切/缩放时的嗖嗖声,揭示时的击中声,回报前的渐强音。最多每约 2 秒一个音效。
- B 卷/支持图像:当提到具体事物(物体、地点、数字)时,显示 1–2 秒。
- 进度条(可选,谨慎使用):增强到达终点的预期。
第 7 步:视频结尾 [EXT]
- 回报必须是最后一个重要时刻。在最后一句之后立即剪切(≤ 0.3 秒的余量)。
- 可选,循环模式:如果结尾可以在视觉或语言上与挂钩衔接,保持最后一帧接近第一帧。
- 没有“感谢观看”或会破坏结尾的号召性用语。如果有 CTA,请在回报上方使用不显眼的文字。
4. 反模式(拒绝或修正)
- 以问候、长上下文或“今天我要谈谈……”开头。
- 挂钩承诺了回报无法交付的东西。
- 片段在一个想法的中间结束。
- 超过 4 秒没有视觉变化。
- 音乐音量过高,与语音竞争。
- 字幕超出安全区域或难以辨认。
- 剪切改变了话语的含义。
- 视频对于所选模式来说过长。
- 对留存率没有帮助的特效(装饰)。
5. 输出格式:JSON 格式的剪辑决策列表 (EDL)
输出必须仅为有效的 JSON,符合以下模式。
{
"clip_id": "string",
"mode": "viral|balanced|authority",
"source": { "start": 0.0, "end": 0.0 },
"scores": {
"total": 0,
"hook": 0, "tension": 0, "payoff": 0,
"self_contained": 0, "density": 0, "emotion": 0,
"rationale": { "hook": "", "tension": "", "payoff": "" }
},
"structure": {
"hook": { "start": 0.0, "end": 3.0, "technique": "native|cold_open", "text_overlay_options": ["", "", ""], "chosen_overlay": 0 },
"beats": [ { "start": 0.0, "end": 0.0, "type": "conflict|solution|suspense", "note": "" } ],
"payoff": { "start": 0.0, "end": 0.0, "note": "" }
},
"segments": [
{ "id": "s1", "src_start": 0.0, "src_end": 0.0, "out_start": 0.0, "role": "hook|body|payoff", "speed": 1.0 }
],
"cuts_removed": [ { "src_start": 0.0, "src_end": 0.0, "reason": "silence|filler|repeat|low_tension" } ],
"reframe": { "mode": "auto_face|split|center|manual", "keyframes": [ { "t": 0.0, "cx": 0.5, "cy": 0.4, "scale": 1.0 } ] },
"captions": { "style": "string", "words": [ { "t0": 0.0, "t1": 0.0, "text": "", "emphasis": false } ] },
"effects": [
{ "type": "zoom_punch|zoom_slow|shake|flash|overlay_text|broll|sticker|freeze", "t0": 0.0, "t1": 0.0, "params": {}, "reason": "" }
],
"audio": {
"voice": { "normalize_lufs": -14, "denoise": true },
"music": [ { "track_id": "", "t0": 0.0, "t1": 0.0, "mood": "energetic|suspense|resolve", "gain_db": -16, "ducking": true, "fade_in": 0.2, "fade_out": 0.3 } ],
"sfx": [ { "id": "", "t": 0.0, "gain_db": -10 } ]
},
"retention_forecast": { "curve": [ { "t": 0.0, "pct": 100 } ], "risk_points": [ { "t": 0.0, "why": "" } ] },
"qa": { "passed": true, "violations": [] },
"duration_out": 0.0
}
JSON 规则:
- 所有时间以秒为单位,相对于原始视频(
src_*)或最终视频(out_*,t0,t1,t)。 segments按显示顺序描述最终剪辑(包括冷开场(如果使用))。- 每个
effect都需要reason与留存率相关联(例如:“避免 12–16 秒处超过 4 秒无变化”)。 retention_forecast是一个启发式估计,不是测量结果。在界面中将其标记为如此。
6. 缺失上下文
如果片段需要它自身没有解释的上下文,在前 3 秒内添加一个简短的 overlay_text(≤ 8 个单词),或者丢弃该候选。
7. QA 检查清单(返回前执行)
- 前 3 秒是否有清晰的挂钩和承诺?
- 是否至少有一个张力节拍和解决方案?
- 回报是否兑现了挂钩的承诺?
- 时长是否在模式限制内?
- 是否没有超过 4 秒无视觉变化的部分?
- 是否没有在单词/想法的中间进行剪切?
- 字幕是否在安全区域内,每次不超过 3 个单词?
- 音乐是否在语音时进行闪避,并且仅在场景边界处切换?
- 原始含义是否保留?
- 结尾是否在回报后立即剪切?
如果任何项目失败,修正并重新评估(最多 2 次迭代)。如果仍然失败,返回 qa.passed=false 并附上违规项。
8. 安全与完整性规则
- 绝不编造转录中不存在的台词或事实。
- 在重新排序时绝不改变一句台词的含义。
- 挂钩文字必须与内容相符。
- 不要生成用户未声明拥有或拥有使用许可的内容的剪辑。
9. A/B 变体 [EXT]
当被要求时,生成同一剪辑的多达 3 个变体,每次只更改一个变量(挂钩文字、冷开场顺序或字幕样式)。记录更改了哪个变量。
10. 使用真实数据进行校准 [EXT]
本技能的权重和参数是起点。系统应:
- 记录每个发布剪辑的实际留存率曲线(当用户从 YouTube Studio / TikTok 导入时)。
- 将实际曲线与
retention_forecast进行比较,并将分数与结果进行比较。 - 当有 ≥ 30 个含有数据的剪辑时,建议调整权重。