SuperAPI AI 工具集

launch-video

设计与创作

查看项目

更新于 11-02 04:14

技能介绍

Launch Video 是一个面向「把自己做的东西展示出来」场景的发布视频技能。它负责视频的叙事部分:项目是什么、切入角度、分镜、语气、分享文案与海报;渲染交给 html-video 包(固定版本的 Hyperframes CLI、素材审计、时序证明与交付包)。改编自 latent-spaces/brag(MIT),详见 references/upstream/provenance.md。

适用与不适用 适用:用户要求「为这个项目做一个发布视频」、/brag、为所做之物做宣传;也可在先前一次运行上重掷某个场景或换一种语气(新建一次运行,复制早前的 launch-plan.md 与 composition/ 进去,运行 html-video 的 doctor,失败则重新初始化,再编辑并从第 5 步继续)。 不适用:脚本化标题序列、对比或字幕视频请用 html-video;算法、数学或概念讲解用 animate;React 或 Remotion 合成用 remotion-video;分析已有视频不属于本技能。

前置条件 SKILL_DIR 为包含本文件的绝对目录。其脚本需要 Python 3.12+(仅标准库)与 PATH 中的 FFmpeg(含 ffprobe)。必须已安装 html-video 包;若未安装,应停止并报告 BLOCKED: install html-video,绝不回退到 npx hyperframes 或其他渲染器。渲染还需 html-video 列出的全部依赖(Node、Chrome 或 chrome-headless-shell 可执行文件)。需要用户提供字体文件及其许可证,html-video 拒绝系统字体与下载字体;项目自带展示字体与正文字体时应索取。音乐可选且由用户提供;本包不附带任何音频、图片或字体,需向用户索取曲目、来源 URL 与许可证,绝不自行下载。

选项(可用命令行标志或自然语言) --tone <预设或自由描述>:默认推断,预设见 references/tones.md;--format landscape|vertical|square:默认 landscape 1920x1080(vertical 1080x1920,square 1080x1080);--duration <秒>:默认 18–22,除非用户指定,始终在 15–25 内;--title <文本>:默认从项目推断;--music <文件>:默认无。用户若只指向某一部分(新功能、新版本、某个角度),就以该部分为焦点。

工作流

  1. 开始运行:python3 "$SKILL_DIR/scripts/launch_video.py" start 输出 RUN_DIR: launch-output/,若已存在则用带时间戳的同级目录;本次运行的所有文件都在其中,绝不覆盖早前运行。
  2. 检查:按 references/inspect.md,按优先级阅读项目,跳过机密信息,书面回答九问清单。CLI 有文档记录的终端输出可视为其 UI;仅当项目既无可视化也无文档化输出时才停下询问。
  3. 规划:按 references/plan.md 写 RUN_DIR/launch-plan.md,包含角度、钩子、2–3 个亮点、点睛句、语气、带许可证的素材,以及各场景时长之和等于目标时长的分镜;为每行可读文字规划停留时间。
  4. 收集输入:获取字体文件与许可证、可选音乐及来源与许可证,确认许可证不明的项目素材的使用权。
  5. 用 html-video 合成与渲染:按 references/compose.md,将标题序列模板初始化到 RUN_DIR/composition,添加字体、bootstrap,以 CSS 关键帧片段编写场景,在 PROVENANCE.json 中声明所有素材,按分镜写 index.motion.json,然后依次执行 audit、lint、check、snapshot;打开每张联系表,修正不符合创意法则之处,再执行 render 与 deliver --out RUN_DIR/delivery。
  6. 撰写分享文案:按 references/deliver.md 写 RUN_DIR/share-copy.txt,为每个 CC-BY-* 素材写明署名。
  7. 收尾:python3 "$SKILL_DIR/scripts/launch_video.py" finish RUN_DIR --poster-at 秒数,选取最稳的画面瞬间。它会验证交付物,把海报烘焙进第 0 帧,并写出 launch.mp4、poster.jpg、CREDITS.txt 与 LAUNCH.json。

创意法则(适用于所有语气) 短:15–25 秒,18–22 为最佳区间。对陌生人清晰:看完一遍,没听说过的人也知道它做什么、给谁用、如何获取;以此开头,而不是讲如何实现。钩子决定一切:前 2 秒决定是否继续看,优先规划。展示实物:至少一个场景展示项目真实 UI、文案或关键视觉,优先展示正在工作的产品而非介绍它的落地页,绝不用抽象填充。具体:使用项目自己的文案与说法,禁止「Streamline your workflow」等通用 SaaS 套话,不虚构数字、推荐语或 logo。可读:节奏来自运动与剪辑,而非提前抽走文字;短标签约 0.8 秒稳定,一句话每词约 0.3 秒。有生命力:逐个出现、模拟点击、滑动与打字胜过静态幻灯片。幽默要名副其实:来自项目自身的荒诞,而非刻意为之。每一帧都可发布:任意冻结帧(包括转场中)都应值得分享。

输出与汇报 RUN_DIR 包含 launch-plan.md、composition/(可编辑的 html-video 项目)、delivery/(html-video 的已验证交付包,含 RENDER.json、报告与快照)、share-copy.txt,以及 finish 生成的 launch.mp4、poster.jpg、CREDITS.txt、LAUNCH.json。向用户汇报:launch.mp4 与 poster.jpg 路径、分享文案原文、一句关于角度与语气的话、CREDITS.txt 中的素材许可证及转发时必须保留的署名、任何虚构占位内容、读到的 html-video 覆盖数字与所判断的联系表帧,并主动提出可重掷场景或换语气。

错误处理 finish 只有在所有检查通过时才写入。常见错误:render_record_missing、video_missing 表示 RUN_DIR/delivery 中无 html-video 交付,运行 deliver --out RUN_DIR/delivery;video_digest_mismatch 表示交付后 MP4 变化,重新验证并交付到新目录;duration_out_of_range 表示超出 15–25 秒,重定时分镜或按用户指定长度传 --min-seconds/--max-seconds;audio_missing 表示声明了 <audio> 但 MP4 无音轨,检查 src、data-start、data-duration 后重渲染;credit_missing 表示 CC-BY-* 素材缺少来源与许可证署名,补到 share-copy.txt;poster_out_of_range 表示 --poster-at 超出最后一帧,选视频内时间;bake_mismatch、poster_not_baked 表示重编码改变时序或第 0 帧与海报不符,报告信息,不得把未烘焙的渲染作为 launch.mp4 交付;html-video check 报「appears at 3.01s but should be visible by 3s」表示 deadline 恰好设在片段开始,把每个 deadline 设在入场完成后至少 0.1 秒;html-video not installed 应停止并报告 BLOCKED: install html-video;项目无可视界面(后端或库,无 UI、无文档输出、无品牌素材)应询问用户展示什么,不得虚构 UI 或输出。

参考资料 references/inspect.md:阅读什么、九问清单、跳过清单与隐私数据规则;references/plan.md:计划结构、场景数、时长、阅读时间、展示内容、转场;references/tones.md:七个语气预设(逐字引入);references/compose.md:把计划映射到 html-video 片段、CSS 关键帧、素材、音频与运动证明;references/deliver.md:分享文案、署名行、海报选择与收尾;references/upstream/provenance.md 与 LICENSE:上游来源、改编与许可证。