视频脚本生成

SkillMedia

Generates video scripts covering all durations, from short videos (7-60 seconds) to medium-long videos (1-30 minutes). Short videos: Hook variant scoring, second-by-second timing, subtitle copy, cover design. Medium-long videos: retention optimization, pacing break points, forward hooks, chapter str

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the 视频脚本生成 skill

What this skill tells your AI

The instructions your AI receives, as published by zju-real/easel in skills/openclaw/video-script/SKILL.md and read by ahel’s review.

根据目标时长自动适配短视频或中长视频模式,生成留存率优化的结构化脚本。

输入

字段必填说明示例
主题视频主题"为什么 Rust 正在替代 C++"
目标时长秒数或分钟数30 秒 / 10 分钟
平台抖音/视频号/小红书/B站(默认按时长推断)抖音
内容类型科普/教程/评测/种草/解说/杂谈科普
核心要点要覆盖的关键信息内存安全、性能…
调性专业/轻松/犀利/对话感(默认:对话感)轻松

模式自动判定

时长模式典型平台关键指标
7-15 秒短视频·极速抖音/视频号3 秒完播率
15-60 秒短视频·标准抖音/视频号/小红书完播率、DM 转发、收藏
1-5 分钟中视频视频号/抖音/B站5 秒留存、互动率
5-30 分钟长视频B站/YouTube30 秒留存、播放完成率

语速基准:中文约 250 字/分钟。


短视频模式(≤60 秒)

Step 1 — Hook 设计(3 个变体)

从 5 种 Hook 类型中选 3 个,各生成一个变体:

类型适用场景示例
好奇缺口冷知识、反直觉"你每天做的这件事其实在伤害你"
模式打断反常规、挑战认知"忘掉你以前学的所有XX"
身份触发精准受众"如果你是XX,这条一定要看完"
痛点共鸣真实困扰"明明很努力了还是没效果?"
权威背书数据/研究支撑"最新研究发现:XX 竟然是错的"

每个 Hook 按 4 维度评分(每项 1-5,满分 20):好奇强度、打断效果、身份触发、3 秒清晰度。选最高分作为主 Hook。

Step 2 — 分秒脚本

按时长压缩结构:

时长结构
7-15 秒Hook(0-2s) + 核心价值(2-10s) + 收尾(10-15s)
15-30 秒Hook(0-3s) + 痛点(3-8s) + 方案(8-20s) + 收尾CTA(20-30s)
30-60 秒Hook(0-3s) + 痛点(3-8s) + 方案(8-40s) + 洞察+CTA(40-60s)

脚本格式:

[0-3s] HOOK
口播: "..."
字幕: "..."
画面: [描述]

[3-8s] 痛点
口播: "..."
画面: [描述]

每句 ≤15 字,口语化,加括号注释(停顿/强调/表情)。

Step 3 — caption + 封面

caption:100-300 字,Hook 变体开头(不重复视频 Hook),DM 转发 > 收藏 > 点赞。 hashtags:3-5 个垂直标签,不用泛标签。 封面:3-5 字大标题 + 画面描述 + 表情。

Step 4 — 质量评分(满分 100)

维度权重检查点
Hook 强度25好奇缺口、打断效果、3 秒清晰度
内容质量25价值密度、结构、痛点-方案清晰度
caption+CTA20长度 100+字、转发型 CTA、Hook 变体
格式合规159:16 安全区、时长匹配、封面
算法信号15收藏/转发优化、原创性

≥80 分交付,<60 分返工后重评。


中长视频模式(>60 秒)

留存率优化的详细方法(节奏中断点 / 前向钩子 / 章节结构 / 留存曲线)见 references/retention-scripting-guide.md

Step 1 — 结构计算

根据目标时长分配各段:

  • Hook:0:00-0:30(短视频缩短到 0:00-0:10)
  • 开场:0:30-2:00
  • 首次 CTA:约 25% 处
  • 留存再拉回:约 60% 处
  • 结尾:最后 60 秒
  • 目标字数 = 时长(分钟) × 250

Step 2 — 写 Hook(三段式)

阶段时间目标
抓眼0-5s全片最重要的一句话,不加片头
承诺5-15s看完能获得什么,具体可感知
悬念15-30s不看会损失什么

Step 3 — 内容段落

每段结构:节奏中断 → 正文 → 微总结 → 前向钩子。 节奏中断每 60-90 秒一次(短视频每 15-30 秒),类型:【镜头切换】【画面】【音效】【数据冲击】。

Step 4 — CTA 与结尾

  • 首次 CTA(25% 处):软性、对话式、10-15 秒
  • 留存再拉回(60% 处):"接下来是最关键的部分"
  • 结尾 CTA:硬性号召 + 下期预告,不说"感谢观看"

Step 5 — 留存风险标注

扫描全稿,在危险区标 ⚠️ 警告(至少 3 处)+ 应对方案。

输出格式

产物写入 outputs/。包含:

  • 脚本元数据(主题/时长/平台/字数)
  • 完整分段脚本(含时间码、口播、字幕、画面提示)
  • 节奏中断日志(时间戳/类型/说明)
  • 留存风险地图(中长视频)/ 质量评分(短视频)
  • 剪辑备注

质量检查

  • 字数与时长匹配(250 字/分钟,±10%):用脚本判定,不靠估算。把全部口播文案(去掉时间码、画面提示等非口播行)喂给 python3 skills/shared/scripts/wordcount.py check --target <时长分钟×250> --tolerance 0.1(stdin 传入),退出码 0 = 达标;非 0 时脚本给出「还需增/删 X 字」,据结果增删口播后重跑,直到通过。
  • Hook 完整(短视频 3 变体评分;中长视频三段式)
  • 节奏中断频率达标
  • CTA 位置正确
  • 全稿口语化,短句,不像书面文
  • 结尾有能量,不含收尾废话

Profile 感知

  • 有 Profile:读取 platform 锁定平台、audience 调整用语、tone 匹配风格、cta_style 使用惯用话术
  • 无 Profile:默认按时长推断平台,对话感调性

Signals

GitHub stars
1k
Forks
143
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
video-script-zju-real
Source
github.com/zju-real/easel