skills/showtime/references/workflows/slideshow.mdWorkflow: slideshow (photos or screenshots with music)
Read this when the user has a set of still images and wants a video: an event recap, a portfolio, a
"year in photos", a product screenshot reel, a memorial or celebration ("make a video from these 30
photos with music"). The build is a dom project: one scene per image with a slow move (ken-burns),
transitions, optional captions, and a music bed whose downbeats time the changes.
Inputs#
- The images (a folder), in the order the user wants or with a rule (date, filename).
- Helpful: a title and closing line, captions per photo, the mood, the platform, a song the user owns.
Defaults#
2.5-4 s per image (longer for images with text, shorter for energetic edits; total = images × hold);
16:9 (9:16 for social, which crops wide photos: use focus per image); gentle ken-burns zoom 1.08-1.12
towards the subject; crossfade or push transitions, one style throughout; acoustic-folk,
piano-emotional or lofi-chill bed composed to the exact length; title card and end card of 2.5 s.
State the mood you read from the photos and the order you chose (date taken, else file name) as
assumptions; ask only when the order is genuinely unclear and matters (a story, a memorial).
Steps#
- Job.
showtime job init <name>-slideshow --goal "...". The printed folder is<job>. - Look at the images.
showtime assets sheet <folder> --sort date -o <job>/work/sheet.jpgputs every image on one numbered grid (EXIF rotation applied, sizes as displayed; clips show a frame and their length) with badges forlow-res(long side under 1280 px) and~N(looks like item N: a burst or duplicate);sheet.jsonbeside it lists size, orientation and date taken. Read the sheet, then open single images only where you need detail: faces (thefocuspoint), text inside screenshots, blur. Drop near-duplicates, keep low-res images small or short. Order them into a small arc (start strong, build, end on the best image). Done when: an ordered list with a hold time and focus point per image is in SHOWTIME.md. - Project.
showtime new dom <job>/project --title "..." --duration <total>(later length changes:showtime retime <job>/project -d <total>). Copy the images into<job>/project/media/. Replace the scenes with one<section class="scene" data-start data-dur>per image containing<div data-st="ken-burns" data-src="media/01.jpg" data-focus="[40,35]" data-zoom="1.1">, plusdata-transitionon each incoming scene (showtime motion transitions --energy calm). - Music. Compose to the total length with section markers on your act changes:
showtime audio compose --style acoustic-folk --dur <total> -o <job>/project/audio/bed.wav, then move each scene start to the nearest downbeat inbed.beats.json(bars for calm edits, beats for fast ones). With the user's own song:showtime audio beats <song>andshowtime audio fit <song> --dur <total>. Pointaudio/mix.jsonat the bed. - First look.
showtime check <job>/project,showtime snap <job>/project --every 2, look for bad crops (faces cut off at 9:16) and images that are too dark or low resolution for the frame. - Final, verify, deliver. Poster on the best image;
showtime render <job>/project --job <job>;showtime qa <job>(the latest final); share copy; the delivery card.
Pitfalls#
- Every image the same move: vary direction and focus, keep the speed constant.
- Zooming into a low-resolution photo past its pixels: keep zoom ≤ 1.12 on small images.
- Text-heavy screenshots flashing by: hold them 1 s longer per line of text, or zoom to the part that matters.
- Photos of people: use them as the user provided; do not add names or captions you were not given.
- Stock or web images the user did not supply: only CC0/public domain via
showtime assets media search, with credits when required.
Read next#
references/components.md (ken-burns, end-card), references/transitions.md, references/music.md,
references/pacing.md, references/assets.md.