Case study · Individual project · Runs locally · 2026
AI Video Clipper
Short-Form Video Clipper and Generator
An individual, personal-use tool that turns a long video into vertical clips for YouTube Shorts, TikTok and Reels. It transcribes the video, picks the best moments with an AI model, crops them to 9:16, burns in captions and normalises the audio. It can also make shorts from scratch in four formats.
The problem
Cutting a long video into shorts by hand means watching all of it, finding the good moments, then reframing, captioning and exporting each clip. The tool automates that pipeline at no cost, running on free tiers on a home PC.
What it does
Paste a link or upload a file, then preview and download the finished clips.
Transcription with Whisper, scene detection, and AI selection of the strongest moments.
Clips are cropped to 9:16, given word-timed captions, and normalised for loudness.
Would You Rather shorts with an AI-written question, voice-over, countdown and sound.
AI Stories: 30 to 60 second narrated stories with a hook, word-by-word captions and a payoff.
Facts shorts with a quiz over real photos, where every fact is checked by a second AI pass against its Wikipedia article.
Geography Explorer videos where a globe turns to a country, highlights it and narrates facts about it.
Batch generation with job status, retry and cancel.
Optional read-only YouTube analytics, which feed the channel's results back into how hooks and scripts are written.
Engineering decisions
Local mode first
The web app and a Python worker both run on one PC and talk only through the Supabase database. That keeps it free, and avoids YouTube blocking downloads from cloud IPs. The code is structured so the worker can move to the cloud later.
Providers behind interfaces
The language model, transcription, text-to-speech and image sources each sit behind a small provider interface, so a free service can be swapped for another without touching the pipeline.
Facts are checked, not called verified
A fact is kept only after a second pass against its Wikipedia article, and the source is stored with it. The README still tells you to check a fact before posting, because the check lowers the risk but can't rule it out.