Install
openclaw skills install @vargai/varg-product-lockTurns product photos into AI video shots that keep the product identical: a lock sheet (fixed geometry, fixed surface, allowed motion), a reference pack of 2-4 angles passed as @image roles to Seedance 2.5 or Kling 4, a camera-risk ladder (locked frame → push-in → slide → small orbit), banned motion words, one action per 4-6 s shot, a drift check with varg video_analyze, and the real packshot composited back where text must be exact. Fixes the #1 "looks fake" tell in AI product ads: warped logos, melted labels, products that change shape or size between shots. Use when a product drifts, morphs, changes color or loses its label in AI video, when someone asks for "consistent product", "keep my logo", "product looks different in every shot", or before a batch of product videos for TikTok Shop, Meta or Amazon. Not for people and characters staying the same (use varg-consistent-characters or varg-character-design).
openclaw skills install @vargai/varg-product-lockAI video models redraw the product in every frame. With one photo they guess the hidden sides, and long, soft or printed products drift: wedges turn into blocks, labels melt, cans invent a back. This skill locks the product before any clip is generated and checks every clip after.
Generation runs on varg: REST https://api.varg.ai/v2 (the varg-ai skill) or the MCP server https://mcp.varg.ai/mcp.
PRODUCT: car seat gap filler, single piece
FIXED GEOMETRY: long thin wedge, ~50 cm long, ~4 cm wide at the top, tapering; seatbelt slot near one end
FIXED SURFACE: black leather-like cover, contrast stitching along the top edge, no logo
ALLOWED MOTION: held, slid into a gap, objects dropped on top; never bent, squeezed or rotated fast
NEVER: boxy, shorter, glossy, another color, a second slot
Separate geometry, surface and motion; never mix an old and a new label in the references (seedance.tv).
| Ref | What | How |
|---|---|---|
@image1 hero | front three-quarter, clean, ≥1080 px | the supplier photo, or gpt_image_2_5 to fix text |
@image2 profile | the side that shows true shape and size | nano_banana_2_1 edit of the hero: "the exact same product from the side on white" (5 credits) |
@image3 detail | label, logo or material close-up | crop of the real photo |
@image4 scale | in a hand or next to a known object | optional |
Seedance 2.5 takes up to 9 images, Kling 4 up to 7 references per video, Veo 3.1 Ingredients up to 3. Give each image one role in the prompt: "@image2 only shows the true side profile, not the background" (AuraJZ/ai-product-video).
Product lock. @image1 is the exact product, front three-quarter view; @image2 is the same product from
the side, showing its true long thin wedge shape (about 50 cm long, 4 cm wide). The product keeps this
exact shape and size: it does not become boxy, does not shorten, does not change color, stitching or the
seatbelt slot. Never re-describe it beyond this.
<scene, one simple action, slow and steady, camera holds still with a slight handheld drift>
Real footage look, no music, no text, no subtitles.
curl -s -X POST https://api.varg.ai/v2/tools/video_analyze/call -H "Authorization: Bearer $VARG_API_KEY" \
-H "Content-Type: application/json" -d '{"model":"video-analyze","video_url":"CLIP_URL",
"prompt":"Compare the product in this clip with this description: <lock sheet>. For the first, middle and last second: does shape, size, color, label and every fixed detail match? Answer PASS or FAIL per attribute with the second where it breaks."}'
About 5 credits per clip. FAIL on any fixed attribute → rerun that shot only, with a shorter duration or one step down the camera ladder. Make 3–4 takes of a hero shot and keep the most stable.
For the hero close-up, use the real packshot: a slow push-in on the photo (zoompan) or the generated scene with the packshot overlaid on a static shot:
ffmpeg -loop 1 -i packshot.png -vf "scale=1300:-2,zoompan=z='min(zoom+0.0008,1.12)':d=150:s=1080x1920:fps=30" -t 5 -pix_fmt yuv420p hero.mp4
Curved labels on moving bottles need planar tracking (Mocha) in post; avoid those shots if you can.
2026-10-28, car seat gap filler. With one photo, seedance_2_5 turned the long wedges into boxy blocks in the reveal shot. With the lock sheet, a side-profile reference made by nano_banana_2_1 (5 credits) and the lock block above, the same shot kept the long wedge shape, the color and the stitching for the whole 6 s (231 credits). Before/after: https://s3.varg.ai/files/194b94d0-58ff-4e8b-91de-4f1959d04013/file_332df2a110a0.mp4
varg-unboxing-video and varg-product-hook (shots that need the lock), product-photo-to-video, varg-consistent-characters (people, not products), varg-ai.