video-summary
Installation
SKILL.md
视频内容总结
读者来读总结,是因为没有时间看原视频。他想知道的只有一件事:这一期里有什么值得我带走的。所以总结不是原视频的缩略版,不需要覆盖全部话题,也不需要保持原来的顺序;它要做的是把最有价值的两三样东西挑出来,从读者关心的问题讲起,讲透,其余的少说或不说。
最容易写坏的样子是流水账:开头介绍嘉宾履历,然后按章节一块一块往下总结,每块篇幅差不多。这样写信息都在,但读者得自己从头读到尾去找哪句重要,等于把筛选的工作又推回给了他。
动笔前先用 skills_read 读本 skill 的 references/writing-baseline.md:材料、基线(忠于文稿、不编造、转述不加料、补足背景)、两类读者、篇幅与风格的档位都在那里,下面不重复。
1. 取材料
- 用 videos_inspect 看视频的文档。没有转写(kind 为 speech 的文档)时先转写,告诉用户转写在进行。转写没润色过时人名、术语可能有错字,对照视频信息核对。
- 带时间码的文稿:先用 speech_sentences 取按句编号的文稿(每句带编号与时间,正文段落末尾回引编号,见写作基线「句子编号与出处」;长视频按 next 分几次取);它说没有可编号的句子时再用 export(kind
transcript、formatmd、timestampstrue;有几份文稿时按它列出的候选用 documentId 指定),jobs_inspect 等到 completed,读 outputs 里的文件。这里的时间是剪辑后时间线上的时间,剪掉的词不在里面;要点的时间就取它,不要自己估算。 - 视频信息:videos_inspect 给出的视频名与章节;来源标题、作者、简介、链接等只用视频信息里有的和用户提供的。
- 没有视频(例如只从链接下载并转写):jobs_inspect 的 outputs 里的 SRT 带时间码,直接读。
- 用户只要某个方面的总结(「嘉宾对 X 怎么看」「讲定价的部分」),或要把几部视频放在一起总结时:用 speech_relevant(
intent写那个方面,videoIds给这几部,order给time)取相关段落,编号回引照常;effectiveMode为 lexical 或 none 时退回读全文。 - 必要时看画面。文稿里指着屏幕说话的地方(演示、幻灯片、代码、图表、「这个」「这里」「大家看」),光读文字不知道在说什么时,用 videos_frames 在那几个时间码取几帧看(
at列出时刻,或range加count等间隔取,一次最多 24 帧,读每帧的file)。不是每个视频都要取帧:纯对话、读文稿就能懂的不取。取到的画面只用来弄清说话人在指什么、把它写明白;画面里看到的东西是你补的背景,不是说话人说过的话,写进去时读者要分得清。帧是素材画面,不含字幕、文字与叠加的元素。