For product ads, use MiniMax H3 Max when the product has to stay on-spec and Veo 3.1 when you want a cinematic hero shot, then check every frame for invented text. Those are the two models we tested that you can still run in Masonry. Kling 2.6 Pro was just as faithful and Kling O3 Pro moved more, but Masonry retired both for Kling 4.0, which we have not run through these screens yet. This page contains two controlled screens. The original test sent one plain red mug and one prompt through Kling 2.6 Pro, Veo 3.1, and Seedance 2.0. The current refresh sends one labeled serum and a stricter prompt through Kling O3 Pro and Kling 2.6 Pro. Every first return is shown.
The results expose two separate tradeoffs. On the mug, Kling 2.6 kept the product stable while Veo and Seedance turned the source into a cinematic spot and added coffee. On the serum, Kling O3 delivered more visible parallax but invented side copy; Kling 2.6 stayed conservative and nearly static. Motion quality cannot be separated from what the model invents to create it.
This is a test of the underlying video models, not the end-to-end ad apps built on top of them. Routes such as Kling 4.0 (the successor to the Kling models we tested), Veo 3.1, and Seedance 2.5 (the successor to the Seedance 2.0 we tested) decide whether your product survives the motion. A multi-model workspace like Masonry lets you call them directly and compare the same brief instead of accepting the default chosen by one ad app. It is the video companion to our best AI image model for product photography roundup. Newer routes keep arriving after this test was run: MiniMax H3 Max exposes a reference-to-video mode that carries a specific product image into the shot, so recheck the current list before committing a campaign to any route compared below.
If you already chose a route and need the full source-to-ad handoff, use the real-product AI UGC workflow for truth-layer setup, a routine keyframe, frame-by-frame rejection, deterministic claims, and purchase measurement.
If the source is a reviewed Shopify product page and the deliverable is a no-creator vertical ad, use the Shopify product-page-to-AI-video workflow to preserve the exact variant, reject product drift, and keep copy plus destination deterministic.
Quick answer: which model for which job
- The product must stay closely on-spec (catalog loops, PDP video, marketplace listings): MiniMax H3 Max. On 31 October 2026 we ran it on the same serum screen: the label, pump and liquid held steady through a gentle push-in, and it invented no side copy. Kling 2.6 Pro won the original mug test on fidelity but is now retired in Masonry.
- A scroll-stopping hero ad with cinematic motion and atmosphere: Veo 3.1, or Seedance 2.5 (we tested its predecessor, Seedance 2.0). Both follow creative direction, add camera moves, and produce a "shot" rather than a turntable.
- Longer clips, references or video editing: Kling 4.0, 3 to 30 seconds with up to 10 references. It replaced the Kling models in this test and has not been through these screens yet, so run your own fidelity check first. (Its predecessor Kling O3 Pro moved more than 2.6 but invented side copy.)
If you only remember one thing: test your real product across two of these before you commit a campaign to any of them.
Recency boundary: the original mug screen compares Kling 2.6 Pro, Veo 3.1, and Seedance 2.0. The August 16 refresh separately compares Kling O3 Pro with Kling 2.6 Pro on one serum source. On 31 October 2026 we added MiniMax H3 Max to the serum screen with the same source and prompt. Because the source and prompt differ between screens, the files support within-screen judgments only; they are not a five-model league table.
New test: Kling O3 Pro vs Kling 2.6 Pro on one serum
We reused the fictional NORTHLINE source from our same-SKU image fidelity test. The front view authorizes one clear cylindrical bottle and cap, a silver stepped pump, orange liquid, a centered white label, and the exact lines NORTHLINE, VITAMIN C, and 30 ML. It does not authorize side or back copy.
Both live routes received that file, square output, audio off, one unselected candidate, and the same prompt:
Animate the supplied fictional NORTHLINE VITAMIN C 30 ML source as a restrained ecommerce product-ad loop. The bottle remains upright, centered, stationary, and completely visible while the camera makes one very slow subtle push-in with a small clockwise parallax move. Preserve exactly one bottle; the clear cylindrical body and cap; silver stepped pump and centered nozzle; orange liquid color and level; white rectangular label; exact NORTHLINE, VITAMIN C, and 30 ML text; proportions, edges, reflections, shadow, and light-gray studio background. Keep the front label readable throughout. Add no hand, person, prop, ingredient, droplet, splash, mist, bubble, extra text, logo, claim, product part, cap movement, dispensing, liquid movement, cut, transition, or scene change. No audio. Treat the result as a review candidate, not factual primary product footage.
Each route returned a 5.041667-second, 1440 × 1440, 24 fps H.264 file with 121 frames and no audio stream. We inspected frames 0, 30, 60, 90, and 120 before judging polish.
| Route | What survived | What failed or remains unproven | Disposition |
|---|---|---|---|
| Kling O3 Pro | One product, front wording, pump, orange liquid, studio field, requested push and parallax | Dense side copy was invented as the bottle turned; unseen geometry is not source-authorized | REJECT |
| Kling 2.6 Pro | One product, front wording, pump, liquid level, studio field, stable restrained motion | Exact geometry remains generated rather than physically verified; motion is nearly static | SECONDARY_REVIEW |
| MiniMax H3 Max | One product, front wording, pump, liquid level, studio field, a visible slow push-in | Output is 768 × 768, half the Kling resolution; a silent audio track was returned despite "No audio" | SECONDARY_REVIEW |
The result is narrower than “2.6 is better than O3.” O3 obeyed more of the motion request but spent that freedom inventing a surface. For an exact-SKU placement, the more conservative 2.6 return is easier to review. For a campaign concept, O3's motion may be useful after replacing the generated product with an approved layer.
Added 31 October 2026: MiniMax H3 Max on the same serum
Same source file, same prompt, one first return. MiniMax H3 Max returned a 5.184-second, 768 × 768, 24 fps file with 124 frames and an audio track that measured silent (peak −74.7 dB). We reviewed frames 0, 30, 60, 90, and 120.
It did what Kling 2.6 Pro did, with more visible motion than 2.6 and none of O3's invented surfaces. The tradeoff is resolution: upscale or reshoot the hero if the placement needs more than 768 pixels.
Download the source, job, file, frame, gate, and disposition manifest for the job IDs, raw file hashes, and the source-authority boundary.
This is one first return per route on one fictional SKU. It cannot establish a win rate, cost per accepted clip, real-product truth, platform approval, shopper response, or revenue impact.
The original three-model mug test
One product still (a red mug, white seamless background, white interior). One prompt for every model: "slow cinematic camera push-in on the mug, soft studio lighting, gentle steam rising, premium product commercial." Each model got the still as its input image. Then I inspected the full clips and first/last frames for exterior identity, invented contents or props, framing, requested camera motion, and audio.
This is a controlled same-input comparison with one generated clip per model, not a statistically powered benchmark. It can reveal how these three outputs differ on this mug brief. It cannot establish a universal win rate. For a production decision, generate at least four candidates per model and compare acceptance rate plus cost per accepted clip.
What the same prompt produced, model by model:
- Kling 2.6 Pro stayed closest to the source. Across the whole clip the mug is nearly identical to the input: shape, red color, gloss, handle, and white interior all remain visible. The motion is a restrained push-in. It also matched the input's square framing instead of forcing a widescreen crop. This is the behavior you want when fidelity matters, but “closest” is not the same as pixel-exact.
- Veo 3.1 went cinematic. It read "push-in" and "steam" literally, pushing deep into the cup, adding realistic coffee and rising steam the still never had, with a hero-commercial feel. The red-and-white identity held, but it took creative liberty with the scene. A square input got pillarboxed into 16:9, so set your aspect ratio deliberately.
- Seedance 2.0 also went cinematic, much like Veo, with a strong push-in plus added coffee and steam, and it filled the 16:9 frame by cropping rather than letterboxing. It produced the longest clip of the three.
And here are the three clips themselves, same input photo, same prompt. They start muted, use the unmute control to hear the native audio.
The takeaway is that "which video model" for product ads is not one quality ranking. The outputs differ in how literally they preserve the source versus embellish the scene. That tradeoff is the decision.
Clip length, resolution, and audio
The stored mug files are about five seconds for Kling, eight for Veo, and ten for Seedance; both new serum files are 5.041667 seconds. Those are observed file lengths, not current duration choices.
On August 16, the live Masonry parameter contracts for Kling O3 Pro, Kling 2.6 Pro, Veo 3.1, and Seedance 2.0 did not expose a duration flag. Kling O3 Pro and Kling 2.6 Pro exposed 1080p landscape, vertical, and square dimensions; Veo exposed 720p or 1080p landscape and vertical dimensions; Seedance exposed 720p landscape and vertical, 960 × 960 square, and additional wide and 4:3/3:4 sizes. The routes also expose audio controls, but audio was disabled for the serum screen.
That has since changed. As of November 4, 2026, Veo 3.1 accepts 4, 6, or 8 seconds. Masonry has retired Kling 2.6 Pro, Kling O3 Pro, and Seedance 2.0. Their successors are Kling 4.0, which accepts 3 to 30 seconds, and Seedance 2.5, which accepts up to 30 seconds. Model contracts change independently of stored test files. Before a batch run, use masonry models params <model> and treat only the returned flags as executable. Do not copy the observed clip lengths into a production contract.
The original mug-test comparison
| Model | Observed behavior in this test | Duration flag, Aug 16 | Output, Aug 16 | Audio control |
|---|---|---|---|---|
| Kling 2.6 Pro | Closest to source; restrained push-in | Not exposed | 1080p landscape, vertical, square | Exposed |
| Veo 3.1 | Cinematic push-in; invented coffee and steam | Not exposed | 720p/1080p landscape or vertical | Exposed |
| Seedance 2.0 | Cinematic push-in; filled widescreen crop | Not exposed | 720p plus square/alternate formats | Exposed |
Do not compare models on list price alone. A cheaper clip that changes the label, material, or product geometry has zero production value. Generate the same number of candidates, reject off-spec outputs, then divide total credits spent by accepted clips. That is the cost number worth optimizing.
A product-video acceptance scorecard
Score each candidate before looking at which model made it:
| Dimension | Reject when |
|---|---|
| Product identity | Shape, color, finish, handle, logo, label, or visible feature changes |
| Invented content | The model adds liquid, ingredients, props, text, or features the product does not include |
| Motion brief | The requested camera or product motion is missing, excessive, or physically implausible |
| Framing | Crop, pillarbox, or aspect-ratio treatment makes the placement unusable |
| Temporal stability | Edges breathe, labels warp, or parts appear and disappear between frames |
| Audio | Sound contradicts the product, contains bad dialogue, or creates a claim the visual cannot support |
| Ad quality | Lighting, composition, or camera move looks flat or generic for the placement |
| Brand fit | Mood, color, or pacing contradicts the brand, even when the product itself is accurate |
Blind the model name if possible. Score product accuracy first, then creative quality: a clip has to pass every product-identity row and still look like an ad worth running. Keep it only if it does both and fits its intended placement. A hero ad may tolerate invented atmosphere; a PDP clip should not invent what is inside the mug.
How to make a product video without a studio
The practical workflow is image-to-video: start from a clean product still and animate it, rather than describing the product from scratch in text. Kling 4.0, Veo 3.1, and Seedance 2.5 can all start from one. If you don't have a clean still yet, make one first with AI product photography from the photos you already have, then animate the approved frame.
In the app: open Masonry's canvas, upload one clean product photo, write one restrained motion brief, and generate it on two models side by side, for example MiniMax H3 Max and Veo 3.1. Review both clips at full size against the photo and keep only what passes the scorecard above.
With the Masonry CLI you do the same from one command and switch models with a flag:
# product photo in, ad clip out, on the model that held the product best masonry video "slow push-in, soft studio light" --image ./product.png --model minimax-h3-max # same still, cinematic model masonry video "slow push-in, soft studio light, gentle steam" --image ./product.png --model veo-3.1-generate-preview
An AI agent like Claude Code can run those for you in a session, so generating and comparing product clips becomes part of your normal workflow instead of a separate app.
The bottom line
Pick the product-video model by the job and by the source evidence you actually have:
| Ad type | Start with | Why, from this page |
|---|---|---|
| PDP loop, catalog or marketplace video | MiniMax H3 Max | Held label, pump and liquid through a visible push-in; invented nothing |
| Cinematic hero ad, atmosphere allowed | Veo 3.1 or Seedance 2.5 | Both added camera moves and a commercial feel (and invented coffee) |
| Long clip, multi-shot, or many products | Kling 4.0 | 3 to 30 seconds and up to 10 references; not yet tested here |
| Exact-SKU placement at high resolution | MiniMax H3 Max, then upscale | Its 768-pixel output needs upscaling, or composite the approved product layer |
None of those observations authorizes a universal winner.
If the product on screen has to be the product you ship, reject any frame that exceeds the approved source, even when the motion looks better. If you want a cinematic ad and can accept invented atmosphere, compare the more directable outputs, then composite the approved product when its pixels matter. The real mistake is committing a campaign before your actual product has been run through at least two current routes. Open the controlled test above, compare accepted-clip cost in Masonry's canvas, script it over a catalog with the Masonry CLI, or see how the same logic plays out for stills in our product photography model roundup.
For a longer reference-to-keyframe-to-motion example, the Blender-like AI product animation workflow shows the original motorcycle assets, current CLI commands, and the exact-product acceptance boundary.
When the placement is an exact Shopify product page rather than an ad, use the source-accurate PDP product-demo video workflow to start from one buyer question, approve mechanical states, inspect intermediate frames, and carry the clip through poster, caption, variant, Google product-video, and order checks.
For the wider decision (whether video, a PDP explanation, an ad matrix, or a lifecycle asset is the right first job), start with the AI ecommerce use-case map.
If the ad stars a brand mascot rather than the product itself, the mascot video ad template builds a 10 to 30 second 3D ad where the mascot acts out your customer's problem and your fix, then lands on your logo and offer.


