Skills

Shorts Segments

用户有一个长视频(访谈、讲座、直播回放、口播),想从中切出几支能单独发布的短视频时用:读转写找出最值得发的话题,每个话题从开头的钩子剪到讲完,建成可编辑的子视频,用户在编辑器里...

Install

npx skills add JimLiu/baocut --skill shorts-segments -g -a claude-code -y
Repository
JimLiu/baocut1.6k
Category
Engineering
Updated
3d ago
License
See repository
Context cost
Mediumabout 2,942 tokens
Runs scripts
No, instructions only

What it does

用户有一个长视频(访谈、讲座、直播回放、口播),想从中切出几支能单独发布的短视频时用:读转写找出最值得发的话题,每个话题从开头的钩子剪到讲完,建成可编辑的子视频,用户在编辑器里接着调;几支、每支多长可以交给你按话题定。需要视频的转写。不用于按主题从零做一个新的短视频,也不用于把整段口播剪干净(用剪口播)。

从长视频里切短视频

刷到这条短视频的人没看过长视频,也不知道前面讲了什么。头三秒没抓住他,他就划走了;中间出现「刚才说的那个」,他就不知道在说什么。所以一段短视频要自己站得住:开头就是钩子,只讲一件事,停在结论上。

挑的单位是话题:一件事从提出到讲完。一个观点和它的理由,一个问题和它的回答,一个故事和它的落点。一支短视频就是一个话题完整的一段,不多也不少。

最容易挑坏的两种样子:

  • 按长视频的章节切。一章十分钟,开头铺垫三句才说到点子上,结尾停在「接下来我们看」,里面还夹着两个话题。那是长视频的一段,不是一条短视频。
  • 只找金句。一句很响的话,前后各凑几秒到要的时长:话题刚开头或还没落地就断了,观众听到一个结论却不知道为什么,或者只听到一半。

交付的是可编辑的子视频,不是 mp4:每一段用 videos_derive 建成父视频旁边的一个独立视频,用户在编辑器里继续调入出点、画面和字幕,要文件时再导出。

1. 先有转写

没有转写(kind 为 speech 的文档)时先转写,告诉用户转写在进行。挑片段只需要原文的词时间;润色和翻译只在用户要时才做。视频已经有章节时,章节有助于定位话题,但章节的边界不是短视频的边界。

2. 读文稿,找话题

读带时间的文稿:export 导出字幕(kind subtitles、format srt)或带时间码的文稿(kind transcript、format md、timestamps true),给 purpose preview(只是你自己读,不是交给用户的),jobs_inspect 等到 completed,读 outputs 里的文件。这些时间是剪辑后时间线上的时间,和 videos_derive 的 start、end、取帧用的是同一个时钟。

句界怎么取:找句子的起止不用 dump 整份 speech 文档。documents_read 读转写时,返回的 translationBasis.sentences 每一句带 start、end(秒),但那是素材时钟;videos_derive 的 start、end 是时间线时钟。父视频从 0 秒开始、原速、没有剪口地播放这条素材时,两者相同,可以直接用句子的 start、end 定区间。先确认这一点:用 videos_inspect(或 facts)看视频项的 sourceIn 是否为 0、速度是否为 1、有没有剪口。任一条不满足,就用上面导出的 SRT 或文稿里的时间线时间,或者把素材时间换算成时间线时间再传,不要把素材时间直接当时间线时间用。

用户点了话题(「切一支讲 X 的」)时,先用 space_search_v2(query 写 X 的意思,videoIds 只给这部视频,kinds 给 ["speech"])找讲到它的几处,再按上面读那几段前后的文稿定区间;命中的时间在当前时间线上(clock 为 sequence)时可以直接当时间线时间用;needsResolve 的先用 space_resolve_search_hit 按当前版本重新定位;weak 的先读原文。没有语义索引时(effectiveMode 为 lexical)换几个关键词再找,或读全文。

已经切过的:space_list 给 videoId 列出这部视频派生的短视频,读它们的名字与区间,不重复切同一段;用户要再切一支同一话题的时先问。

先画话题地图

通读整份文稿(用户给了范围就读那一段),按话题切开:换了一个问题、一个观点、一个故事,就是新话题的开始。每个话题记下大致的起止、一句话说它讲什么、落点(结论、答案或包袱)在哪一句。一章里常有几个话题,一个话题也可能跨过章节边界。

挑最好的话题

够格的话题三条都满足,缺一条就不要:

  • 有看点:至少是这四种之一:反常识的说法、情绪的高点、密集的干货、带转折的小故事。
  • 单独成立:不看长视频也听得懂,没有「刚才说的那个」「第二点」这类要看前面才懂的指代。
  • 有头有尾:话题里有一句能直接开场的话(见下面「开头那句就是钩子」),也讲到了落点。

文稿只是线索:对够格的话题,用 videos_frames 在那几秒取几帧看画面(有没有可看的、说话人在不在画面里),再结合上下文判断是认真说的还是玩笑。帧是素材画面,不含字幕与叠加的元素。然后按看点强弱、成立得稳不稳排序,最强的在前。

几支

Read the whole SKILL.md on GitHub

More in Engineering