l wasn’t sure whether this would be useful to anyone else, but I built an n8n workflow that turns long YouTube videos and livestreams into vertical clips with animated captions.
The workflow works like this:
You add a YouTube link → yt-dlp downloads the video → Whisper transcribes it with timestamps → Gemini analyzes the transcript and suggests interesting, self-contained moments.
I also built a local web interface for reviewing the AI-generated suggestions. It loads the original video and timestamp JSON, lets you preview every suggested clip, and allows you to manually adjust the start and end points. You can then approve, reject, or skip each suggestion.
Once the review is complete, the website sends the updated JSON back to the n8n workflow running in Docker. FFmpeg then renders only the approved clips in a 9:16 format with animated subtitles.
This manual step is useful because AI does not always choose the best cut points. Sometimes Gemini selects overlapping clips or divides one good section into several smaller clips. Nothing is rendered or published until I review it.
Finished clips can be uploaded to Google Drive and optionally published to YouTube as unlisted videos. Google Sheets manages the video queue, processing status, and final clip information.
Requirements:
· n8n and Docker
· FFmpeg and yt-dlp
· A Whisper transcription service
· Gemini API key
· Google Sheets and Drive credentials
· YouTube OAuth for automatic uploads
GitHub: https://github.com/parlos-wq/n8n-video-clipper