Houseplant shop montage with no voice: a silent spine and a Lyria bed
Make a music-only product montage: Timeline audio.mode silence, a Lyria 3.5 bed as soundtrack and eight plant clips, for $0.225 on Sume.

To make a product montage with music and no voice, set the Timeline's audio to mode: silence with a declared duration_seconds, put a Lyria bed in soundtrack, and lay your clips in video[]. A Lyria 3.5 bed is $0.125 and a render up to 60 seconds is $0.10, so a one-minute houseplant montage is $0.225 before any footage cost.
A plant shop has a lot to show and not much to say: leaves, pots, a watering can, a windowsill. Music carries it better than a script nobody asked for, and the silent spine keeps the build simple, since nothing needs to be recorded or transcribed.
Everything here is declared in one JSON document, which also makes it easy to review: a colleague can read the slot list and see the order, the lengths and the transitions without opening a video editor. Nothing in the document is a filtergraph or a codec setting; the API rejects those keys.
Silence as the spine
audio.mode: silence declares the length with no spine file. In that mode do not send url, parts, gain_db or source_in: each is refused, for example silent_audio_takes_no_url. duration_seconds is the output length, 1 to 1800. The slots in video[] then have to cover the spine, and coverage can stop at most 0.5 seconds before its end.
The bed goes in soundtrack, which takes url, gain_db, loop, fade_out_seconds (up to 10) and duck_db (0 to 20). Ducking needs a real audio spine to duck against, so a silent montage cannot use it; that is refused with duck_requires_audio_spine. Since there is no voice to make room for, you do not need it.
| Step | Detail | Sume price |
|---|---|---|
| Bed | Lyria 3.5 via sume/music-auto, one generation | $0.125 |
| Footage | 8 clips from your own camera, about 7.5 s each | your own |
| Plan | POST /v1/timeline-1.0/plan | $0.00 |
| Render | audio.duration_seconds 60, one output minute | $0.10 |
| Total | $0.225 |
Ask for the length you need
Lyria 3.5 takes length from the prompt, not a field; the router rejects duration and duration_seconds. Ask for "a 62-second track" so the bed outlasts the 60-second picture and the fade has material, and describe the sound in the positive: "soft marimba, warm room tone, 90 BPM, no vocals". A non-empty negative_prompt is not supported on this model.
If the track comes back short, soundtrack.loop repeats it to fit, and fade_out_seconds ends it cleanly. If it comes back long, the render simply stops the bed at the end of the spine. Either way you never edit audio by hand.
The job's model echoes sume/music-auto and request.routed_model names the engine that ran, so you can record which one produced the bed. Read the audio URL from result.artifacts[] where type is audio.
One montage
import os
import uuid
import requests
H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
clips = [os.environ[f"PLANT_{i}"] for i in range(8)] # media.sume.com URLs
video = [{"source_url": u, "start": i * 7.5, "duration": 7.5,
**({"transition": {"type": "dissolve", "duration": 0.5}} if i else {})}
for i, u in enumerate(clips)]
body = {
"audio": {"mode": "silence", "duration_seconds": 60},
"video": video,
"soundtrack": {"url": os.environ["BED_URL"], "fade_out_seconds": 3},
}
r = requests.post("https://api.sume.com/v1/timeline-1.0/render", json=body,
headers={**H, "Idempotency-Key": f"plants-{uuid.uuid4()}"},
timeout=60)
print(r.status_code, r.json().get("request_id"))
Length, transitions and the 60-second line
The default output is 1080 by 1920, which is right for a Short or Reel. Dissolves of 0.5 seconds are well inside the 50% rule for 7.5-second slots, and eight clips need seven transitions, under the limit of eight chained. If you add a ninth clip, put a hard cut somewhere or the render is refused with too_many_chained_transitions.
Because the montage is exactly 60 seconds it bills one minute. At 61 seconds it would bill two, so check the plan's billable_minutes when you tune the length. For a voiced version of the same shop with a bed that ducks, see the holiday spot with a ducked bed.
Leave off any claims about plant care or survival in the frame. The montage shows the plants; whether a particular plant is easy to keep is something only the shop can say.
A shop with a larger range can scale this without changing the recipe. Five themed montages, such as desk plants, hanging plants, gift pots, tools and a holiday wreath, are five Lyria beds at $0.125 and five one-minute renders at $0.10, so $1.125 in total. Because the spine is silent there is no voice to re-record when a stock line changes, and swapping a clip means changing one source_url and re-running the render with a fresh Idempotency-Key.
Sources
Related posts
More in Use cases
- How fast is a reference Short cut? Shot length from reference-ingest
Average shot length is clip duration divided by the shots[] count in a Sume reference-ingest manifest. It is a detector estimate, not an editor's cut list.
- How to mark a Vimeo video as AI-generated: the steps for a Sume clip
Vimeo's AI label is a per-video checkbox in Settings, Content. The steps, the three cases that need it, and what to log for a Sume-generated clip.
- Hugo: process a Sume image with Fill and a WebP output spec
Hugo reads PNG, JPEG and WebP and can write WebP itself. Save a Sume PNG into the page bundle, then use Fill to cut a 1200x630 card and output WebP.
- HVAC Seasonal Maintenance Reminder as an AI Avatar Video
A seasonal HVAC tune-up reminder rendered as a Sume avatar video: script, seconds per scene, request JSON, and cost per clip and per customer list.
Written by Sume