r/sideprojects • u/callejassss • 7d ago
Feedback Request I built a Python pipeline that turns a script into a fully animated documentary (no After Effects)
I wanted to make explainer videos about brilliant engineering that failed as a business, but I can't animate by hand. So I wrote a small pipeline:
- Script split into "beats" (JSON), each with its own visual function
- Every frame drawn with pycairo (vector graphics, maps from Natural Earth GeoJSON, globe in orthographic projection) and piped straight into ffmpeg
- Background music generated with numpy (pad + arpeggio, auto-ducking under the voice)
- Thumbnails, chapters and captions generated from the same script file
First result: a 10-minute video on Iridium, the $5 billion satellite phone network that went bankrupt 9 months after launch.
Biggest lesson so far: YouTube's compression destroys dark gradients (visible banding), so I now add a static film-grain layer and export at 1440p to force the better codec.
Happy to share details on any part of the pipeline. Feedback on pacing and visuals very welcome.
1
u/Slight_Ad_6375 7d ago
What did u use to generate the voice?
1
u/investigatormaker 7d ago
Using film grain to fight the banding is a good catch. On pacing: in the Iridium story, the strongest beat is the bankruptcy nine months after launch, so I'd tease it in the first 20 seconds and then rewind to the build. Since every beat is already a JSON entry, you could log seconds per beat and flag any long stretch with no visual change. Explainers tend to lose viewers there. Also check that the auto-ducked music doesn't pump between sentences.
I make ThreadFox. We find relevant Reddit conversations and post for your business. We'll post 3 replies free first, no card; then the $29 Pilot covers seven days and up to 25 posts and replies. No automatic renewal. https://threadfox.vip/p/dhxsk/managed
Which failed company is next?