Autonomous systems
Autonomous video generator
You give it a topic. It writes the script, narrates it with a cloned voice, generates the images, syncs the captions, animates the mascot and delivers the MP4 ready to publish.

48
videos assembled from topic to MP4, with no manual step in between
- Conditions
- 9:16, about a minute each · script, narration, images, captions, mascot and assembly in a single pass · no financial number ever comes out of the image model
- Role
- Author, personal project
- Context
- Financial content studio in English
- Period
- 2026
- Status
- Working end-to-end pipeline
The problem
Short finance video is a format with a trap in it: if the number on screen is wrong, the whole video becomes misinformation. And generative image models are exactly bad at that — they draw something that looks like a chart, with axes that look like numbers.
The system takes a topic and assembles the video on its own: writes the script, narrates it with a cloned voice, generates the images, transcribes its own narration to align the captions to the right timing, animates the mascot’s mouth and assembles the vertical MP4 of roughly one minute.
The decision that changed the project
I wrote one rule the pipeline cannot break: no financial number or text may come from the image model. Every chart is rendered by code, from the real data, and composited on top.
That costs aesthetic freedom — you can make something prettier by letting the AI draw the whole frame. But the cost on the other side is publishing a made-up number with my face next to it. The trade isn’t hard.
The result
The pipeline runs end to end without intervention, with the models running locally on a GPU: speech synthesis, voice cloning, forced alignment for the captions and lip-sync for the mascot. Each stage is a separate module — script, voice, image, captions, mascot, assembly — because when one of them fails I need to replace only that one.
The bottleneck today isn’t technical: it’s the usage policy of the publishing platforms, which is a product positioning problem, not a code problem.