Just sold video: put a SOLD plate over a listing tour clip
Make a just-sold video from an existing listing tour: overlay a SOLD plate PNG with Timeline compose, keep the original audio, one $0.02 job.

To make a just-sold video from a listing tour you already have, overlay a SOLD plate on the clip with Sume's Timeline compose: one still (your plate PNG) and one video in, one MP4 out, with the tour's audio passed through untouched. It is a flat $0.02 job, and it never re-narrates or re-cuts the tour.
The plate is the part that carries facts, so make it yourself: the address line, the word SOLD, the agent name. Image models can misspell short text, and a sold announcement with a wrong street number is worse than no announcement. Use any design tool, export a PNG with a transparent background, and treat Sume as the step that puts it on the footage.
What does the overlay operation do to the tour clip?
Compose has two operations, stack and overlay. stack tiles the still and the video in two regions of one frame. overlay keeps the video full-frame and lays the still on top at a position you pick. For a SOLD plate you want overlay.
Both inputs must already be media on media.sume.com in your workspace, so import the tour clip and the PNG first with POST /v1/media-imports (see Media inputs). The still must probe as a still and the clip as a video, or the job is refused with compose_image_not_still or compose_video_not_video.
Audio passes through from the video. If the source clip is mute, which is common for photo-based tours, the job still succeeds and returns a compose_video_has_no_audio warning. In that case the tour was a silent clip and the music or voice comes from the Timeline step later.
| Key | Allowed values | What it does for a SOLD plate |
|---|---|---|
| position | top, center, bottom | Where the plate sits; center is the usual choice for a banner |
| width_ratio | 0.05 to 1 (default 0.9) | Plate width as a share of frame width; the plate keeps its aspect |
| margin_ratio | 0 to 0.45 (default 0.05) | Gap from the edge, as a share of frame height |
| video_fit | cover, contain, stretch | How the tour fills the frame under the plate |
How do I send the request?
Send operation: overlay, the plate as image.url, the tour as video.url, and an Idempotency-Key so a retry does not queue a second job. The default output is 1080 by 1920; set output.width and output.height if your tour is landscape so the clip is not rescaled twice.
curl -X POST https://api.sume.com/v1/timeline-1.0/compose \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: sold-14-elm-st-v1" \
-d '{
"operation": "overlay",
"image": { "url": "https://media.sume.com/artifacts/artf_demo/sold-plate.png" },
"video": { "url": "https://media.sume.com/artifacts/artf_demo/tour.mp4" },
"layout": { "position": "center", "width_ratio": 0.7 },
"output": { "width": 1920, "height": 1080 }
}'The call returns a job. Poll GET /v1/jobs/:id/status, then read GET /v1/jobs/:id/result, which has kind: timeline_compose, a new video_url and the duration_seconds. The pattern is the same one described in Jobs and results.
Can the plate show for only the last few seconds?
Not in one compose job. The still is held for the whole clip, and output length always comes from the video layer, so the plate cannot appear partway through. There are two honest workarounds.
First, make the plate the whole point: a tour of 20 to 40 seconds with a plate at the lower edge reads fine as an announcement. Set position to bottom and a smaller width_ratio.
Second, cut the clip. Use Video trim (also $0.02) to take the final seconds, compose the plate onto that tail only, and join the head and the plated tail on Timeline 1.0, which needs an audio spine for the join. That is three jobs instead of one, so use it only when the effect matters.
What does Sume not do here?
Sume does not pull the sale price or closing date from your MLS, and it does not decide whether you may announce a sale. Brokerage and MLS rules about sold announcements are yours to check before you publish. Compose also does not animate the plate: it is a static still, so a slide-in or fade needs a different tool.
The result is a new file. The original tour is untouched, so keep both and name them clearly. Once the plate is on, anything wrong in it means a new compose job with a corrected PNG and a new idempotency key, since the same key with the same body replays the old job.
What does it cost across a small book of business?
Compose is a flat $0.02 per job (confirm the live rate in GET /v1/catalog). Ten sold listings is ten jobs, or $0.20, plus whatever you spent on the original tours. That makes a just-sold post a cheap by-product of listing video you already made, rather than a new production.
Sources
Related posts
More in Use cases
- Listing photos to a narrated tour video with TTS and Timeline
Turn ten listing photos into a 45-second narrated tour: write the script, get word timestamps from TTS, then render stills on a Timeline spine for about $0.15.
- Real estate walkthrough with no voiceover: burn room labels
A silent listing walkthrough has no speech to caption, so Sume's caption job needs cues. Burn room names, price and address at set times with video-captions.
- Recast a video longer than 30 seconds: trim, recast, rejoin
H3 Max Recast takes 5 to 30 seconds of source. For a 90 second video on Sume, probe it, trim ranges, recast each at 768p, then plan the join. Cost math inside.
- Restaurant daily special video: change the price with cues
Reuse one silent dish clip and burn a new special and price each day with Sume caption cues: $0.20 a job, $1.40 a week, within Google's 30 second limit.
Written by Sume