Lyria 3.5 prompts for video BGM: section tags and timestamps
Use [Verse]/[Chorus]/[Bridge] tags and [0:00-0:10] timestamps in a Lyria 3.5 prompt to pin an arc to a video. A worked prompt and a Sume call are below.

To score a video with Lyria 3.5, put the structure in the prompt: section tags such as [Verse], [Chorus] and [Bridge], and timestamp ranges such as [0:00-0:10]. Google's guide lists both, and Sume's docs show the same timestamp style, because there is no duration parameter to set. The prompt is the only length control you have.
What the controls are
Facts from Google's music generation guide and Sume's Music docs.
| Control | How it works | Source |
|---|---|---|
| Section tags | [Verse], [Chorus], [Bridge] in custom lyrics | Google guide |
| Timestamps | Ranges like [0:00-0:10] inside the prompt | Google guide |
| Instrumental | Supported; Sume suggests ending with 'Instrumental, no vocals' | Google guide, Sume docs |
| Images | Up to 10 with the text prompt (Sume accepts one optional image_url) | Google guide, Sume docs |
| Length | Set in the prompt, for example 'a 2-minute track'; Sume rejects duration and duration_seconds | Sume docs |
| Exclusions | Go in the positive prompt; a non-empty negative_prompt returns 400 | Sume docs |
| Prompt size | Sume accepts 1 to 5000 characters | Sume docs |
The seven-axis brief
Sume's docs recommend a brief with seven axes: emotion, genre, tempo as a number, key and mode, two to four instruments with texture, an arc with one named moment, and era or production. The docs call these creative directions, not guaranteed output values, and tell you to listen to the result. For video, the named moment is where the timestamp earns its place: write it as a time, such as the lift at 0:20 where your product appears.
Contrast matters when you score many scenes in one project. Sume's guidance is to change the broad genre family, move the tempo at least 12 BPM, and change the lead instrument between scenes, unless you want a single consistent score.
A 15-second spot
This prompt asks for an instrumental with three timed sections. The tempo, key and instruments are examples, not recommendations; swap them for your brand.
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: bgm-spot-001" \
-d '{
"model": "lyria-3.5",
"prompt": "A 15-second track. Upbeat, proud, 112 BPM, G major. Rhodes chords, plucked bass, light claps. [0:00-0:05] Intro: Rhodes alone. [0:05-0:11] Verse: bass and claps enter. [0:11-0:15] Chorus: full band, clean ending. Instrumental, no vocals."
}'After the call
Poll GET /v1/jobs/:id/status, then read the audio artifact from result.artifacts[] where type is audio. When the provider reports it, result.lyrics holds a lyrics or section map. Sume describes this as model-reported metadata, not a measurement, so open the file and check that the lift really lands where the brief said. Google's guide says outputs vary across identical calls and the model is single-turn, so a miss means a new generation with an adjusted prompt, not an edit.
At Sume's fixed $0.125 per accepted generation, ten attempts at a spot cost $1.25. Keep the prompt that worked next to the final file.
Sources
Related posts
More in Developers
- macOS launchd: one AI video a day with a per-date Idempotency-Key
A launchd agent that wakes late can run twice. A per-date Idempotency-Key and an existing-file check keep a daily 3 s Gemini Omni clip ($0.1125) to one charge.
- MAI streaming sessions end at one hour: a chunk plan for long audio
A MAI-Transcribe-2-Streaming session lasts at most one hour; Sume STT jobs cap at 10 minutes. Plan overlap-free chunks and shift each chunk's word times.
- MAI Flash 429 and spend limits vs Sume queued jobs and idempotency
OpenRouter's MAI-Voice-2.1-Flash returns 429 on rate limits and has spend limits. Sume accepts jobs into queued status. See an idempotent double submit.
- MAI Flash defaults to PCM: wrap it as WAV, vs Sume output formats
OpenRouter lists MAI-Voice-2.1-Flash output as mp3 or pcm, default pcm, which will not play as saved. Wrap it as WAV in Python; Sume defaults to mp3.
Written by Sume