JSON-driven video composition engine for the Trollfabriken FX ecosystem
Project description
video-compose
JSON-driven video composition engine for the Trollfabriken FX ecosystem.
Define a presentation or video as a TVCS (Trollfabriken Video Composition Spec) JSON file and render it to MP4 or PNG frames. The JSON can be authored by hand or generated by an AI via the APISuite VideoComposeProvider.
Quick start
pip install video-compose[all]
video-compose render my_presentation.json
Spec example
{
"tvcs": "1.0",
"output": { "width": 1280, "height": 720, "fps": 30, "formats": ["mp4"] },
"theme": { "palette": "neon", "background": "#0d0d1a" },
"segments": [
{ "id": "intro", "type": "mathviz", "duration": 4.0, "effect": "matrix_rain" },
{ "id": "chart", "type": "chart", "duration": 6.0, "chart_type": "bar",
"data": { "title": "Revenue", "categories": ["Q1","Q2"], "series": [{"name":"2024","values":[420,580]}] } }
],
"transitions": { "default": { "type": "dissolve", "duration": 0.5 } }
}
CLI
video-compose render spec.json Render to MP4
video-compose validate spec.json Validate without rendering
video-compose preview spec.json intro Render single segment
video-compose schema Print full JSON Schema
Optional dependencies
| Extra | Enables |
|---|---|
[mathviz] |
mathviz-fx background generators |
[chart] |
chart-fx animated charts |
[geomap] |
geo-map-fx choropleth maps |
[shape] |
shape-fx particle/geometric effects |
[fractal] |
fractal-fx generative backgrounds |
[audio] |
talk-cast voiceover + audio-arrange mixing |
[data] |
CSV, Excel, SQL, REST API data sources |
[web] |
web-overlay HTML overlays (requires Playwright) |
[all] |
Everything above |
Ecosystem
video-compose is the composition layer for the Trollfabriken FX suite. It orchestrates:
mathviz-fx · chart-fx · geo-map-fx · shape-fx · fractal-fx · text-fx · color-fx · cut-fx · talk-cast · audio-arrange · slide-render · still-motion · web-overlay
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file video_compose-0.9.0.tar.gz.
File metadata
- Download URL: video_compose-0.9.0.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.17.0 {"ci":null,"cpu":"AMD64","implementation":{"name":"CPython","version":"3.13.7"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.0.16 11 Feb 2025","python":"3.13.7","system":{"name":"Windows","release":"11"}} HTTPX2/2.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a880275af37cddac4610b92dbf559d7d6121c32ed683f76981975b9d031015df
|
|
| MD5 |
831984d96384e471b5b1616457618563
|
|
| BLAKE2b-256 |
64e3917bf27be6ff4aa439287d2c254149a6ef017dd0fe2b1fe69a4a156aeb26
|
File details
Details for the file video_compose-0.9.0-py3-none-any.whl.
File metadata
- Download URL: video_compose-0.9.0-py3-none-any.whl
- Upload date:
- Size: 13.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.17.0 {"ci":null,"cpu":"AMD64","implementation":{"name":"CPython","version":"3.13.7"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.0.16 11 Feb 2025","python":"3.13.7","system":{"name":"Windows","release":"11"}} HTTPX2/2.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be660f2967f22c9ddbd788a53648641f50fa8cd8d8fca1fc9d4e1f05057f0bb9
|
|
| MD5 |
59942bae0812fdd46183ec1eab92f8ce
|
|
| BLAKE2b-256 |
888260cf3c992b319aff10c9e15161b06628eda545bc798660e6e822574bd6ad
|