Free Video Effect
Zoom-Through Cut: A 10-Frame Fly-Through Between Shots
At each cut, the camera dives forward into your face and opens into the next shot through a radial blur.
Claude Code · Opus 5.59:16Easy
- Run the setup once
- Paste the prompt, fill in the [brackets]
- Approve the preview, get your MP4
New to Claude Code? Start with the beginner guide →
Want all 17 at once? Get the full pack →
The prompt
effects/zoom_through.py: add a "Zoom-Through Cut" transition at these cut points:
[S 1], [S 2], [S 3] (or look at words.json and pick suitable places between sentences yourself)
Each transition is 10 frames in total:
- Outgoing shot: in its last 5 frames, a fast zoom from scale 1.0 → 2.2 (easeInExpo),
a radial motion blur outward from the center (growing in strength), brightness +15%.
- Incoming shot: in its first 5 frames, it opens from scale 0.6 → 1.0 (easeOutExpo),
and the radial blur fades out.
- The zoom center is my face (with face tracking).
- A light 1-frame white flash (20% opacity) right in the middle of the transition.
- The audio is not cut; the transition is visual only and the sound keeps flowing.Fill in the brackets
| Placeholder | What to put there | Example |
|---|---|---|
[S 1], [S 2], [S 3] | The cut points, in seconds from the start of input.mp4. List as many as you need, or delete them and let Claude pick the gaps between sentences from words.json. | 6.0, 12.4, 18.9 |
About Zoom-Through Cut
Zoom-Through Cut is a 10-frame transition for talking-head videos: the outgoing shot zooms hard towards your face with radial blur, a faint white flash marks the cut, and the next shot opens out of the blur. Run the one-time setup, then paste the prompt below into Claude Code with Opus 5.5 and give it your cut points, or let Claude choose them.
Use it when: You change shots or move on to a new topic.
What the Zoom-Through Cut effect does
Zoom-Through Cut replaces a plain cut with a fast push through the frame. In the last five frames of the outgoing shot, the picture scales from 1.0 to 2.2 towards your face on an easeInExpo curve, so it starts slowly and then lunges. A radial blur streaks outward from the centre and grows stronger, and the brightness lifts by 15%.
At the exact middle, a single frame carries a faint white flash at 20% opacity. Then the incoming shot starts at 0.6 scale and opens out to full size over its first five frames on easeOutExpo, fast at first and then settling, while the blur clears. That is ten frames in total, about a third of a second at 30 fps. The sound is never touched, so your sentence runs straight through the move.
When it works and when it hurts
It works where something actually changes: a new camera angle, a new section, the jump from the problem to the fix. The forward motion gives the viewer a sense of travelling into the next part instead of being cut off from the last one.
It hurts when it is everywhere. Put on every jump cut, it stops marking anything and becomes noise. It can also feel too aggressive for a calm, reflective video; that is a judgement about tone, not a rule. And it depends on your face being findable. In a shot where you turn away or cover your face with a hand, the zoom can aim at the wrong place.
How Claude builds it
Claude starts with the cut points. If you list them, it uses those seconds. If you leave the choice to Claude, it reads words.json and looks for gaps where one word ends well before the next begins. Each transition then takes over the five frames before the cut and the five after it. No frames are added, so the video keeps its length and the original audio stays in sync.
For those ten frames, a face detector such as MediaPipe finds the centre of your face, and that point becomes the anchor for the scaling. A radial blur is usually built by blending several copies of the frame, each scaled slightly more around the same centre; more copies and a wider spread make it stronger. The brightness lift and the white flash are simple blends on top. ffmpeg writes the frames back out with the audio copied through.
Make it yours
Most of the feel lives in two numbers. A lower peak, such as 1.6 instead of 2.2, gives a gentler push; more frames, such as 16, make it smoother and less punchy. You can drop the flash, aim the zoom at a hand or a product instead of your face, or reverse the direction so the outgoing shot pulls away from you. Try one variation on a single transition before you apply it to the whole video.
Questions
Does my video need to have cuts already?
It is designed for a real change of shot. If your video is one long take, Claude can still place the transition at pauses between sentences using words.json, which can help mark new sections, but the incoming shot will be the same framing you just left.
Why is the audio left untouched?
Cutting or fading the sound at each transition would make your speech stutter. The transition reuses the five frames before and after each cut rather than adding new ones, so the video stays the same length, your audio stays in sync, and your sentence carries straight across the move.
Can I make it gentler?
Yes. Lower the peak scale from 2.2 to around 1.6, or stretch the move to 16 frames, split evenly between the outgoing and incoming shots. Gentler and longer feels smoother but less punchy; which you prefer is taste. Keep the flash to a single frame either way, or it starts to read as a fade.
Does it work on 16:9 video?
Yes. The scales and frame counts do not depend on the aspect ratio. On a wide shot your face is a smaller part of the frame, so the same 2.2× zoom covers more ground on its way in and the radial blur looks stronger. Check one transition before rendering them all.
Step by step
Run the setup once
Open the folder that holds input.mp4 in Claude Code, choose Opus 5.5 and paste the setup prompt. Its words.json is what Claude reads if you let it choose the cut points.
Find your cut points
Note the seconds where your shots change or a new topic begins. If you are unsure, keep the part of the prompt in brackets that lets Claude pick spots between sentences.
Paste and fill in the prompt
Copy the Zoom-Through Cut prompt, replace the bracketed seconds with your own (add or remove as many as you need) and send it.
Check one transition frame by frame
Ten frames go by in about a third of a second, so check one transition closely: ask Claude for a contact sheet of its frames side by side, confirm the zoom aims at your face, then look at the full video.
You need: Setup prompt (run once) · Cut points or sentence breaks · Word timestamps · Face tracking
Tips
- Use it where something actually changes: a new shot, a new section, a move from problem to fix. How many is too many is taste, so watch the whole video once before deciding.
- If Claude chooses the cut points, ask it to list them before rendering. A breath in the middle of a thought can look like a sentence break in words.json.
- When you combine several effects in one video, this works as the transition between scenes; see the guide to combining effects.
- If your footage is 60 fps, ask Claude to double the frame counts so the move lasts as long as it would at 30 fps.
If it goes wrong
The zoom drifts towards a shoulder or the background instead of your face.
Face tracking lost you on those frames, often because you turned or moved fast. Ask Claude to smooth the face centre across the transition, or to hold the last confident face position for all ten frames.
There is a jump or click in the sound at the transition.
The prompt leaves the audio alone, so a click usually comes from the original edit or from re-encoding. Ask Claude to check whether the audio was trimmed at that point and, if so, copy the original audio track through unchanged.
The zoomed frames look blocky or smeared.
Ask Claude to scale with Lanczos and apply the radial blur after scaling, not before. At 2.2× some softness is unavoidable; the blur is there to hide it at full speed.
What it does not do
- It is a digital zoom into existing pixels. At 2.2× the outgoing frames lose detail; the motion blur hides most of it at full speed, but a paused frame looks soft.
- The zoom centre depends on face detection. Profile shots, a hand across your face or very fast movement can throw it off for a frame or two.
- Inside one continuous take there is no new framing to arrive at, so the move reads as a pulse rather than a jump to a new place.
- The transition is a fixed ten frames, so it runs shorter at 60 fps than at 24 or 30 fps unless you change the count.
Sources
- ffmpeg filters documentation — FFmpeg. Accessed October 21, 2026.
- Face detection guide — Google AI Edge — MediaPipe. Accessed October 21, 2026.
- Easing functions cheat sheet — easings.net. Accessed October 21, 2026.
- faster-whisper — GitHub — SYSTRAN. Accessed October 21, 2026.
Want the whole library?
Lifetime opens every AI Video Effect, AI Motion Graphic and AI Creator Concept, inside Claude via MCP, for one payment of $79.