What prompt makes a 15-second Black Friday ad track?
Write the track as three timed sections: build, drop, sting. The Music Router takes it for a flat $0.125; the whole 15-second ad is $2.305 on Sume.

For a 15-second Black Friday ad track, write the prompt as three timed sections: [0:00-0:05] a build, [0:05-0:12] the drop with your hook, [0:12-0:15] a sting that ends on one clear note. Name the tempo, the mood and that it is instrumental. Send it to POST /v1/music-router/generate, which charges a flat $0.125 per generation on Sume. Rates were read on 2026-10-07.
Black Friday 2026 is Friday, November 27, and Cyber Monday is November 30. A 15-second ad cut to the track costs $2.305 in total: the track, two 720p clips of 8 and 7 seconds, a $0.10 render and a $0.20 caption pass for the offer.
The prompt, section by section
The Music Router docs say the length is controlled in the prompt, with phrases like 'a 2-minute track' or timed sections such as [0:00-0:30] Intro: .... Sume rejects a duration field, so do not send one. Put every exclusion in the positive prompt as well, since a non-empty negative_prompt is not supported.
Build: say what is playing and how it moves. 'Soft pulse at 120 BPM, a filtered synth rising' is something a producer could play. Drop: say where it lands and what comes in, such as a kick and a bright lead. Sting: say it ends on a single note with a short tail, so the end of the track matches the end of the ad.
Keep the three sections matched to your picture. If the drop is the price reveal, the drop must be at the second the price appears, so write that second into the prompt after you have cut the video.
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: bf-track-15s-1" \
-d '{
"model": "sume/music-auto",
"prompt": "A 15-second instrumental ad track, 120 BPM. [0:00-0:05] Build: soft pulse, filtered synth rising. [0:05-0:12] Drop: punchy kick, bright lead, confident and festive. [0:12-0:15] Sting: ends on one clear note with a short tail. No vocals."
}'Check what came back
Read the audio artifact from result.artifacts[] where type is audio. Listen for the three parts and note the second the drop lands. Models do not follow timings to the frame, so plan to adjust. If the drop lands at 0:06 and you wanted 0:05, shift your cut by one second and not the other way round.
If the track is longer than 15 seconds, use a Timeline audio split range ($0.01) to cut it, and add a short fade at the end. If it is shorter, add a second take to the render rather than looping, since loops are heard on a short ad.
The 15-second ad around it
Two clips cover 15 seconds with the 10-second ceiling of Omni: 8 seconds ($1.00) and 7 seconds ($0.88) at 720p, generate_audio off. Put both in video[] of one Timeline 1.0 render, set the track as the audio, and burn the offer with caption cues from POST /v1/video-captions ($0.20). Cue text is a plain string, so the date and the discount are exactly what you wrote.
Keep the offer short and dated: 'Black Friday: 30% off, Nov 27-30' is plain, readable and easy to check against your store. Do not put the offer in the video prompt, since a model can change the digits.
Tempo, in plain words
Tempo is a number, and a prompt that names it gives you something to compare takes against. Around 100 to 110 BPM feels relaxed and warm, 120 feels like a standard ad, and 128 and above feels urgent. For a 15-second ad about a time-limited sale, 120 to 128 is a sensible start.
If you cut your video to the beat, count: at 120 BPM a beat is half a second, so 15 seconds is 30 beats and the drop at 0:05 is on beat 10. Clip changes on beats make the cut feel tight. If the track comes back at a different tempo from the one you asked for, cut to what you got, not to what you wrote.
Name the instruments you want and those you do not. 'No vocals' and 'no spoken words' belong in the prompt, since a voice in the track fights a voiceover or a caption you add later.
Line-by-line cost
- A second take of the track is another $0.125 and a new render at $0.10.
- A different offer (Cyber Monday) is a new caption pass, $0.20, on the same render.
- Store the track id next to the campaign, so you can reuse it in the Cyber Monday cut.
| Item | Detail | Price |
|---|---|---|
| Music track | 1 generation | $0.125 |
| Clip A | 8 s, 720p, Omni at $0.125 per second | $1.00 |
| Clip B | 7 s, 720p | $0.88 |
| Render | 1 started minute | $0.10 |
| Captions | offer cues, up to 60 seconds | $0.20 |
| Total | $2.305 |
Sources
Related posts
More in Media tools
- Move burned-in captions up or down: restyle with source_caption_id
Change caption placement with design.placement.anchor_ratio and restyle with source_caption_id: the same word timings, no second speech-to-text run.
- One lip-sync model per video: Fabric runs at 25 fps, measure H3 Max
Mixing Fabric and MiniMax H3 Max lip-sync clips in one Sume video risks a frame-rate mismatch. Pick one per run and check fps with ffprobe on the first clip.
- How to assemble a long-form video with the Timeline 1.0 API
Timeline 1.0 renders one audio spine plus 1 to 200 ordered video slots into one MP4. Every URL must be Sume-hosted; the plan preflight is unbilled.
- How to burn captions onto a video with the Sume API
Send a public HTTPS video URL to POST /v1/video-captions and get a job-backed captioned video, timed by speech-to-text or by text you supply.
Written by Sume