Listing photo tour in 16:9 and 9:16 from one slot list (Timeline 1.0)
Stills are static holds in Timeline 1.0. Keep one video[] list of listing photos and change only output size and fit for a 16:9 and a 9:16 tour.

A property listing usually needs two cuts of the same photo tour: a 16:9 file for the listing page and a 9:16 file for Reels or Shorts. In Timeline 1.0 the slot list does not change between them. Only output.width, output.height and each slot's fit do, so you send the same photos twice and get two MP4s. Stills are accepted as video[] sources and held as static images; any motion on a still is ignored with a motion_ignored warning.
What changes between the two renders?
| Field | 16:9 tour | 9:16 tour |
|---|---|---|
output.width x height | 1920 x 1080 | 1080 x 1920 (the default) |
fit | cover (default) fills the frame | blur keeps the whole landscape photo over a blurred fill |
video[] list | Same photos, same starts | Same photos, same starts |
Does a photo tour need audio?
Timeline 1.0 requires audio.duration_seconds and either a spine or audio.mode: "silence", which declares the length without a file. A silent spine accepts an optional soundtrack bed with gain_db, loop and fade_out_seconds up to 10; only duck_db needs a real spine. The audio length caps the output at 1,800 seconds, and video[] takes up to 200 slots.
What does the vertical request look like?
Three photos at 4 seconds each give a 12-second tour. Every slot after the first may take a transition of up to 1 second, no more than half the shorter neighbour, and the compiler refuses more than 8 chained fades, so a long tour needs an occasional hard cut. The photo URLs must be this workspace's media.sume.com files. Change output to 1920 by 1080 and drop the fit fields to get the landscape cut.
curl -X POST https://api.sume.com/v1/timeline-1.0/render \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: listing-tour-vertical-001" \
-d '{
"audio": { "mode": "silence", "duration_seconds": 12 },
"output": { "width": 1080, "height": 1920 },
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/kitchen.jpg",
"start": 0, "duration": 4, "fit": "blur" },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/living.jpg",
"start": 4, "duration": 4, "fit": "blur",
"transition": { "type": "fade", "duration": 0.5 } },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/garden.jpg",
"start": 8, "duration": 4, "fit": "blur",
"transition": { "type": "fade", "duration": 0.5 } }
]
}'What does the pair cost?
Each render is billed at $0.10 per output minute, rounded up to a whole minute, so a 12-second tour in two shapes is two one-minute charges. POST /v1/timeline-1.0/plan returns the duration, segment count and estimated cost for a document without creating a job. If a listing needs disclosure of edited or generated photos, that is a separate rule set from the one for the video file; see AB 723 and listing photo disclosure.
Sources
Related posts
More in Use cases
- Add a lower third name tag to a video with an API
Sume has no lower-third template. Burn a name and title as one authored caption cue with a newline, and set its height with design.placement.anchor_ratio.
- Luma Scenes: approve keyframes, then render, on Sume
Luma Scenes renders only after you approve each keyframe. On Sume, make and approve a still first, then submit it as first_frame so you pay for video once.
- Luma uni-1 multi-panel storyboards vs Sume n images
Luma uni-1 can draw a multi-panel storyboard in one image when the prompt describes panels. Sume n returns up to 10 separate images, per-model limits lower.
- Luma Variants placements: which ratios a Sume image can hit
Luma Variants outputs 9:16, 4:5, 1:1, 6:5 and 16:9. Sume's image ratio list has four of those five; 6:5 is not in it, so plan a crop for that slot.
Written by Sume