I tried to build automatic reels three times.
The first two I threw away. Not out of laziness — you could tell at a glance they were fake. Static, flat, with a synthetic voice that read well and said nothing.
The third time I understood what was missing. Not the little guy. The camera.
What I had before
A character on a canvas, fixed screenshots, hard cuts from one scene to the next. It worked technically — it generated, it cut, a .mp4 came out — but it looked like a slide that moves, not a video.
I redid the voice, changed the colors, softened the style. Better, still flat.
The missing piece
The problem wasn't what you saw. It was how you got there.
A real camera doesn't jump from one shot to the next: it moves, it gets closer, it circles the subject, it slows down before stopping. That movement — small, almost imperceptible — is what makes a fake scene feel real.
So I wrote a virtual director: a list of shots over time, and in between the machine fills in the movement on its own, with the same acceleration and deceleration curve a real operator would use. Same 3D scene as before. Different camera.
The first real result
The first piece built with this pipeline was made to tell MYBRO — the server I carry with me even though it physically stays home. Real voice, not cloned. A camera that actually moves.
It's the first reel I rewatch without wanting to redo it.
The point
It's not the technology itself — Remotion, Three.js, a keyframe system. It's that I only understood what I was doing wrong after throwing away two entire attempts.
Sometimes the problem isn't the part that looks hard. It's the part you take for granted.
Alessio Cappuccio — xyz.vision