Logo still over a Wan 3.0 clip: Timeline compose overlay costs $0.02
Burn a GPT Image 2.5 logo or price card over a Wan 3.0 clip with Timeline compose for a flat $0.02. Import both files first; the still lasts the whole clip.

To put a generated logo or price card over a Wan 3.0 clip, run Timeline compose with operation: "overlay": it takes one still and one video and returns one MP4 for a flat $0.02 per job. Both files must already be media.sume.com artifacts or assets in your workspace, so import them first with POST /v1/media-imports.
The still stays on screen for the whole clip, and the output length always comes from the video layer, up to 300 seconds.
The three calls
First POST /v1/images for the card, then POST /v1/videos with wan-3.0 for the motion, then compose. Compose needs an Idempotency-Key, runs asynchronously by default, and you poll GET /v1/jobs/:id/status and /result. Send mode: "sync" to wait up to 30 seconds.
{
"operation": "overlay",
"image": {"url": "https://media.sume.com/artifacts/artf_demo/card.png"},
"video": {"url": "https://media.sume.com/artifacts/artf_demo/clip.mp4"},
"layout": {"position": "bottom", "width_ratio": 0.6, "margin_ratio": 0.05},
"output": {"width": 1080, "height": 1920, "fps": 25}
}Cost of the whole pipeline
A 5-second Wan 3.0 clip at 720p costs $0.6250 at $0.125 per second (the $0.10 list rate plus Sume's 25% margin). The $0.02 compose job brings the clip and overlay to $0.6450, plus the price of the card still, which depends on the quality you pick; see the Image API docs.
| Step | Endpoint | Cost |
|---|---|---|
| Card still | POST /v1/images | Varies by quality |
| Clip, Wan 3.0 720p, 5 s | POST /v1/videos | $0.6250 |
| Overlay compose | POST /v1/timeline-1.0/compose | $0.02 |
| Total without the card | $0.6450 |
Where compose fits in a batch
The $0.02 compose job is flat, so 20 clips with the same card cost $0.40 in compose fees, whatever the clip length. It also keeps the card pixel-exact, where a model prompted to draw a logo can distort it.
Use one card for the whole batch and import it once. Each compose job then needs only the new clip's URL, plus its own Idempotency-Key. Reuse of the key for the same payload is safe; reuse for a different payload is not.
- Import the card once and reuse its artifact URL.
- Give each job a unique
Idempotency-Key. - Collect
video_urlfrom each result for the Timeline step.
Layout rules that bite
Overlay accepts position (top, center or bottom), width_ratio from 0.05 to 1 with a default of 0.9, and margin_ratio from 0 to 0.45. Stack keys such as split or ratio on an overlay return a 400. The default output is 1080x1920, so set output.width and height to match the timeline you assemble into.
If the video has no audio, compose warns with compose_video_has_no_audio but still renders. The compose docs list the other error codes.
Before you run a large batch, test one compose job with mode: "sync" to see the result inside 30 seconds, then switch to the default async mode for the rest. Check the result's duration_seconds against the clip you sent, since compose clamps a requested duration that goes past the end of the source and warns about it. A clean first job tells you the layout values are right, and the other 19 can run unattended with the same settings.
Sequence matters: finish and approve the clip first, then compose. Composing before approval means paying the flat fee again for every rejected take.
- Use a PNG card; compose rejects a still that does not probe as a still.
- Keep the card inside the safe area, since platform UI covers the bottom of vertical video.
- Use
stackinstead when the card should sit beside the video, not on it.
Sources
Related posts
More in Media tools
- Meta wants a fixed frame rate: set Timeline output.fps when clips mix
Meta's Facebook feed page requires a fixed frame rate. Sume Timeline takes output.fps 24, 25, 30 or 60, and mixed-rate sources are resampled with judder.
- Bumper and non-skippable ads bill per impression: cut 6, 15, 30 s
Google bills bumper and non-skippable in-stream per impression (Target CPM). Length is a creative call: cut 6, 15, and 30 second versions with video-trim.
- Omni 40-second ad: resend the packshot at every 10-second step
Google extends Omni clips to 40 s in 10 s steps with 10 s of prior context. On Sume, four 720p clips with the packshot as a reference cost $5.00.
- Pan and scan a 1.85:1 trailer to vertical: one crop per shot
For a 1.85:1 trailer, trim each shot, then crop it at its own x offset: width 0.304054, x 0 to 0.695946. A three-shot plan with job count, cost and order.
Written by Sume