Every impression is a shot window. Hit it.
shotwindow is a CLI vision instrument for YouTube thumbnails. It measures what survives the glance — saliency, legibility at feed size, OCR read-back, rank against your channel's live thumbnails — then renders five redesigned variants that hit.
free · open source · previews need zero credentials
One command in, measurements out
Point it at a channel. It lists the full upload history with view counts — no API key — and orders it by what's most worth fixing: weak thumbnail, real traffic.
$ shotwindow scan @RickAstleyYT --limit 5 --deep deep listing: 24 uploads via InnerTube (view counts included) pop views video 32 20.0K Keep Singing (Live at The O2, London, April 2026) 36 15.0K Dance (Live at The O2, London, April 2026) 49 29.0K Angels On My Side (Live at The O2, London) 55 114.0K Raindrops (Official Video) 59 8.4K '50' Track By Track (10 Years Later) Ordered by fix-priority (weak thumbnail × traffic). $ shotwindow optimize LjmOX9jGoR4 [1/1] Rick Astley - Raindrops (Official Video) hook "RICK ASTLEY" · pop 55 → 94 (banner 79 · punch 94★ · clean 82 · zoom 81 · cutout 67) channel rank: #2 → #1 of 16 live thumbnails
What the feed sees
The fight happens at 168 pixels. shotwindow re-measures every render there — and proves the text survives by reading it back with OCR.



The cutout, made on your machine
A local ONNX segmentation model lifts the subject, strokes the outline, and drops it on an accent-lit backdrop — the style every paid tool sells, rendered offline, with the model weights on your disk.



at feed size, OCR recovered 2/2 hook words from the banner, zoom, and cutout renders — measured, not assumed
Five instruments
Saliency map
Where the eye lands. Text goes over the calmest region, crops center on the subject, gradients flip away from faces.
32-col gridOCR read-back
Tesseract reads your render at 168px. The score is the share of hook words a squinting viewer's eye could actually recover.
2/2 wordsChannel rank
Where the redesign lands among your currently live thumbnails — the before rank tells you which uploads most need the work.
#2 → #1 of 16Deep listing
Full upload history with view counts, zero credentials — ordered by fix-priority: weak thumbnail × real traffic.
24 uploadsA/B rotation
Rotate variants live on YouTube; view velocity picks the winner and applies it. Unattended via Task Scheduler or cron.
views/hourNo guarantees. Measurements.
shotwindow doesn't promise viral. It automates the practices that correlate with click-through — readable text, subject close-ups, contrast that survives the shrink — and hands you instruments. Your audience stays the judge.
Everything runs on your machine: previews need no login, no API key, no upload. Your thumbnails never leave your disk until you say --apply.
Launching soon
The CLI is being polished for its first public release. Drop your email and we'll send one note the day it ships.