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.
- Mac App Store screenshot size: which of the 4 Sume can make
Mac App Store screenshots are 16:10: 1280x800, 1440x900, 2560x1600 or 2880x1800. Sume's image API covers two; Timeline covers 1440x900.
- One ad into six variations: hooks, crops, captions, $0.12 of trims
Meta describes turning one ad into six variations with new hooks, crops and captions. Do it with Sume: 3 hooks by 2 crops is six video-trim jobs at $0.02.
- Meta Creator Marketing Hub: what Sume can do to a creator clip
Meta's Creator Marketing Hub unifies Creator Marketplace and Partnership Ads. Sume cannot join it, but it can trim a creator clip and burn captions on it.
Written by Sume