Drop in a video. It finds the cuts, finds the faces, works out who is speaking, and moves the crop to them. Nothing is uploaded, because nothing leaves your computer.
$29.99 once · No account · No subscription · Yours to keep
For every face it finds, it measures how much the mouth is moving and matches that against the speech band of the soundtrack. The crop goes to whoever is actually talking — not to whoever happens to be biggest.
Three detectors run together, and the tracker coasts through the frames where none of them sees anything. On stylised art a character is detected on maybe a third of frames, which is where face-per-frame tools fall apart. When drawn characters sit over filmed backgrounds, a Real life → Cartoon control tells it which of the two to believe.
The crop path is solved across a whole shot at once, then smoothed with limits on both speed and acceleration. It can't lurch. At a cut it snaps instantly, the way a cut should.
Offline, permanently
Nearly every tool that does this is a website. You upload your footage to someone's server, wait in a queue, and download it back. If you are working on something unreleased — a pilot, a client's cut, anything under embargo — that is the whole problem.
The one desktop alternative does process locally, and then asks you to sign in, and to keep paying every year to go on using it.
Vertical Cut is a folder on your machine. It ships with its own Python and its own ffmpeg. It makes no network call at any point, so it runs on a laptop on a plane, your footage stays where you put it, and there is nothing to log in to.
Inside
Colour-histogram distance plus frame difference, so the crop is never panned across an edit.
A photographic face detector and two cascades trained on drawn faces, pooled with motion and a foreground model built from the shot's own background.
Mouth movement inside each face, correlated against the 300–3,400 Hz band of the audio, with a minimum dwell so the crop can't flick per syllable.
Each position across the width is scored, and the best path through the whole shot is solved at once. A window holding two characters outscores one holding either alone, so it keeps both in frame when they'll fit.
Lanczos scaling, H.264 high profile, the original audio re-attached, and the file written beside the source.
The window
Dropping a video loads it: the first frame, the shape, the length, and a player to watch it in. Nothing runs until you press Convert. Afterwards, flip Before and After to compare the vertical cut against the original without leaving the window.
Four output shapes, two framing modes, three camera speeds. Drag in a whole folder instead and a batch writes into a 9x16 subfolder beside each source, skipping anything it made earlier — so you can run the same folder twice without it eating its own output.
Preview shows every shot it found with the crop it chose. Drag the frame to place it, tighten it, or hold a shot still. Everything you don't touch stays automatic, and the shots you changed are marked.
Already converted it? Reframe shots reopens the same solve instantly. Fixing one shot costs you a re-render, not another analysis — and it writes a new file, so your first export stays put.
Specifications
| Output shapes | 1080×1920 (9:16) · 1080×1080 (1:1) · 1080×1350 (4:5) · 720×1280 |
|---|---|
| Input | mp4, mov, m4v, mkv, avi, webm, mpg, wmv, mts, m2ts, mxf, flv, ts, 3gp — any frame rate, any aspect, including 4K and rotated files |
| Framing | Follow whoever is talking, or follow the main subject. Optional punch-in on a lone subject. |
| Camera | Smooth · Balanced · Snappy — settling from 1.6s down to 0.6s |
| Batch | A folder at a time, three levels deep, up to 400 clips per run |
| Speed | Roughly two to four times the length of the clip, on CPU alone |
| Requires | Windows 64-bit. 227 MB unpacked. No Python, no admin rights, no GPU. |
| Network | None, ever |
Before you buy
The tools that do this charge $10 to $30 a month.
This is $29.99, once, and then it is yours.
Delivered as a zip. Unpack it anywhere and double-click.
Card checkout is being set up — email me and I will send it the day it opens.