We turned our generator into an editor
Kinetic started simple. You type or say an idea, and it hands you back a finished reel. It works. It is live at getkinetic.me and people use it every day.
But a generator has a ceiling. Editing is not a button, it is a creative act. People always want to change something. Move a beat. Fix a word. Try it another way. And a tool that gives you one template, then forgets everything the second you close it, is not something people pay for, and not something that gets better over time.
So we changed the goal. Not a machine that spits out a clip. An editor. Something that looks at your raw footage and cuts it the way a good editor would.
That is when we hit the first wall.
The wall was quality
The old way drew everything by pulling your video into a browser and screenshotting it frame by frame. Fine for text. Terrible for a real face. Your footage came out softer than it went in.
Sit with that for a second. An editor that makes your footage look worse than your camera did. That is not an editor. We could not ship it. So we had to tear out how the whole thing renders and build it again from the floor.
The fix is boring, and that is the point
People expect the answer to be some big clever model. It is not. The smart part is the plumbing.
We run two engines now instead of one. Text and graphics still get drawn in a browser, because for type and shapes a browser is perfect and it stays sharp. Real footage never touches the browser. That is the whole trick. The footage is handled by ffmpeg, and it gets encoded one time, at the very end. One pass. No more screenshotting your face frame by frame and losing a little of it each time.
So how do the captions stay sharp if the footage skips the browser? We still draw them in the browser, but on a clear background, and we export them see through. Then ffmpeg lays that clear layer over the footage in the same single pass. The text comes out browser sharp. The face stays camera sharp. Nothing gets cooked twice.
Then the machine has to know where the face is, so the words never sit on the eyes or the mouth. That runs right on the laptop, for free, using the face detection already built into the Mac. It hands us a box around the face on every frame, and we drop the caption in the clean space that clears the face and clears the corner where Instagram stacks its own buttons.
The timing comes from the words themselves. We send the audio out and get every word back with a start and an end time, down to the millisecond. That is how the captions land one word at a time on the voice. It is how we know where the dead air is, so we can cut it. It is how the push ins land on the lines that actually carry weight.
Cut, place, push in, caption. Four jobs, one render.
Here it is on a real clip
So here is what it did on one real clip. A talking head, about a minute long, shot on a phone. It cut the silence. It found her face on every single frame, no cloud and no bill. It set the captions in the clean band under her chin, off her face. It pushed in five times across the video, once every ten seconds or so, on the lines that mattered. It wrote 49 lines of caption and lit up 17 words on its own. One render. The footage came out exactly as sharp as the original.
But cutting was never the hard part
None of this is a filter you drop on top. It is the start of an editor with a point of view.
And here is the thing building it taught us. The cutting was never the hard part. Any tool can cut. The hard part is knowing which line to push in on, and knowing when to do nothing at all. That is taste, and taste is a different problem. It is the one we are really chasing.
That is its own story.
We build things like this at CBB Labs
If you have an AI product that needs to actually work, not just demo well, come talk to us.
Get in touch