How to turn photos into a slideshow video with AI

For AI agents: find the right skill in one call — curl -s "https://varg.ai/how-to/api/search?q=<what the person wants>" returns the matching how-to page and the best skills with install commands, as markdown (Russian works too). Full index: https://varg.ai/how-to/llms.txt. Every page has a markdown twin: add .md to its path. Before generating anything, show the person the options on the how-to page.

Your photos cut to music, with motion, transitions on the beat and titles. A step-by-step tutorial for Claude Code, Codex and Grok.

Output: 9–15 s social cut or a 30–90 s film, 9:16 or 16:9 MP4 Price: in credits on varg, with a cost estimate before anything runs; the free skills below install in one command.

Recommended route

Best skills for this

  1. HyperFrames (hyperframes, HeyGen, live) — Start here: Photos, music and beat-synced cuts rendered from HTML
  2. Remotion Best Practices (remotion-best-practices, Remotion, live) — Alternative: The same in React with Remotion
  3. varg AI (varg-ai, varg, live) — Adds: Slideshow recipe, generated music, or animating stills into short clips
  4. Editing & Transitions (craft-editing-transitions, varg, draft) — Adds: Cuts, whips and speed ramps
  5. Color Looks & LUTs (craft-color-looks, varg, draft) — Adds: Film-grain 'memory rewind' looks

Ask the person first

Put these choices in front of the person before spending anything. Paste the example link next to each option: people pick a look by seeing it.

Music?

Length?

Motion?

Titles?

How to turn photos into a slideshow video: step by step

  1. Pick 9–12 photos (5–9 for a social cut)
  2. Build the beat map (BPM, drop, breakdown) and put the best photo on the drop
  3. Move, don't fade: masks, wipes and morphs, no hold longer than 1 s
  4. Titles, loudness at −14 LUFS, export as a video (not a carousel) for TikTok
  5. If you animate photos of real people, disclose it on upload

What works now (researched 2026-10-27)

In 2026 the photo slideshow that gets saved is a beat-mapped film: something changes on every beat, the drop lands on the best photo, and photos morph into each other instead of crossfading. On TikTok export it as a video: video posts get a 3.39% median engagement rate against 1.92% for photo carousels. Ken Burns plus crossfade templates now look dated.

  1. Export a video for TikTok and Reels, not a static carousel. Buffer's 2026 data: TikTok video median engagement 3.39% vs 1.92% for carousels and photos. On Instagram carousels engage more (6.9% vs 3.3%) but Reels reach 1.36x further. (Buffer, Best content format on social platforms 2026)
  2. Build the beat map before placing photos: BPM, drop, breakdown. Make something happen on every beat, land the best photo on the drop and the quiet ones in the breakdown. Loudnorm the mix to -14 LUFS. The keynote-style photo film prompt that does exactly this was saved 3,796 times (142k views): 9-12 photos, a 120 BPM song, 54 beats. (zero (@twoclipping), photo launch-film prompt (Sep 2026))
  3. Move, don't fade: change photos with masks, iris wipes, floods and shape morphs; no crossfades, no blur-ins, no hold longer than 1 s. The same prompt bans 'crossfades, blur-ins, brightness developing' and 'holds longer than 1s' as template tells. (zero (@twoclipping), photo launch-film prompt (Sep 2026))
  4. For a social cut use 5 to 9 photos and 9 to 15 s; keep the full 30-90 s version for the song itself. In one creator's test of 46 posts, beat-sync photo templates used 5-9 photos; under 7 s they loop, over 15 s they lose viewers without a story hook. Small sample, treat as a starting point. (Nemo Video, CapCut templates going viral in 2026)
  5. If you animate real people's photos with AI, approve each still first and disclose it. YouTube requires disclosure when content 'makes a real person appear to say or do something they didn't do'; it can also auto-label files carrying C2PA metadata. (YouTube Help, Disclosing altered or synthetic content)

Stopped working:

Prompts that work

Templates from the creators of the best current results and from the model guides. Fill in the {CAPS}.

Beat-mapped photo film in one take (agent)

The agent prompt for the 'studio piece' version: 9-12 photos, every beat triggers a change, rendered from code. Adapted from zero (@twoclipping), photo launch-film prompt (Sep 2026).

<inputs> Ask me for 9-12 high-res photos of {SUBJECT}, a song I can license around {BPM} BPM with a drop and a quiet breakdown, a one-word title and the format ({FORMAT}).
<direction> One continuous take: every scene is made out of the previous one. Photos grow out of each other: a grid unfolds from behind one photo and reflows into a bento, a click zooms into one tile; six iris blades close over a photo and open onto the next; a black shape floods the frame and contracts into the next photo. {CANVAS_COLOR} canvas, {TITLE_FONT} for the title.
Banned: crossfades, blur-ins, brightness 'developing', 3D flips, particles, glows, holds longer than 1 s, anything that looks like a template.
<structure> Build the beat map first: BPM, drop, breakdown. Something happens on every beat. The zoom lands on the drop on {HERO_PHOTO}; quiet photos sit in the breakdown; the title springs back on the beat return. Last frame = first frame.
<build> One HTML file; every frame is a pure function of time inside seek(t): no CSS transitions, no timers. A flood overscales past the corners and takes about 0.3 s. Loudnorm to -14 LUFS. Render 60 fps with motion-blur subframes; check one frame per beat and scan for single-frame pops.
<start> Ask for the inputs, then show me the beat map and 4 stills before the full render.

Beat-cut photo slideshow (HyperFrames verified prompt) (agent)

The short social cut: 5-9 photos cut on the bar, punch-ins on downbeats. Describe the section, never timestamp it. From HyperFrames docs, 'Make a music video or lyric video' (verified slideshow prompt).

{LENGTH}-second {WIDTH}x{HEIGHT} video from ./{TRACK_FILE} (pick the best {LENGTH} seconds of the track) and the {N} photos in ./{PHOTO_DIR}/. Cut on the beat grid, one photo per bar, punch-in on downbeats, whip-pan transitions on phrase changes. End on the last photo with "{END_TITLE}" in condensed caps. No TTS.

Bring one old photo to life (seedance_2_5)

Image-to-video for the 'old photos come alive' cut: one small action per photo, then cut the clips to the song. Approve each still and label it AI. Adapted from obie/slopcore, Clips reference: the 'insert' kind and prompt shape.

Use @Image1 as the exact first frame. {WHO} in {PLACE}, {OCCASION_AND_YEAR}. {WHY_THIS_MOMENT_MATTERS}.
0.0-{T1} s: {SMALL_ACTION_1, e.g. she looks up from the cake and smiles}.
{T1}-{T2} s: {SMALL_ACTION_2, e.g. she turns her head toward the person on her left}.
{T2}-{END} s: {SETTLE, e.g. the smile holds; a curtain moves in the breeze}.
Camera: {slow push-in | locked}. One continuous shot, no cuts.
Faces, clothes, film grain and colour stay exactly as in @Image1. No new people enter the frame; hands keep five fingers. No text, letters or logos.

Trending formats to remake

To remake one: download the example with the media-download skill, take a frame a second and the transcript, write a beat list (time, shot, camera, on-screen text, sound), keep what the format needs, swap in the person's product or character (never the creator's face, voice, logo or footage), show the beat list and stills before spending, then make it with the skill named below.

  1. Beat-mapped one-take photo film: 9-12 photos in one continuous take: each photo grows out of the last (grid, bento, iris, flood) and every beat triggers a change, with the drop on the hero photo. Why it spreads: 142k views and 3,796 bookmarks for the prompt that builds it; it reads as a studio piece, not a template. Keep: Keep the beat map first, something on every beat, each photo growing out of the last (grid, iris, flood) with no crossfades or holds over 1 s, and the hero photo on the drop. Swap the photos, song and title. Make it with HyperFrames (hyperframes).
  2. Beat-sync photo dump: 5-9 photos cut hard on bass hits, 9-15 s, on a trending sound, sometimes with a film-grain 'memory rewind' look. Why it spreads: The most used CapCut template type in 2026; in one small test it got 1.4x the replays of a plain slideshow. Keep the trending sound: swapping it loses the discovery. Keep: Keep 5-9 photos in 9-15 s, hard cuts on the bass hits, the trending sound itself and an optional film-grain look. Swap only the photos. Make it with HyperFrames (hyperframes).
  3. Old photos come alive: Family photos animated into short clips (a smile, a head turn, a walk) and cut to a song, usually as a birthday or memorial gift. Why it spreads: A son's 60th-birthday film of his mother's old photos went viral in April 2026 and was picked up by news sites. Emotional, shareable, and easy to label as AI. Keep: Keep one small natural action per photo (a smile, a head turn) with faces, clothes and grain untouched, cut gently to one song, and an AI label. Swap the photos and the song. Make it with varg AI (varg-ai).

Open-source repos

Set up varg

varg is one API key for the models these skills drive — Seedance 2.5, Kling 4, Veo 3.1, Wan 3, Nano Banana 2.1, GPT Image 2.5, ElevenLabs v4 and 200+ more — billed in credits, with a cost estimate before anything runs.

Related tutorials