开放格式 · 第 1 版
每个技能有一个 SKILL.md,
每条视频也有一个 VIDEO.md。
VIDEO.md 给 AI agent 和程序描述一条视频:逐镜讲了什么、画面里有什么、每一镜是怎么做的。它从一张小卡片开始逐层展开,模型只读问题需要的那一层。卡片是这条视频的身份证,整个包是它的档案。
pip install videomd
videomd check path/to/package
先看卡片
VIDEO.md 的前置信息就是卡片,agent 只看它就能决定要不要打开这个包。整个视频库的卡片都可以常驻上下文,问题需要时才打开某个包。
---
videomd: 1
name: coffee-ad
description: >-
一条 10 秒的咖啡广告:一只手往玻璃杯里
倒咖啡,然后一张卡片显示价格。
实拍(70%)+ 代码渲染的价格卡(30%)。
source: {file: coffee-ad.mp4, sha256: 9f86d0…, duration: 10.0}
shots: 2
lang: zh
---
一行一个镜头
时间线是整个包的主干。键名带 ~ 的是推断,不带的是看到的或测得的。flag 标出需要复核的镜头。
#01 0.0-7.0 | seen 一只手往玻璃杯里倒咖啡
| camera 手持 | made~ 实拍 92%
#02 7.0-10.0 | seen 米色卡片上写着价格
| overlay 标题 | made~ 代码渲染 61%
· 次选 录屏 30%
| flag 低置信
问题需要多少,就读多少
- L0卡片 100–300 token
这条视频讲什么,值不值得打开。
- L1概览和地图 1–2k
结论、不确定点,以及每个文件和它的 token 数。
- L2时间线和主题 几千
一行一个镜头;声音、角色、包装、复刻各一个文件。
- L3单个镜头 几百 + 帧图
看到的、推断的和依据,附截图可以核实。
- L4原始数据 不限
给程序用,模型不需要读。
上下文里放得下很多视频
每张卡片几百 token,和技能一样。agent 可以知道整个视频库,回答问题时也只用几千 token。
看到的和推断的分开
语法里分(made~),数据里也分(inferred,附概率和由谁判定)。猜测不会被当成事实转述。
读之前就知道代价
每个文件都写明自己有多少 token,模型自己判断值不值得打开。
程序有稳定的接口
前置信息有 JSON Schema,时间线有固定语法,取值是固定 id。不认识的字段一律忽略,格式可以持续扩展。
从广告到长片
长视频有场景和拆分的时间线,一镜到底的直播有 take 和节点,分屏和反应视频有画面层,甩镜、环绕、匹配剪辑有运镜动作和转场。
门槛低
6 个字段就是一张合格的卡片。判断制作方式是可选模块。
就是普通文件
一个包就是一个 Markdown 文件夹。可以复制、压缩、提交到 git,不装任何工具也能读。