product-photo-to-video
Turn a product photo into a product video ad that keeps the real product. Builds TikTok, Reels, TikTok Shop b-roll and listing videos from one to three product photos: a product truth sheet (label text letter by letter, colours, parts), a cut-out, a hero still, an 8–12 panel storyboard sheet, then one multi-shot Seedance 2.5 or Kling 4 clip with a PRODUCT LOCK block, a repair pass on drifting shots, and the real packshot composited on the last second. Formats: hands-only ASMR unboxing, macro pour or texture, ingredient burst or exploded view, product in use, 360° loop, product in a hand, apparel try-on. Never ships a Ken Burns slideshow. Use when someone has product photos and wants a product video, packshot animation, unboxing, ASMR product video, listing video or AI b-roll without filming. NOT for a person talking about the product (use ai-ugc-ad-video), TikTok Shop presenter videos (use tiktok-shop-video), or still listing images (use a product-photo skill).
- License 许可
- MIT
- 最近更新
- 2026-11-11
- Stars
- ★ 1.6k
- Forks
- 468
01 前言 Front Matter
- name
- product-photo-to-video
- license
- MIT
- metadata
- { "author": "vargHQ", "version": "1.0.0", "openclaw": { "homepage": "https://varg.ai", "requires": { "env": [ "VARG_API_KEY" ] }, "primaryEnv": "VARG_API_KEY" }, "varg.models": "bria_guided_remove_background, gpt_image_2_5, nano_banana_2_1, bria_fibo_edit_1_5_expand, bria_fibo_edit_1_5_product_holding, bria_fibo_edit_1_5_virtual_try_on, qwen_angles, seedance_2_5, kling_v4, wan_3, pixelcut_looping_video, minimax_h3_max_camera_controls, ffmpeg", "varg.outputs": "mp4 9:16 1080x1920, mp4 1:1 or 16:9 for product pages", "varg.cost.typical": "~250–1,000 credits per 15 s video at 720p including one repaired shot (estimate)", "varg.runtime.typical": "15–40 min", "varg.cost.estimate_tool": "varg:estimate_cost" }
- description
- Turn a product photo into a product video ad that keeps the real product. Builds TikTok, Reels, TikTok Shop b-roll and listing videos from one to three product photos: a product truth sheet (label text letter by letter, colours, parts), a cut-out, a hero still, an 8–12 panel storyboard sheet, then one multi-shot Seedance 2.5 or Kling 4 clip with a PRODUCT LOCK block, a repair pass on drifting shots, and the real packshot composited on the last second. Formats: hands-only ASMR unboxing, macro pour or texture, ingredient burst or exploded view, product in use, 360° loop, product in a hand, apparel try-on. Never ships a Ken Burns slideshow. Use when someone has product photos and wants a product video, packshot animation, unboxing, ASMR product video, listing video or AI b-roll without filming. NOT for a person talking about the product (use ai-ugc-ad-video), TikTok Shop presenter videos (use tiktok-shop-video), or still listing images (use a product-photo skill).
- allowed-tools
- Bash(curl:*) Bash(ffmpeg:*) Bash(ffprobe:*) Read Write Edit
- compatibility
- Needs the varg MCP connection (https://mcp.varg.ai/mcp) or a VARG_API_KEY with curl (see the varg-ai skill). Compositing and export use ffmpeg locally or the varg ffmpeg tool.
02 资源文件 2
- 参考文档references/failures.md2.4 KB
- 参考文档references/prompts.md6.7 KB
03 SKILL.md 正文
Turn a product photo into a product video ad
What wins in late 2026 is one impossible but tactile moment built around the real product: a macro pour, a lid snap, an ingredient burst, a hands-only unboxing. What fails: logo-first "cinematic" b-roll, still-photo slideshows (TikTok Shop bans them in shoppable videos), and any frame where the model rewrote the label.
Generation runs on varg (MCP call_tool or POST https://api.varg.ai/v2/tools/{image|video}/call). Quote with estimate_cost and wait for a yes before each paid step. A still costs cents to fix; a clip costs dollars, so approve stills first.
1. Product truth sheet (free, do it first)
From the photos and the product page, write:
PRODUCT: <name, size, e.g. "30 ml amber glass dropper bottle, gold cap">
LABEL (exact, in order): "NORTHLINE" / "VITAMIN C" / "30 ML"
COLOURS: body #F4A23B, cap #C9A227, label #FFFFFF
PARTS / IN THE BOX: bottle, dropper, box
SCALE: fits in the palm
CLAIMS WE CAN SHOW: absorbs in ~30 s (visible), lightweight texture
NEVER: change shape, size, colour or material; add text; fake results (fizz, instant clearing)
Photos: clean, straight-on, label readable. "If the label isn't readable in the reference, the model invents its own text."
2. Cut-out and hero still
- Cut-out:
bria_guided_remove_background(keeps the original pixels). - Hero still:
gpt_image_2_5edit, "keep the uploaded product exactly unchanged, replace only the background with [environment], match reflections and contact shadows, no product deformation, no added labels".nano_banana_2_1is cheaper but may need small packaging text fixed. - 9:16 canvas:
bria_fibo_edit_1_5_expand. Real side views for reveals:qwen_angles(exact angles, not invented sides). - Check at 100%, letter by letter, colour by eyedropper. Reject and redo, don't "fix later".
Product in a hand: bria_fibo_edit_1_5_product_holding. Apparel on a person: bria_fibo_edit_1_5_virtual_try_on (check stitching, print and logo; AI try-on smooths texture and length).
3. Storyboard sheet (approve before video)
gpt_image_2_5, 8–12 panels, each ≥1.5 s with one camera move, POV hands only for no-face formats. Template: references/prompts.md P1. Sequence that works: product on the surface, hands enter → open and reveal → the most tactile moments → in use → the result in macro → hero packshot. Show it to the person.
4. One multi-shot clip with PRODUCT LOCK
seedance_2_5, 10–15 s, @image1 = the cut-out, @image2 = the approved sheet ("follow its shot order, never show its panels, numbers or text"), audio on for foley, "no background music" unless wanted, last second held clean for the end card. Template: references/prompts.md P2.
Cheaper: kling_v4 multi-shot (often right first time) or wan_3 (best value for b-roll volume). Drafts: kling_v4_flash.
Safest for listings and loops: pixelcut_looping_video (locked camera, seamless loop, motion: spin for 360°). Exact orbit around a packshot: minimax_h3_max_camera_controls.
5. Repair, don't reroll
Reject any shot where the pack, label, shape, colour, part count or hand count drifts. Regenerate only that shot from first and last frames (seedance_2_5 first/last-frame mode, kling_v4 end_image_url), camera locked in both frames or it invents a move. Reliability ladder, best first:
- Composite the real product PNG and label over AI footage (real pixels)
- Locked camera, only the environment moves (liquid, fog, hands)
- Reference on every shot + PRODUCT LOCK + label spelled out
- One job per reference ("defines the product ONLY")
- First/last frames from approved stills
- A hand anchored on the box base; hands at the product's edges
- Push-ins and parallax instead of full spins of unseen sides
Common failures and fixes: references/failures.md.
6. Composite the truth and export
-
Lay the real packshot PNG (and copy, if any) over the clean last second:
# packshot.png = the real cut-out with alpha; 13 = where the clean last seconds start ffmpeg -i clip.mp4 -loop 1 -i packshot.png -filter_complex "[1:v]scale=760:-1[p];[0:v][p]overlay=(W-w)/2:(H-h)/2:shortest=1:enable='gte(t,13)'" -c:v libx264 -crf 18 -c:a copy hero.mp4Tested on FFmpeg 6.0: the packshot appears from 13 s and the clip keeps its length.
-
Edit, captions, CTA, loudness and the 4:5 cut:
ecommerce-video-edit. A 1:1 or 16:9 15–30 s cut with no hard sell for the product page. -
Label realistic AI footage (TikTok AIGC toggle; Amazon
contains-synthetic-performerif a photoreal person appears). Never show the product doing more than it can.
Formats
| Format | Model | Notes |
|---|---|---|
| Hands-only ASMR unboxing | seedance_2_5 / kling_v4 |
12-panel ASMR sheet; "natural ASMR only"; one hand stays on the box base |
| Macro pour / texture / splash | seedance_2_5 |
Locked camera on the pack; only the liquid moves |
| Ingredient burst / exploded view | gpt_image_2_5 still → seedance_2_5 |
Real parts in their real order |
| Food process film ending on the product | seedance_2_5 |
8–12 beats of 2–3 s, match cuts, 110–120 BPM |
| 360° loop for listings | pixelcut_looping_video |
Safest label fidelity |
| Product in use (kitchen, bathroom) | nano_banana_2_1 stills → kling_v4 |
Hands at edges, real scale cue |
| Apparel on a model | bria_fibo_edit_1_5_virtual_try_on → seedance_2_5 |
One @image per garment, "EXCLUSIVE reference" |
Costs on varg (live rules, Oct 2026; quote exact jobs with estimate_cost): a 15 s product video is roughly 250–1,000 credits at 720p (Seedance 2.5 is the priciest and varies ~2× by route; Kling 4 ~16 credits/s, Wan 3 ~10 credits/s at 720p).
Related
ecommerce-video-ads · varg-product-hook (UGC-style hook clip of the product in use) · ecommerce-video-edit · ai-ugc-ad-video · tiktok-shop-video · varg-ai
Sources: varg how-to: turn a product photo into a video, fal commercial skill, Masonry controlled test, Luma Seedance guide, OpenAI image prompting cookbook, X posts by @abxxai, @Ciri_ai, @HeyRu0by, @Strength04_X, @yourPlugAI.
04 同仓库更多 Skills
deja-search
deja-vu memory — search the user's past AI coding sessions with the deja CLI. Holds what they already settled and never wrote into the repo (naming rules, banned or already-tried tools, required checks before merge, preferred values, who owns what). Use before your first edit in a task, before you call a change done or ready to merge, before you recommend a tool, library, design or reviewer, before re-debugging an error that may already be solved, when they say 'didn't we fix this before', 'what did we decide about X' or 'I already have that', and before telling them something on this machine does not exist.
deja-reflect
End-of-session reflection and memory curation with deja-vu. Review what was decided, what commands broke and what repaired them, and record durable project rules or decisions with deja remember so the next session starts with them.
revid
Make, edit, export and post AI videos with Revid (revid.ai) through the Revid MCP server. Use whenever the user wants a short-form or long-form video made (from an idea, a script, a URL, an article, a PDF, a tweet, a product page, their own clips, or a song), wants to find what is going viral on TikTok, YouTube, Instagram or X before making something, wants to edit or re-export an existing Revid project, generate a standalone AI image or clip, make a series episode, or publish and schedule a finished video to connected social accounts. Covers setup (hosted MCP with OAuth, or an API key), the 36 tools, credits, polling and the rules for publishing. Routes to the more specific revid-* skills when one fits.
review-study
Review a QuestionPunk survey before launch for wording, answer choices, branching, and missing settings. Use for check my survey or review this draft before publishing.
manage-study
Find QuestionPunk studies, check status, publish an explicitly requested draft, or retrieve its participant link. Use for find my survey, publish this study, or how many people responded.
create-study
Create a saved QuestionPunk survey draft from a research brief or edit specified questions. Use for requests such as make a customer feedback survey or shorten my onboarding study.