A six-second product shot, scripted to the half-second
Most "AI product video" prompts fail the same way: the camera does something interesting, but the product itself drifts — an extra joint appears, a button duplicates, a base bends. The clip below is a continuous six-second hero shot of a desk lamp, generated by Seedance 2.0, where the product stays exactly the same part-for-part from the first frame to the last. What makes it work isn't a clever camera trick — it's a prompt that treats the six seconds like a shot list, with explicit timestamps for every beat.
The full prompt
This is the complete, unedited prompt used to generate the clip above — copy it as a starting template and swap in your own product description and timing.
Create one continuous six-second premium ecommerce product shot, starting exactly from the supplied first frame.
The fictional unbranded desk lamp must remain the same physical product throughout: one white cylindrical lamp head, exactly one thin cyan-teal accent ring around the head, the same slim pale articulated stem and joint geometry, one round white base, and exactly one small orange circular button. Preserve its silhouette, proportions, materials, joint count, button count, color, contact shadow, and position on the desk.
Motion and timing:
- 0.0-1.5 seconds: hold the stable first-frame composition while the camera begins a very slow push-in.
- 1.5-4.5 seconds: continue the gentle push-in with one restrained ten-degree arc from left to right. The lamp itself stays still. A controlled warm light sweep travels softly across the white lamp head and base, revealing material and form without changing the product.
- 4.5-6.0 seconds: the camera settles into a clean final hero composition; the light pool on the desk becomes steady and the product remains fully visible.
Visual style: photorealistic premium commercial product photography, warm golden-hour minimalist workspace, realistic lens behavior, shallow but controlled depth of field, restrained reflections, stable contact shadow, no cuts and no transition effects.
Audio: quiet room tone, one subtle tactile click near the beginning, and a restrained soft tonal rise that resolves at the final frame. No speech, no music melody, no voiceover.
Strict negatives: no text, captions, prices, claims, logos, brand names, watermark, platform UI, play icon, people, hands, cables, extra controls, extra joints, duplicate lamp, additional product, floating parts, bending base, changing proportions, color drift, object morphing, camera shake, sudden zoom, rapid movement, or scene change.
Why it holds together: three timed beats, not one vague instruction
The prompt never says "slowly zoom in while the light changes" — that phrasing leaves too much for the model to improvise, and improvisation is exactly where product shots break. Instead it's split into three explicit windows:
0.0–1.5s — Hold, then begin. The first second and a half is deliberately static. The camera only starts moving at the very end of this window. This gives the model a stable anchor frame before any motion is layered on, which matters because Seedance 2.0 generates from the first_frame_url you supply — the calmer the opening beat, the less drift accumulates later in the clip.
1.5–4.5s — Push-in, 10° arc, light sweep. This is the bulk of the shot and the only window with real camera motion: a gentle push-in combined with a restrained ten-degree arc (not a full orbit — wide arcs are what usually trigger geometry drift on product shots). The warm light sweep is described as moving across the product, not changing the product's own color — a distinction worth keeping explicit, since a vaguer "warm lighting" instruction can bleed into recoloring the object itself.
4.5–6.0s — Settle. The last half-second intentionally has no new motion instructions. The camera "settles," the light "becomes steady." Ending on a held, named composition — rather than letting the previous motion just trail off — is what gives you a clean final frame you can also use as a secondary thumbnail.
The negative-prompt block is doing half the work
Every identity claim in the first paragraph ("exactly one thin cyan-teal accent ring," "exactly one small orange circular button") has a mirrored term in the strict-negatives block ("extra joints," "duplicate lamp," "additional product," "bending base," "changing proportions," "object morphing"). That pairing is the actual mechanism that prevents drift — stating what the product is once isn't enough over six continuous seconds; the prompt also has to name the specific failure modes it's not allowed to produce. If your product has a part count worth protecting (buttons, dials, cables, joints), write the count once as a positive claim and once as a corresponding negative.
Audio is deliberately small
The audio instruction is three short clauses: quiet room tone, one tactile click, a soft tonal rise that resolves on the last frame — then an explicit "no speech, no music melody, no voiceover." Left unconstrained, video models tend to default to adding a melodic score or ambient music bed, which reads as generic stock footage rather than a premium product shot. Naming what to exclude is as load-bearing here as naming what to include.
Reproducing this with your own product
Swap in your own first-frame product photo and this prompt structure carries over directly. Here's the request against hiapi's /v1/tasks endpoint, using Seedance 2.0's actual input schema:
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0",
"input": {
"prompt": "<the full prompt above, with your product description and timing>",
"aspect_ratio": "adaptive",
"first_frame_url": "https://your-cdn.example.com/your-product-first-frame.jpg",
"duration": 6,
"resolution": "720p",
"generate_audio": true
}
}'
Two schema details are worth calling out because they're easy to get wrong: the starting-frame field is first_frame_url (a single image URL), not an array — and aspect_ratio: "adaptive" tells Seedance 2.0 to match your source photo's own ratio rather than forcing a fixed 16:9 or 9:16 frame. duration accepts 4–15 seconds (default 5); this shot uses 6.
What it actually costs
Seedance 2.0 bills per second of output, scaled by resolution:
| Resolution | Price / second | This 6s clip | With a reference video supplied |
|---|---|---|---|
| 480p | $0.136 | ~$0.82 | $0.082/s → ~$0.49 |
| 720p | $0.293 | ~$1.76 | $0.179/s → ~$1.07 |
| 1080p | $0.729 | ~$4.37 | $0.443/s → ~$2.66 |
| 4k | $1.486 | ~$8.92 | $0.915/s → ~$5.49 |
The discounted tier applies when you pass reference_video_urls (up to 3 clips) alongside your prompt — useful if you already have b-roll of the same product and want the new shot to match its look. Check current rates on the pricing page before budgeting a batch, since these are live figures.
FAQ
How long can a Seedance 2.0 clip be?
duration is an integer from 4 to 15 seconds (default 5). For a single continuous camera move like this one, 5–8 seconds is usually enough room to fit a hold, a move, and a settle without the motion feeling rushed or stretched.
Does Seedance 2.0 add music or voiceover automatically?
generate_audio defaults to true, and the model will generate audio that matches your prompt — which is why it's worth writing an explicit audio paragraph. Leaving audio undescribed tends to produce a generic ambient bed; naming "no music melody, no voiceover" keeps it restrained.
How do I stop my product from deforming across the clip? State the exact part count once as a positive claim ("exactly one orange button") and once as a matching negative ("no duplicate button," "no extra joints"). Wide camera moves also raise drift risk — the 10° arc here is deliberately conservative.
Can I start from my own product photo instead of generating one?
Yes — pass its URL as first_frame_url. You can optionally add last_frame_url to pin an end frame too, but it's only accepted alongside a first_frame_url.
Can I get 4K output?
Yes, resolution accepts 480p, 720p, 1080p, or 4k (default 720p). 4K is the most expensive tier and mainly worth it for hero assets you'll crop or zoom into later.
Try it yourself
Seedance 2.0 is live now via the same unified /v1/tasks endpoint used above — see the model page for the full parameter list, or the docs for authentication and task-polling details. If you're building out a full product-launch sequence rather than a single hero shot, our walkthrough on Seedance 2.0 product launch videos covers multi-shot pacing, and this piece on fast short-form video with Seedance 2.0 is useful if you need turnaround speed over a single polished take.



