/clip
将视频裁剪为短视频片段 + 重构画面。字幕不是此技能的工作——裁剪后,由 srt 技能负责样式处理(见下文衔接部分)。
入口点
-
显式时间码(如“裁剪此视频的 2:00–3:00”)→ 直接裁剪本地文件:
--video "<file>" --ranges "2:00-3:00,..."。无需 STT、密钥或积分。 -
在 STT 项目上进行 AI 高亮选择 →
--plan然后--clips(见下方流程)。需要项目的转录稿和词时间戳。 -
原始视频,“找出精彩瞬间”(未给出时间码)→ 你无法在没有转录稿的情况下选择高亮,因此询问用户他们想要哪种方式:
- STT(专业选择,消耗积分):先运行
srt技能的 STT 创建项目,然后通过--plan/--clips进行裁剪。 - 免费(无 STT):用户给出时间码,你使用
--video --ranges裁剪它们。
根据用户的选择进行操作——未经询问不要运行 STT(这会消耗积分)。
- STT(专业选择,消耗积分):先运行
核心规则
- 只有工作进程能看到原始密钥——切勿打开、回显或将其作为参数传递。
- 密钥限制仅适用于
--project/--plan/--clips。--video --ranges和--sidecars完全离线——切勿对它们执行密钥检查/注册。 - 在后台运行——编码需要时间。
- 此技能与配音技能共享库:
dubbing文件夹必须安装在clip旁边。
流程
阶段 1 — 计划。 node scripts/clip.mjs --project <seq> --plan 打印摘要的章节映射(主题指南)以及完整的句子转录,每行格式为 order [start-end] text。
阶段 2 — 选择,然后裁剪。 阅读转录并选择片段,每个片段格式为 { "title": "...", "start_order": N, "end_order": M }。评分标准:
- 钩子优先——从吸引注意力的句子开始(问题、大胆断言、有趣/令人惊讶的台词)。
- 在节奏结束处结束,而非第一个完整句子处。 跟随情绪高潮直到其自然收尾——完整的反应、后续反应以及任何次要笑点。阅读几行超出明显结尾的句子;如果仍是相同的反应则保留它们。
- 在过渡处裁剪——在能量下降或语气转变之前结束(兴奋反应 → 平静叙述)。
- 巅峰时刻——偏爱有趣/令人惊讶/情感丰富/可引用的瞬间;高潮往往出现在揭示真相后的一两句话。
- 长度 30–90 秒——超出范围时工作进程会发出警告;优先保留完整弧线而非过早裁剪。
- 标题——描述该瞬间;成为文件名(
01_<title>.mp4)。
章节通常持续较长时间——仅将章节映射作为指南,然后缩小到钩子。
运行:node scripts/clip.mjs --project <seq> --clips '<json>' [--out folder](--clips 也接受 @path)。横屏(16:9)源将被重构为 9:16(戏剧短竖屏信箱);竖屏源保持不变。工作进程将写入片段以及一个 clips.json 清单(记录每个片段及后续字幕所需的转录切片)。回传 [progress];从 [clips-output] 交付文件。
字幕 → 移交至 srt 技能
字幕默认关闭。裁剪完成后,告知用户片段已就绪,并询问是否添加字幕。如果用户需要字幕,首先展示预设——绝不直接跳到某个预设,就像 srt 技能的样式处理流程一样:在 Claude 应用中是交互式画廊(选择 + 应用),在其他环境中是静态的 ../srt/assets/style_presets.png 加上 node ../srt/scripts/style.mjs --list-presets 菜单。让用户选择一个预设或描述一种样式(像 karaoke/bold-punch 这样的短视频预设适合片段)。只有用户选择后:
- 编写侧边字幕文件:
node scripts/clip.mjs --sidecars "<out>/clips.json"——仅当使用 karaoke 预设时才添加--karaoke(它还会写入<clip>.timestamps.json用于精确的单词时间测量;普通预设只需要.srt)。 - 使用 srt 技能对每个片段进行样式处理:
node ../srt/scripts/style.mjs "<clip>.mp4" "<clip>.srt" --preset <id>(对于 karaoke 追加--word-timestamps "<clip>.timestamps.json")。请参阅 srt 技能的“样式与烧录字幕”部分。
添加 --host <runtime> 用于遥测(静默),与其他工作进程相同。
配置(环境变量)
与 /dubbing / /srt 相同(PERSO_API_BASE/PERSO_MEDIA_BASE —— 仅限 https perso.ai 主机,PERSO_SPACE_SEQ,XP_API_KEY,PERSO_NO_TELEMETRY,……)。