No metered anything
No per-minute transcription, no per-token analysis. Process a three-hour podcast twice because you did not like the first pass, and the bill is the same as processing nothing.
ClipForge transcribes your video, works out which sixty seconds are worth keeping, cuts them vertically and hands them to you for review — all on the GPU already sitting in your desk. Nothing is billed per minute, because nothing is sent anywhere to be billed.
Transcription, semantic analysis and encoding are the three expensive operations in a clipping pipeline, and they are also the three that a consumer graphics card is genuinely good at. ClipForge runs all three locally and uses the cloud only for the things it is actually better at: knowing who you are, holding a little structured state, and reaching your phone.
No per-minute transcription, no per-token analysis. Process a three-hour podcast twice because you did not like the first pass, and the bill is the same as processing nothing.
A 60-minute 1080p source is 1–3 GB. Uploading it would invert the whole point, so it never happens: the source is read from disk and stays there.
Whisper and the analysis model cannot both sit on 6 GB at once, so GPU residency is scheduled explicitly and every job is a checkpointed pipeline that resumes mid-run instead of starting over.
Five stages, each one checkpointed. Close the lid halfway through and the job picks up where it stopped rather than paying for the same work twice.
Point it at a file or a URL. yt-dlp handles the fetch; the source lands on your disk and stays there.
faster-whisper produces a word-level transcript on the GPU, without PyTorch and without an API key.
A local language model reads the transcript and scores candidate segments on whether they stand alone.
ffmpeg cuts the winners, reframes them vertically and encodes with NVENC — hardware you already paid for.
Approve or reject from your phone. Approved clips upload to YouTube with the title and privacy you chose.
"Local-first" is a claim that is easy to make and easy to check. Here is the actual split, and it is enforced by the security rules in the repository rather than by a promise on a marketing page.
Nothing exotic, and every part of it replaceable.
Python 3.12 · faster-whisper on CTranslate2 · Ollama · yt-dlp · ffmpeg with NVENC · a scheduler with one GPU lane and several CPU lanes.
Angular 22 · Tailwind · an installable PWA with an offline shell, plus a Tauri desktop build for the machine that holds the credentials.
Firebase Auth, Firestore, Cloud Messaging and Hosting. Security rules enforce approval; there is no server of ours in the path.
No. Source video never leaves your machine. Only a finished clip is uploaded, only so it can play on a phone during review, and it is deleted as soon as you review it — or after five days by a bucket lifecycle rule, whichever comes first.
An NVIDIA GPU. The reference machine is an RTX 3050 with 6 GB of VRAM, and that constraint shapes the design: transcription and the analysis model cannot both be resident, so GPU residency is scheduled explicitly and jobs are checkpointed so they can resume.
ClipForge is MIT licensed and free. There is no metered API in the pipeline. You supply a Firebase project for sign-in and job state, which for one person sits inside the free tier apart from the clip bucket that makes phone review possible.
It publishes what you approve. The OAuth client secret and refresh token stay on the worker machine, encrypted, and are never written to the cloud — so a compromised database cannot upload to or delete from your channel. A publish that cannot afford its API quota is refused before the upload starts rather than after it.
No. It is software you install and run. There is nothing to sign up for here, no seat to buy, and no queue behind other people's video.
It is in active development and built in the open. The pipeline, review and publishing all work; the plan, the architecture decisions and every rough edge are in the repository rather than behind a roadmap page.
Python 3.12, ffmpeg, Ollama and a Firebase project. The README walks through the rest in about fifteen minutes.