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
Join clipA.mp4 and clipB.mp4 with a zoom transition Length of the transition in seconds: 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.
Put a sale badge on @clip1.mp4, give @clip2.mp4 a VHS look, then join them with a zoom transition.
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 |
|---|---|---|
D | 0.6 | Length of the transition in seconds. |
In other editors
From each editor’s own help pages, in our words. We haven’t run these ourselves.
Built in: Zoom transitions · desktop
- Import your video and place it on the timeline.
- Trim the clips and open the Transitions tab.
- Search Zoom Shake 2, Blur & Zoom or Tremble Zoom; place one between the clips.
- Click the transition and move the slider to set its duration.
Source: The 8 Best Film Transitions to Make Your Videos Look Seamless And Engaging (CapCut), checked October 22, 2026.
Built in: Zoom In Transition · web
- Upload your video, or start with a video template.
- Click Transitions in the left menu and select the zoom-in or zoom-out style.
- Drag and drop it between two clips.
- Export your video.
Source: Zoom-In Transition Effect - Video Transitions (VEED), checked October 22, 2026.
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
Join clipA.mp4 and clipB.mp4 with a 0.6 second zoom transition that zooms into the center of A and lands on B (ffmpeg xfade zoomin). Crossfade the audio over the same 0.6 seconds. Match B's size and frame rate to A. Use ffmpeg and save it as output.mp4.Run it without Claude
This is the exact command we tested. Save it as zoom-transition.sh and run:
sh zoom-transition.sh clipA.mp4 clipB.mp4 output.mp4Show the command
#!/bin/sh
# Zoom transition: the shot rushes into the center of clip A and lands on clip B, over 0.6s. The sound crossfades underneath.
# Usage: sh zoom-transition.sh clipA.mp4 clipB.mp4 output.mp4 (both clips need an audio track)
set -e
A="$1"; B="$2"; OUT="$3"
D=0.6 # transition length in seconds
LEN=$(ffprobe -v error -show_entries format=duration -of csv=p=0 "$A")
OFFSET=$(echo "$LEN - $D" | bc)
SIZE=$(ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 "$A")
FPS=$(ffprobe -v error -select_streams v:0 -show_entries stream=r_frame_rate -of csv=p=0 "$A")
W=${SIZE%x*}; H=${SIZE#*x}
# xfade needs both clips at the same size and frame rate, so B is fitted to A first
ffmpeg -y -i "$A" -i "$B" -filter_complex "\
[0:v]fps=$FPS,format=yuv420p,setsar=1[a];\
[1:v]scale=$W:$H:force_original_aspect_ratio=increase,crop=$W:$H,fps=$FPS,format=yuv420p,setsar=1[b];\
[a][b]xfade=transition=zoomin:duration=$D:offset=$OFFSET[v];\
[0:a][1:a]acrossfade=d=$D[au]" \
-map "[v]" -map "[au]" -c:v libx264 -crf 18 -pix_fmt yuv420p -c:a aac "$OUT"





