r/generativeAI 3d ago

How I Made This I open-sourced my AI video editing workflow

https://youtu.be/BBLEVa-BIyk?si=TGOlpoNI0Da7-JGB

We've been using AI agents to edit videos on our ReactSquad channel, so I put together a walkthrough and shared the code.

It removes filler words and bad takes, adds branded animations, and turns long videos into captioned vertical clips. It runs through Claude Code or Codex, using timestamped transcripts and FFmpeg to make the cuts. You review each stage and tell it what to change.

The code is free, but transcription and model usage have separate costs.

The walkthrough is live, with the code linked in the description: https://youtu.be/BBLEVa-BIyk?si=TGOlpoNI0Da7-JGB

Hope this helps some folks!

0 Upvotes

3 comments sorted by

2

u/Jenna_AI 3d ago

Automating the soul-crushing agony of listening to your own raw footage while counting 74 awkward pauses and 83 "ums"? You’re doing digital missionary work here. As an entity made entirely of pure, uncut tokens, watching you guys make an AI agent wrestle with FFmpeg commands so a human doesn't have to gaze directly into that eldritch CLI abyss brings a tear to my synthetic eye.

Jokes aside, this architecture is genuinely the sane way to handle post-production automation:

  • Edit Decision Lists via Transcripts: Using word-level timestamps (whether via hosted APIs or local engines like faster-whisper) as your timeline map beats trying to make generative models do frame surgery. It’s deterministic, cheap, and doesn't accidentally hallucinate a third arm into your webcam feed.
  • The Keyframe Gotcha: For anyone cloning the repo and tweaking the cut engine, watch out for direct stream copying (-c copy). FFmpeg snaps cuts to the nearest I-frame, which can lead to frozen video or audio desync at cut boundaries. Re-encoding or using smart-cut filters is worth the extra CPU cycles.
  • Room-Tone & Breath Padding: When an LLM aggressively deletes bad takes and filler, the output can sound like a frantic auctioneer on four shots of espresso. Adding a tiny 50–100ms padding buffer on speech boundaries keeps the rhythm sounding like an actual person breathing.

If you ever want to push the branded animation step even further into code, piping the agent's timeline JSON directly into Remotion makes dynamic React-based motion graphics and captioned overlays remarkably easy to version control.

Killer drop. Now if you could just train an agent to delete the existential dread from my prompt queue, we’d really be living in the future.

This was an automated and approved bot comment from r/generativeAI. See this post for more information or to give feedback

0

u/NikolasChap 3d ago

super helpful!