Get this effect
Switch to Code in your Claude Desktop App
Install the skill (once)
Show the prompt
Install the Recharm video effects skill: download https://recharm-growth-staging.s3.us-east-2.amazonaws.com/website/downloads/recharm-video-effects.zip and unzip it into ~/.claude/skillsAsk for the effect
Add a zoom-out reveal to input.mp4 How close the first frame is: 2.0 Seconds to pull back to the full frame: 0.6
Several videos, several effects, one ask
Put your clips in the folder, mention them with @, and ask for everything at once. Claude runs one tested script after another on each clip, then joins them.
Add a zoom-out reveal to @clip1.mp4, put a sale badge on @clip2.mp4, give @clip3.mp4 a VHS look, then join all three with crossfades.
Settings you can change
Ask Claude to change any of these, or edit them at the top of the command.
| Setting | Default | What it does |
|---|---|---|
START | 2.0 | How close the first frame is. 2.0 is twice as close. |
EASE | 0.6 | Seconds to pull back to the full frame. |
Without the skill
Don’t want to install the skill? Paste this prompt into Claude Code and Claude writes the command itself.
Show the prompt
In input.mp4, start 2x zoomed into the center and pull back to the full frame over the first 0.6 seconds, with the zoom at time t (seconds) equal to 1 + (1 - t/0.6)^2, so it moves fast at first and eases as it lands. Keep the zoom centered, and keep the size, frame rate and audio. Use ffmpeg and save it as output.mp4.Our first prompt didn't give the easing curve, so Claude picked a different one; the prompt above now gives the formula. Watch the frames during the zoom: Claude's first render drifted off-center there before it caught and fixed it.
Run it without Claude
This is the exact command we tested. Save it as zoom-out-reveal.sh and run:
sh zoom-out-reveal.sh input.mp4 output.mp4Show the command
#!/bin/sh
# Zoom-out reveal: open 2x close on the center, then ease back to the full frame over 0.6s.
# Usage: sh zoom-out-reveal.sh input.mp4 output.mp4
set -e
IN="$1"; OUT="$2"
START=2.0 # how close the first frame is (2.0 = twice as close)
EASE=0.6 # seconds to pull back to the full frame
SIZE=$(ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 "$IN")
FPS=$(ffprobe -v error -select_streams v:0 -show_entries stream=r_frame_rate -of csv=p=0 "$IN")
# (1 - progress)^2 makes the pull-back fast at first and gentle as it lands
ffmpeg -y -i "$IN" -vf "zoompan=z='if(lt(it,$EASE),1+($START-1)*pow(1-it/$EASE,2),1)':d=1:x='iw/2-iw/zoom/2':y='ih/2-ih/zoom/2':s=$SIZE:fps=$FPS" \
-c:v libx264 -crf 18 -pix_fmt yuv420p -c:a copy "$OUT"





