Hotel lobby screen music: a 2-minute welcome video loop
Make a 2-minute welcome video with a soft jazz-lounge bed for a hotel lobby screen: one generation and a two-minute render, $0.325 on Sume.

For a hotel lobby screen, build one 2-minute welcome video with a soft jazz-lounge bed that ends where it begins, then let the player loop the file all day. On Sume the audio and assembly are one generation at $0.125 plus a two-minute render at $0.20, so $0.325.
Lobby video plays hundreds of times a day to people who pass it for a few seconds. The bed should be pleasant on the thirtieth repeat, which means no catchy hook and no dramatic build; consistent mood and low dynamics.
The brief to send
The brief asks for a relaxed lounge trio without a lead melody, a quiet section change at 1:00 so the loop is not monotonous, and a seamless return to the opening feel.
curl -X POST https://api.sume.com/v1/music-router/generate \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: hotel-lobby-screen-music-loop-a-2-minute-001" \
-d '{
"model": "sume/music-auto",
"prompt": "Elegant hotel lobby lounge, 84 BPM, B-flat major. Brushed drums, soft upright bass, warm Rhodes piano chords, subtle vibraphone. Relaxed and refined, no lead melody, a gentle change to a new chord pattern at 1:00, returning to the opening mood by 2:00. Warm, intimate club recording. Instrumental, no vocals. A 2-minute track."
}'Why each axis is set that way
| Axis | Choice |
|---|---|
| Emotion | Refined, welcoming, calm |
| Genre | Lounge jazz trio |
| Tempo | 84 BPM, easy swing |
| Key and mode | B-flat major, warm |
| Instruments | Brushes, upright bass, Rhodes, vibraphone |
| Arc | Soft pattern change at 1:00, return by 2:00 |
| Era and production | Warm club recording |
Getting the length right
The two minutes live in the prompt, because the router rejects duration fields. The video itself is 120 seconds, so set audio.duration_seconds to 120. If the track runs a few seconds long, the render cuts it at the spine; if short, soundtrack.loop fills the gap.
The loop that matters is the player's loop, not Timeline's. Ask for a track that ends in the opening mood so the repeat is not noticeable, and set a short fade_out_seconds only if the player does not crossfade.
Before paying for a render, call POST /v1/timeline-1.0/plan with the same body. It is unbilled and reports the billable minutes, which for this 120-second video is 2. Then send the real POST /v1/timeline-1.0/render with an Idempotency-Key, wait up to 30 seconds in sync mode, and poll GET /v1/jobs/:id/status if it is still queued or processing. Statuses are queued, processing, completed, failed and canceled, and a 429 queue_full means try again shortly.
What it costs
A two-minute render is exactly two started minutes, $0.20. At 121 seconds it would round to three minutes and $0.30, so stop at 120. Several properties with different moods, such as a spa, a bar and a lobby, are one generation and one render each, $0.325 per property. Scaling is simple arithmetic. One finished video here is $0.325 of audio and assembly, so ten of them are $3.25 and fifty are $16.25, before any retries. Failed jobs are not billed as accepted generations, but a regeneration you ask for is a new job, so budget one or two extra takes for a hero clip.
| Line | Rate | Amount |
|---|---|---|
| Music generation x 1 | $0.125 each | $0.125 |
| Timeline render, 120 s = 2 started minutes | $0.10 per started minute | $0.20 |
| Total for the audio and assembly | $0.325 |
Check before you publish
Hotels refresh content seasonally. Keep the prompt, change the video, and regenerate the bed only when the mood needs a change.
If the screen has no speaker, the bed does not matter; save the generation and render only the video.
The hand-off between the two calls is the step people miss. When the music job completes, GET /v1/jobs/:id/result returns result.artifacts[] with an audio/mpeg file on media.sume.com. Timeline only accepts workspace media URLs, so import any outside file through POST /v1/media-imports first, and send the resulting URL as soundtrack.url. The Music docs also note that job.request.routed_model names the engine that actually ran, which is worth saving with the file.
- Check the venue's public-performance licensing separately; the music brief does not settle that.
- Test volume at the screen's actual speaker; lobby acoustics are harsh.
- Avoid any vocal; instruct instrumental only.
- Confirm usage terms for generated music with Sume before commercial deployment.
Sources
Related posts
More in Media tools
- How many cuts in a 30-second Short? Timeline's 12 and 8 limits
More cuts do not make a Short original, but Sume Timeline has hard limits: 200 slots, chunking past 12 segments, 8 chained fades. What they mean for pacing.
- Link card 1200x628 from an Ideogram 4.5 edit: ask 2:1, crop 63 px
Ideogram 4.5 on Sume has no 1.91:1 ratio. Ask for 2:1 (1408x704 on a 1K edit), then crop about 63 px of width with Pillow to reach 1200x628.
- ImageMagick: turn a Sume WebP into a 1080x1350 JPEG
One magick command resizes to fill, center-crops to 1080x1350 and writes a stripped JPEG. Use it on a Sume 4:5 image whose native size is not exactly 1080x1350.
- Media import allows about 2 GB, but trim and filter stop at 300 MiB
Sume media import has a practical size cap near 2 GB, while video trim and filter reject sources over 300 MiB with source_too_large. How to plan around the gap.
Written by Sume