爱意满满的作品展示区。
Daniel6606

我们做了一门让 Agent 写视频的语言

  •  
  •   Daniel6606 · 5 days ago · 908 views

    大家好啊,最近我们在做 Hypit:

    这是一个视频描述语言,我们起名叫 SVML ( Semantic Video Markup Language ) 我们希望 Claude Code 、Codex 这样的 Agent ,能用它描述一支视频,再交给系统生成素材、处理字幕、编排画面,最后渲染成片。

    项目链接: https://github.com/hypit-ai/hypit

    从一个很具体的剪辑问题开始

    我们之前给一些 AI 公司做内容,经常会参考别人做得不错的广告,再结合自己的产品重新制作 一条二十几秒的视频,要拆脚本、生成镜头、配音、剪辑、加字幕,还要安排产品特写和各种动效。即使模型已经把素材生成出来,后面依然有不少制作工作,如果你做过这件事情,你一定会知道我在说什么

    其中有一件事一直让我们觉得很绕啊

    写脚本的时候,我经常会边写边在脑子里构思稿子和视频的配合,比如:

    主持人说到产品名,就弹出产品卡片

    说到“第一名”,排行榜对应的位置就亮起来

    但此时还不知道这些词会落在第几秒,于是只能等语音和视频生成完,再一帧一帧地找位置,把效果对上 如果换一版台词或者只是语速变了,就得重新处理这些对应关系

    所以我们想让 Agent 能直接写下这种要求,由系统根据实际素材算出时间,这个想法后来成了 SVML 里很核心的一部分:把画面效果绑定到叙事中的词

    视频的源文件可以长什么样

    下面是一段真实的.svml 语言+视频的 demo

    把 GIF 中的案例简化 ⬇️

    <script id="story">
      <daily-creatine>
        <GIRL> 我会把它加进 @lifestyle 咖啡、奶昔,甚至煮意面的水里。
        <GUY> 你这是把它当 @/lifestyle 面粉用了吧。
      </daily-creatine>
    </script>
    

    daily-creatine 是段落名称,GIRL 和 GUY 标明每句话由谁说。

    @lifestyle 和 @/lifestyle 划出了一段跨越两位说话人的语义区间。补充画面可以绑定到这段区间,覆盖相应的对话。

    实际案例中的画面组件,就是通过 during={story.selection.lifestyle} 引用这段范围。

    (查看完整播客源码: https://github.com/hypit-ai/hypit/blob/main/examples/podcast/reference.svml)

    这些标记本身只描述位置,具体显示什么,由引用它们的组件决定。素材生成后,系统通过语音对齐,把这些位置映射到实际时间。改台词或换语言时,重新生成、对齐相关素材,画面就能按新的时间定位。

    完整的语法说明在: https://hypit.ai/quickstart/script/

    复刻视频,是这门语言的一个入口

    现在最容易体验 Hypit 的方式,是给 Agent 一条参考视频,让它把里面的画面、台词、字幕和特效关系重建成 workflow

    可以看这个街头采访的案例:同一套结构,可以把主持人换成,被采访者换成动漫人物,F1 赛车手等

    做出第一个版本后,源文件可以继续改: 换产品、换开场、换语言,批量生成 100 个变体,都可以围绕已有流程来做;需要重新生成的素材仍然会产生相应成本

    当然,也可以没有参考视频。直接描述要做什么,由 Agent 从零组织组件和编写源文件。字幕、动效和代码渲染画面这类流程,也可以不调用生成模型。

    怎么用 Hypit

    给 Claude Code ,Codex ,或者 Hermes 安装 skills 先:

    npx skills add hypit-ai/hypit -g
    

    然后提供一条参考视频:

    /hypit 复刻这个视频: /path/to/video.mp4
    

    首次使用时,Agent 会检查并协助准备运行环境。你可以继续告诉它要改什么,检查制作方案、确认所需服务和费用,再生成成片。上手文档

    Hypit 本身免费,不收席位费和按次渲染费;付费模型 API 和 Agent 的费用另算,平均制作一个视频的 API 成本,换算下来在 1 美金左右!

    欢迎大家来提提建议

    1 replies    2026-09-16 08:12:59 +08:00
    xiaket
        1
    xiaket  
       5 days ago
    很有意思也很有启发, 谢谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3781 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 0ea82b4c · 29ms · UTC 00:44 · PVG 08:44 · LAX 17:44 · JFK 20:44
    ♥ Do have faith in what you're doing.