Project overview
Kavio is portable video as data.
Kavio turns video templates into versioned composition documents that can be authored by JSON, generated by TypeScript, previewed in the browser, expanded into batch jobs, and rendered through a general export pipeline.
Current Status
Kavio is pre-release. The repository includes the schema, validator, timeline core, builder SDK, browser preview runtime, render-worker contracts, FFmpeg planning helpers, render execution layer, CLI, MCP server, provider adapters, and MVP demo fixtures.
The general kavio render command supports opaque
mp4, webm, mov, gif,
transparent webm/mov, and still-image
png outputs today, with picture-in-picture compositing
for overlapping video layers. Remaining render work is hardening and
later support for png-sequence archives.
Composition Model
- Composition
- Canvas size, FPS, duration, background, and color-space data.
- Props
- Template placeholders such as
{{headline}}and asset URLs. - Assets
- Named references for videos, images, audio, and fonts.
- Layers
- Frame-based timeline items for video, image, text, shape, and captions.
- Exports
- Output presets such as reels, square, and landscape variants.
- Batch jobs
- Stable combinations of one template, one prop row, and one export preset.