A little movement in the light or background can make a product photo feel alive while keeping the packaging readable.
For this fictional VELA citrus tonic, we animated the leaf shadows, removed an unwanted sweep of light, trimmed a few frames to find a cleaner restart, and restored the original label over the moving footage.
Give the motion one job
Start with a readable front label, a complete silhouette and room around the product. Give a curtain, reflection or leaf shadow the movement.
Pixelcut's looping-video endpoint, announced on September 30, accepts a source image and a motion prompt. We used subtle motion, five seconds, 1080p and no audio.
Here is the reusable direction after our revision:
Keep the camera, product, label and exposure fixed. Animate only the existing leaf shadows on the background wall: a small, slow sway out and back. Keep all illuminated areas at constant brightness. No moving beams, sweeping highlights or new objects. Return smoothly to the original shadow positions. Quiet product-page ambience.
Name what stays still as carefully as what moves.
Matching endpoints is only the start
We also tried MiniMax H3 Max with the same photo supplied as both its first and last image. Both needed review.
Pixelcut introduced a bright diagonal band; H3 kept the light quieter. We revised Pixelcut to remove the band, then checked the restart.
Play at least three consecutive cycles. Look for:
- A jump in the shadow's position or speed when the clip restarts.
- A change in brightness, focus or texture at the join.
- Lettering that crawls or a bottle edge that changes shape.
Even the revised loop had a small reset near its endpoints. Keeping frames 7 through 116 gave us a shorter 4.58-second loop with a cleaner join. We used a straight trim, with no crossfade or invented frames.
ffmpeg -i pixelcut-v2.mp4 \
-vf "trim=start_frame=7:end_frame=117,setpts=PTS-STARTPTS" \
-an -c:v libx264 -crf 18 -pix_fmt yuv420p \
-movflags +faststart product-loop.mp4
For another clip, find its join by watching the motion on both sides. These frame numbers are specific to our take.
Keep the original label
Generation kept the words CITRUS TONIC but redrew the lettering details.
With the camera and bottle locked, a masked composite can restore the original label over the moving footage. The download includes the script.
A rotating product or moving camera would need tracking; a fixed overlay would slide out of place.
Make the revision in Voyager
We used a Codex agent in Voyager, our desktop app, for review and finishing. We paused on the unwanted light band and pinned this note to the frame:
Remove this bright band of light. Let only the leaf shadows sway; keep the bottle and exposure steady. Make a new Pixelcut loop from source.png, preserving the original.
The review attachment carries the marked frame and note into the conversation. The agent makes another take from the existing photo and presents the result. Pointing at the defect supplies context the prompt alone would miss.
Description / transcript
The original loop shows a bright diagonal band. A saved frame note asks to remove it. The agent creates another Pixelcut take. The revised clip keeps the shadow movement. A local trim produces a shorter loop, and a masked composite restores the original label. The actual frame note is held for reading; generation waits are omitted.
We then asked the agent to restore the source label and save the compositing script. The final trim and composite run locally, so they need no additional model request.
Use it on a product page
Download the source photo, prompts and finished loops. The bundle includes an HTML player that opens locally; unzip everything together so its relative video links work.
Use the MP4 with a still poster, a pause control and reduced-motion support. Keep the GIF for quick previews.
Our source is an AI-generated fictional product photo. For your own product, start with approved photography and keep exact brand details in a controlled layer. A generative prompt is a direction, not a preservation guarantee.
Make your next project in Voyager
Create an account, download Voyager, and start making.
