Gym promo video with AI: from your own gym photos
Make a gym promo video without a shoot: animate photos of your own floor and classes, add a voiced offer, music and captions, and render a vertical cut.

A gym promo video is a short, usually vertical clip that shows your real floor, classes and equipment and states one offer, made for Reels, TikTok, Shorts or a membership drive. You can make one from photos you already have: animate each photo into a few seconds of motion with AI, put a voiced offer and a music bed under the clips, burn the offer on screen as text, and export a 15 to 30 second vertical cut.
The Sume steps below come from the Video generation, Timeline 1.0, Video captions and Music Router docs and the Sume API reference, read on 2026-09-29. Limits marked as current behavior are read from Sume's code.
What are good gym promo video ideas?
Give each photo one small, plain movement:
- The floor: a slow pan along the racks or the cardio line.
- A class: the studio with the lights up, a slow push-in toward the instructor's spot.
- Equipment close-ups: plates, ropes, a rower, chalk on a bar.
- Your coaches and members, only with their consent to appear in an ad.
- The offer, spoken and on screen, and only if it is real: a free first week, a joining fee waived, a class timetable.
- Skip generated body transformations and before/after bodies. They show results no member achieved.
How long should a gym promo video be?
Each platform publishes its own recommended ad lengths; How long should a video ad be? collects them. At 15 to 30 seconds, a cut holds four to six shots of a few seconds each. In the render below, audio.duration_seconds sets the output length exactly, so you choose the length when you write the voice-over, not in an editor.
How do I make a gym promo video with AI?
- Animate each photo: send it at a public HTTPS URL as the
first_frameinframe_imagesonPOST /v1/videos, withresolutionandaspect_ratio: "9:16"set. Most catalog models top out at 15 seconds per clip. - Voice the offer with Sume text-to-speech, and make a bed with the Music Router (steer length in the prompt;
durationis rejected). - Join them with one
POST /v1/timeline-1.0/render. Its default output is 1080×1920, already vertical. Every URL must be amedia.sume.comfile in your workspace, such as the clips, voice and track Sume returned. - In current code the render keeps only the voice spine and the soundtrack; any sound a clip generated is dropped.
curl -X POST https://api.sume.com/v1/timeline-1.0/render \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: gym-promo-001" \
-d '{
"audio": {
"url": "https://media.sume.com/artifacts/artf_demo/offer.wav",
"duration_seconds": 20
},
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/floor.mp4", "start": 0, "duration": 5 },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/class.mp4", "start": 5, "duration": 5 },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/racks.mp4", "start": 10, "duration": 5 },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/entry.mp4", "start": 15, "duration": 5 }
],
"soundtrack": {
"url": "https://media.sume.com/artifacts/artf_demo/bed.mp3",
"loop": true,
"duck_db": 10
}
}'How do I put the offer on screen?
Send the finished render's video_url to POST /v1/video-captions with cues: each cue is a text with a start and an end in seconds, and the job burns that copy at those times, with no speech-to-text. Or leave the cues out and let the job caption the voice-over. With no style, Latin text gets slam, which in current code sets the words in capitals, so proofread the offer on the render. Event promo video shows a full cue request.
In current code the caption job refuses a video longer than 60 seconds or one without an audio stream. A 15 to 30 second cut with a voice-over meets both.
How much does a gym promo video cost?
You pay per step from your workspace USD balance: four to six clips, one voice-over, one music bed, one render and one caption job.
| Step | Call | Price |
|---|---|---|
| Animate each gym photo | POST /v1/videos | By model, at provider list × 1.25 per clip; see pricing_skus on GET /v1/videos/models |
| Voiced offer | POST /v1/tts-1.0/generate | $0.0475 per 1,000 characters |
| Music bed | POST /v1/music-router/generate | $0.125 per audio |
| Join into one MP4 | POST /v1/timeline-1.0/render | $0.10 per output minute |
| Offer text on screen | POST /v1/video-captions | $0.20 per job, for videos up to 60 seconds |
Sources
Related posts
More in Use cases
- Hair salon promo video with AI, from your own photos
Make a hair salon promo video from your own photos: animate the space and real finished looks, add a voiced offer and music, and render it vertical.
- Hotel promotional video with AI, from your own photos
A hotel promotional video can be made from the photos you already have: animate each shot, add a voiced welcome and music, render wide and vertical cuts.
- How to make a podcast trailer: length, script, AI voice
To make a podcast trailer, script an intro, highlights, a hook and a call to follow, keep it to two minutes or less, and mix the voice over a music bed.
- How to make AI cat videos: one cat, many shots
To make AI cat videos, approve one still of your cat, start every shot from it, and join the shots under narration. Dancing and talking cats, costs.
Written by Sume