Turn static product images into 3–6 second "moving shots": each image gets one image-to-video prompt + one local fallback solution (ffmpeg Ken Burns), ensuring you can produce a video even without a video model.
Part of ecommerce-video-skills · Where do the images come from? Use the sister repository ecommerce-image-skills to first produce white-background images/scene images/selling-point images.
Inputs
| Required | Description |
|---|---|
| 1–6 product images | White-background main images, scene images, detail images are all fine; the clearer the better (≥1000px) |
| Placement platform | Douyin / TikTok Shop / WeChat Channels / Taobao main image video / Amazon (determines aspect ratio 9:16, 1:1, 3:4, 16:9) |
| Optional | Selling points (up to 3), target duration, style (fresh / premium / energetic), available video models |
Steps
- Product consistency lock (mandatory): Look at the image and write down shape, color, Logo/text, material, accessories—then carry them verbatim in every prompt,forbid the model from changing the product。
PRODUCT LOCK: tall matte sage-green bottle, natural bamboo lid with black loop,
small white "AURA" wordmark on upper body. Keep shape, colour, logo and proportions identical in every frame.
-
Choose one shot role for each image(one image does only one thing):
Image type Recommended shot Action White-background main image Slow push-in / 360° orbit (when the model supports it) Product stays still, light and shadow sweep across Scene image Slight lateral movement / hand enters frame A person picks it up, pours water, puts it in a bag Detail image Macro push-in Light spots sweep across the material texture Selling point/infographic Static or extremely slow push Do not let the text deform (keep the text area as still as possible) -
Write the prompt(template below): subject → action → camera movement → lighting/atmosphere → duration/aspect ratio → constraints. The smaller the action, the more stable the product.
-
Give every shot a local fallback: when there is no video model / the model deforms the product, use
ffmpeg-auto-assemble'smotionfield (zoom_in/pan_left/punch…) to directly make the still image move. -
Deliverable: shot table (number, image, prompt, fallback motion, duration) + shots segment that can be pasted directly into
storyboard.json.
Prompt templates
General image-to-video (Chinese)
[参考图] 作为首帧。{PRODUCT LOCK}
镜头:{缓慢推近 / 从左向右平移 / 低角度环绕 30°},运动平稳,无抖动。
画面动作:{冰块落入杯中溅起细小水花 / 手从画面右侧入画拿起杯子 / 柔和光斑从左扫到右}。
光线:{明亮自然光 / 柔和棚拍光,浅景深}。
时长约 {4} 秒,{9:16} 竖屏。
要求:商品形状、颜色、Logo 与参考图完全一致;不新增文字;不出现其他品牌;手部自然、五指正常。
English (most models parse English best)
Use the reference image as the first frame. {PRODUCT LOCK}
Camera: {slow push-in | gentle left-to-right truck | 30° low-angle orbit}, smooth, no shake.
Action: {ice cubes drop into the bottle with a small splash | a hand enters from the right and lifts the bottle | a soft light sweep across the surface}.
Lighting: {bright natural daylight | soft studio light, shallow depth of field}.
About {4} seconds, {9:16} vertical.
Keep the product's shape, colour and logo identical to the reference. No new text, no other brands, natural hands.
First and last frame mode(when the model supports first frame + last frame): first frame = white-background main image, last frame = scene image, and the prompt only says "transition from studio shot to outdoor scene, product remains unchanged, camera slowly pulls back".
Negative constraints (when the model supports negative prompt):deformed product, melting, extra logos, changed colour, warped text, extra fingers, flicker, watermark
Local fallback (no model)
{"image": "assets/white-bg.webp", "motion": "zoom_in", "line": "换这只保温杯试试。"}
python scripts/assemble.py storyboard.json -o out/main-video.mp4 --size 1080x1080 # 本目录已附带 assemble.py
Checklist
- Every prompt carries PRODUCT LOCK
- One shot has only one main action; the fewer actions the product itself has, the better
- Selling-point images/images with text use only static or extremely slow camera movement
- Aspect ratio matches the platform (main image videos commonly use 1:1 / 3:4, information feeds 9:16)
- Do not write parameters the model does not support; duration and resolution are subject to the documentation of the model used
- Every shot has a local motion fallback
Common Questions and Fixes Failure fixes
| Issue | Fix |
|---|---|
| Product distortion / Logo blurring | Reduce motion, change to "camera moves, product stays still"; or switch to local Ken Burns |
| Hand deformities | Remove hand movements, or have the hands appear for only half a second at the edge of the frame |
| Screen flickering | Shorten the duration, reduce the motion amplitude, turn off exaggerated lighting effects |
| Garbled text | Do not let the model generate text; leave subtitles and decorative text to subtitles-and-text-effects post-production |
| Color drift | Write the color value or color name in the prompt, and require "match the reference colour exactly" |