A declarative DSL for video generation — write scenes in text, render with FFmpeg.
Genesis replaces timeline dragging with structured scene descriptions. You define beats, transitions, and assets in text; the engine parses, validates, and renders output through a secure plugin pipeline.
- Scene DSL — deterministic text-to-scene parser extracting duration, aspect ratio, and timed beats
- Security Gates — pre-render secret detection, path validation, and plugin isolation
- Plugin System — sandboxed rendering backends with manifest validation and lifecycle management
- Fusion Modes — sequential, parallel, and adaptive rendering strategies
- Native Renderer — FFmpeg filter-graph pipeline with concat, overlays, and text burn-in
from genesis.dsl.scene_parser import parse_scene_request
scene = parse_scene_request("15 second demo video, 16:9 aspect ratio")
# scene.title → "Demo Sequence"
# scene.beats → 4 timed segments with motion descriptions
# scene.assets → procedural glyphs, UI panels, motion graphicspip install genesis-media-engine
pip install "genesis-media-engine[all]" # full featuresfrom genesis.scene_parser import parse_scene_request
from genesis.gates.security_gate import SecurityGate
from genesis.plugins.plugin_loader import PluginLoader
scene = parse_scene_request("30 second product showcase, vertical 9:16")
gate = SecurityGate()
report = gate.evaluate(scene)
assert report["passed"], f"Gates failed: {report['issues']}"
loader = PluginLoader()
renderer = loader.load("ffmpeg_renderer")
output = renderer.render(scene, output_path="output/product.mp4")genesis render scene.yaml -o output.mp4
genesis validate scene.yaml
genesis plugins listgenesis/
├── dsl/ # Scene parser, schema definitions, pre-render validation
├── gates/ # Security gate, benchmark gate, credibility gate
├── plugins/ # Plugin loader, registry, sandboxed execution
├── fusion_mode/ # Sequential, parallel, adaptive rendering strategies
├── native_inhouse/ # Native FFmpeg rendering backend
├── validation/ # Input/output schema validation
└── cli.py # CLI entry point
Text Prompt → Scene Parser → Security Gates → Plugin Loader → Renderer → Output
- No keyframe animation curves or complex transitions yet
- Rendering is FFmpeg-based; no real-time GPU acceleration
- Plugin ecosystem limited to built-in renderers
- No visual preview — full render required to inspect output
- Keyframe animation and easing curves
- GPU-accelerated rendering backend
- Live preview mode
- Extended plugin marketplace
MIT License — see LICENSE for details. Part of the COSMIC ecosystem.