AI music video: a Lyria 3.5 track as the Timeline spine

Generate a song on the Music Router, then cut generated clips to it on Timeline 1.0. Track length is set in the prompt, not a duration field.

5 min readSume
All posts

To make an AI music video, generate the song with POST /v1/music-router/generate, generate clips on /v1/videos, and assemble them on Timeline 1.0 with the song as the audio spine. The Music Router rejects duration fields, so you set the track length in the prompt, for example a 30-second track with timestamped sections.

The song comes first

Music Router is Sume's music surface. If you omit model or send sume/music-auto, Sume picks the engine, which is Lyria 3.5 today. The routable ids are sume/music-auto, lyria-3.5 and lyria-3-pro. Pin lyria-3.5 when you need the same engine every time.

The prompt takes 1 to 5000 characters. Put exclusions in the positive prompt, since a non-empty negative_prompt is not supported. Control length with words such as a 2-minute track, or with section marks like [0:00-0:30] Intro.

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: mv-track-001" \
  -d '{
    "model": "lyria-3.5",
    "prompt": "Dreamy synth-pop, 100 BPM. [0:00-0:10] Intro, airy pads. [0:10-0:30] Verse and hook. A 30-second track. Instrumental."
  }'

Read the result

Treat the song as a finished asset before you generate any picture. Listen once, note where the hook lands, and re-run the music request under a new Idempotency-Key if the arrangement is wrong. Changing the picture later is cheap compared with changing the song after the clips are cut.

Poll GET /v1/jobs/{id}/status, then fetch /v1/jobs/{id}/result. The audio is the artifact whose type is audio. When the model reports lyrics or a section map, result.lyrics carries them. job.request.routed_model names the engine that actually ran.

Cut the picture to the song

Use the section marks you wrote as your shot list. A 30-second track with a 10-second intro and a 20-second hook becomes two or three video slots. Generate each clip on the video catalog, import everything to your workspace, then send the Timeline render with audio.url set to the song.

Timeline output defaults to 1080x1920, which matches a vertical music video. Without an output.fps, it follows the rate of the longest video source.

Keeping the cut tight

A music video is easy to over-cut. Give a verse one steady camera idea and save fast cuts for the hook. Timeline accepts up to 200 video slots, but a 30-second track rarely needs more than six. If you want two versions with different beds, render the Timeline twice with the same picture and a different audio URL, and compare them.

Remember that Timeline only assembles. It does not retime a clip to a beat, so choose clip durations that match the section marks in your music prompt.

What to budget

Music Router charges a fixed Music price for each audio generation, whatever the model you pin. Timeline adds $0.10 per ceil output minute. The clips are the part that varies, so price them from GET /v1/videos/models before you commit.

From the Sume Music Router and Timeline docs, read 2026-10-05
StepEndpointPricing basis
SongPOST /v1/music-router/generateFixed Music price per generation
ClipsPOST /v1/videosPer model, from the catalog
AssemblyPOST /v1/timeline-1.0/render$0.10 per ceil output minute

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume