How do I keep a product label exact in an AI product video?
Animate the product photo, then overlay your real label still with Timeline compose: $0.63 for a 5-second clip plus $0.02 for the overlay on Sume.

To keep a product label exact in an AI product video, do not rely on the video model to draw it. Generate the clip from your product photo, then put your real label artwork on top as a still with POST /v1/timeline-1.0/compose in overlay mode. On Sume that is $0.63 for a 5-second 720p gemini-omni-flash-1.1 clip plus a flat $0.02 for the overlay: $0.65. For product names and claims that are only text, burn them in with caption cues for $0.20 instead.
This is the difference between a clip that looks like your product and a clip that is your product. Spelling, ingredient lists, barcodes and legal text have to be exact, so they must come from a file you control.
What a first frame pins and what it does not
A frame_images entry with frame_type: first_frame pins the opening picture of a clip. After the first frame the model animates freely, and a label that is crisp in frame one can change as the camera moves or the product turns. A last_frame pins the end the same way. Reference images guide the content but do not pin any frame.
So use the first frame to get the right product, and keep the move small: a slow push-in, a light sweep, steam. A shorter clip gives the model less time to drift, and the 3 to 10 second range of Omni suits a product shot. Where a label must be read, do not let it move at all.
Overlay the real label
Compose takes one still and one video and returns one MP4. In overlay mode the still sits over the video, and you choose position (top, center or bottom), width_ratio (0.05 to 1 of the width, default 0.9) and margin_ratio. The still keeps its aspect. Export the label or a clean packshot of the front panel as a PNG with transparency, import it, and set it at the bottom third for the whole clip.
The output length comes from the video layer, and the still stays on screen for the whole clip. The output keeps the audio of the clip, and a mute clip only gives a warning. The default output is 1080 by 1920, so set output.width and output.height to match the render you assemble it into.
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: label-overlay-001" \
-d '{
"operation": "overlay",
"image": { "url": "https://media.sume.com/artifacts/artf_demo/label.png" },
"video": { "url": "https://media.sume.com/artifacts/artf_demo/clip.mp4" },
"layout": { "position": "bottom", "width_ratio": 0.6, "margin_ratio": 0.08 }
}'When captions are enough
If what must be exact is words (a product name, a price, 'Made in...' ), a caption job is cleaner than an image overlay, because cues are plain strings with start and end times. A standalone caption job is $0.20 for up to 60 seconds. If what must be exact is a design (a logo lockup, a label with small print), use the overlay at $0.02.
Do both when you need both. Overlay the label at the bottom, and burn the offer at the top with cues. Check the final file at full size on a phone, since a label that reads on a laptop can be too small on a phone.
A short checklist before you post
Open the finished file and pause on three frames: the start, the middle and the end. In each, the label should be your art, sharp, and not covered by the product. If the product moves in front of the label, move the label to a part of the frame where the product does not go, or shorten the clip.
Check the safe area of the platform you post on. A label in the bottom third can sit under a caption bar or a button. Put the overlay a little higher if so, using margin_ratio.
Last, compare the label spelling to the packaging in your hand. The overlay is your file, so any error is yours to fix, and the fix is a new compose job at $0.02.
Cost of each route
- The clip itself is $0.63: 5 seconds at $0.125 per second, rounded up to the cent.
- A retake of the clip means re-running compose too, at $0.02, which is cheap.
- Keep the original packshot as the source of truth, and store its job or asset id with the campaign.
| Route | What stays exact | Added step | Total with the clip |
|---|---|---|---|
| Overlay the label still | The label art | $0.02 per compose job | $0.65 |
| Caption cues | Words and numbers | $0.20 per caption job | $0.83 |
| Both | Art and words | $0.22 | $0.85 |
Sources
Related posts
More in Use cases
- Landscape listing photos in a vertical reel: cover, contain or blur?
A 3:2 photo in a 9:16 reel shows only 37.5% of its width with fit cover. Pick the fit per photo in Timeline 1.0: eight photos and a bed cost $0.225 on Sume.
- Live stream avatar: queue pre-rendered reaction clips instead
For a stream overlay, render ten short Sume avatar clips ahead of time and trigger them from chat events. Ten 6-second clips cost $14.70 on plus.
- Lock the look with one image, then animate it on three video models
Make one approved image, then use it as first_frame on wan-3.0, kling-3 and minimax-h3-max. Same start, three motions, one prompt, so you can compare.
- Meta Feed video ad spec checklist before uploading an AI clip
Meta's Facebook Feed video spec: 4:5, 1440 x 1800, up to 4 GB, MP4 or MOV, H.264 with AAC audio. A checklist, and the Sume Timeline output size that meets it.
Written by Sume