Workflow · Updated October 2, 2026

Auto reframe videoto 9:16 with Claude

Claude Code reframes 16:9 footage to 9:16 by measuring where the face is in each shot and cropping a vertical window around it with ffmpeg. The face sits centred with headroom, at about 40% of the frame height. A check on the finished file fails any shot that cuts off a head.

16:9 in, 9:16 out, the face measured per shot

9:16 windowalmost like a hedge fund
  • Face centre at 40% of the frame height, crown kept
  • Median face per shot, never one median for the whole clip
  • Captions shrink to fit the safe area, then a pixel check

What you need

  • Claude Code in a terminal, pointed at a folder with your footage.
  • ffmpeg and ffprobe on your PATH.
  • A local Whisper model for word-level transcripts.
  • Python with numpy, soundfile and OpenCV for the checks.

Measure the face per shot

Sample frames every couple of seconds, detect the face, and take the median position for each shot. One median for the whole clip is why heads get cut off.

  1. Track the face

    Sample a frame every 2 s with a face landmarker (MediaPipe works) and record the centre and height.

  2. Median per shot

    Group the samples by shot and take each shot's own median. A clip-wide median leaves faces 150 to 250 px off-centre.

  3. Measure the head top

    Find the crown from the picture, where the wall colour gives way to hair, not from a model. Landmark arithmetic overshoots a bald head by about 170 px.

  4. Crop

    A 9:16 window, face centred horizontally, face centre at about 40% of the height for a close-up.

  5. Check the output

    Measure head tops and face offsets on the finished video. Any cut crown fails the build.

Cut a 9:16 window around the face Claude measured for this shot (centre x = 1104 px on a 1920 x 1080 source).
ffmpeg -i shot.mp4 -vf "crop=ih*9/16:ih:1104-ih*9/32:0,scale=1080:1920" out/shot_9x16.mp4

Framing rules that hold up

One placement rule per element, measured per shot, and a still of every frame state before any video renders.

  • Face first: the first frame of every short is the speaker, never a title card.
  • Slow push only, about 2%. No punch-in bursts.
  • In a split screen, the face re-centres in its own window with the crown kept.
  • Before any render, Claude renders stills of every frame state. You look. Then video.

Every Claude video editing guide

Remove Filler Words From Video With Claude (2026)Cut um, uh, stutters and long pauses from a talking-head video with Claude Code, ffmpeg and a primed Whisper transcript. Exact prompts, commands and checks.Turn a Podcast Into Shorts With Claude (2026)Turn a long podcast or video into vertical shorts with Claude Code: pick moments from the transcript, tighten, pace, reframe to 9:16 and caption. Real steps.Auto Captions and Subtitles With Claude (2026)Add captions and subtitles to video with Claude Code: word timings from Whisper, an SRT rebuilt from the cut, burned-in captions that shrink to fit, a QA gate.Clean Up Podcast Audio and Hit -14 LUFS With ClaudeClean up podcast and talking-head audio with Claude Code and ffmpeg: high-pass, expander, denoise, EQ, 3:1 compression, de-esser, then -14 LUFS and -1 dBTP.Remove Silence and Jump Cut Video With ClaudeTrim dead air and pauses from talking-head video with Claude Code and ffmpeg: detect pauses over 0.4 s, cut them to 0.2 s and hide the jump. Commands included.Make YouTube Thumbnails With Claude (2026)Make YouTube thumbnails, Shorts covers and LinkedIn crops with Claude Code: the frame where the hook lands, the title in the middle band, four shapes.Descript Alternative: Edit With Claude Instead (2026)Replace Descript with Claude Code, ffmpeg and Whisper: filler removal, transcript cuts, captions and Studio Sound-style cleanup. Prices compared, limits stated.Opus Clip Alternative: Make Shorts With Claude (2026)Turn podcasts into shorts with Claude Code instead of Opus Clip: transcript-picked moments, 9:16 reframes, captions. Opus Clip, Riverside, Vizard prices.CapCut Alternative: Edit Talking-Head Video With ClaudeA CapCut alternative for talking-head and podcast video: Claude Code with ffmpeg and Whisper for captions, silence and filler cuts, 9:16 reframing and loudness.Submagic Alternative: Captions and Shorts With ClaudeA Submagic alternative: Claude Code writes word-timed captions, cuts silences and fillers with ffmpeg. Submagic, Captions and Vizard prices compared.

Frequently asked questions

How do I auto reframe a video to 9:16?

Detect the face in each shot, take that shot's median face position, and crop a 9:16 window around it with ffmpeg. Claude Code runs the detection and writes the crop for every shot.

How do I resize a video for Reels without cutting off heads?

Crop per shot around the measured face rather than centre-cropping the whole video, and check head tops on the finished file.

What resolution is 9:16?

1080 x 1920 for Reels, Shorts and TikTok.

Want finished ads, not editing sessions?

Director by Sprites is a full creative team for your startup. Every Monday you get finished, on-brand video ads, reviewed by a human. Strategy, hooks, scripts, shooting and editing, end to end. You never write a prompt. You pick the winners. Sprites ships the campaigns. In private beta.