Smart Zoom¶
Smart zoom uses AI vision to track the action in your clips and dynamically adjust the crop or pan position throughout the video.
Prerequisites¶
Smart zoom requires a vision plugin. Install the OpenAI plugin:
reeln plugins install openai
Configure it in your config file:
{
"plugins": {
"enabled": ["openai"],
"settings": {
"openai": {
"api_key": "sk-...",
"smart_zoom_enabled": true,
"smart_zoom_model": "gpt-4o"
}
}
}
}
Basic usage¶
Add --smart to any render command:
reeln render short clip.mkv --smart
How it works¶
reeln extracts frames from the clip (default: 5 keyframes)
The vision plugin analyzes each frame to find the action point
A zoom path is built from the detected positions
ffmpeg uses dynamic expressions to smoothly track the action
Smart + crop¶
The crop window follows the action — both horizontally and vertically:
reeln render short clip.mkv --crop crop --smart
Smart + pad¶
Pillarbox bars pan horizontally to center the action. Vertical position stays fixed:
reeln render short clip.mkv --crop pad --smart
Control keyframe density¶
More keyframes = smoother tracking but more API calls:
# Fewer keyframes (faster, cheaper)
reeln render short clip.mkv --smart --zoom-frames 3
# More keyframes (smoother tracking)
reeln render short clip.mkv --smart --zoom-frames 15
Default is 5 keyframes. Maximum is 20.
Combine with other options¶
Smart zoom composes with all other render options:
reeln render short clip.mkv \
--crop crop \
--smart \
--speed 0.5 \
--scale 1.3 \
--lut cinematic.cube
Debug mode¶
See exactly what the AI detected and how the zoom path was built:
reeln render short clip.mkv --smart --debug
This creates a debug/zoom/ directory with:
frame_NNNN.png— extracted source framesannotated_NNNN.png— frames with crosshair and crop box overlayzoom_path.json— full zoom data and generated ffmpeg expressions
Smart zoom with profiles¶
Enable smart tracking in a render profile:
{
"render_profiles": {
"smart-crop": {
"crop_mode": "crop",
"smart": true,
"speed": 0.5
}
}
}
reeln render short clip.mkv --render-profile smart-crop
Smart zoom with iterations¶
When --smart is used with --iterate, the vision analysis runs once and the
zoom path is reused (and remapped for speed changes) across all iterations:
reeln render short clip.mkv --smart --iterate --game-dir . --event abc123
Without a vision plugin¶
If you use --smart without a vision plugin installed, reeln falls back to
static center positioning and logs a warning. No error — just no tracking.
Next steps¶
Rendering Shorts — all render options reference
Profiles & Iterations — save smart zoom settings in profiles
Plugins — install and manage the OpenAI plugin