Back to the blog
Try siriusly.ai

Keeping the product right in an AI-generated ad

Generating a convincing person is close to solved. Generating a person holding your actual product - your label, your logo, your bottle shape, spelled correctly - is where most AI ad pipelines quietly fall apart, and where the difference between a demo and a shippable ad lives.

There is a specific moment where AI-generated ads stop being impressive and start being useful, and it has nothing to do with how real the person looks. It is the moment the thing in their hand is unmistakably yours.

Video models are extremely good at producing a plausible object in a category. Ask for a person holding a protein tub and you will get a person holding a protein tub: correct proportions, believable lighting, plausible label design, and a brand name that is four letters away from yours. In a category-awareness brand film that is fine. In a direct-response ad where the viewer is meant to recognise the pack on a shelf, it is a failure, and it is not one that better prompting fixes.

Keep your product in the frame

siriusly.ai holds your product, packaging and claims in a reusable brand library, so every render starts from your real assets instead of a description of them.

Try it free

What Models Preserve and What They Invent

It helps to know, roughly, which parts of a product survive generation and which are reconstructed from scratch each frame:

AttributeHow well it survivesWhy
Overall shape and silhouetteGoodLarge, low-frequency, stable across frames
Dominant colourGoodSame reason, and colour is cheap to keep consistent
Logo markPoor to fairSmall, high-frequency, and reconstructed per frame
Label textPoorText rendering degrades fastest at small scale and under motion
Fine texture and finishFairDrifts slowly, usually unnoticed
Screens and UI in-frameVery poorDense text plus layout - the worst case for generation

The pattern is consistent: the smaller and more text-like a feature is, the less likely it is to survive. That is why the same generation that produces a flawless human face produces a label that reads correctly for four frames and then turns into approximate letterforms.

Models keep the shape and invent the writing. Any strategy for product accuracy is really a strategy for keeping text out of the model's hands.

Three Strategies, In Order of Cost

1. Image-to-video from a real product photo

The cheapest and, for most products, the right default. Instead of describing the product in a prompt, you give the model an actual frame containing it and ask it to animate from there. The product starts correct, and the model's job narrows from inventing it to keeping it stable.

This does not make drift impossible - a long generation will still slowly erode a label - but it changes the starting condition entirely, and it makes short clips reliably accurate. Combined with sensible chunk lengths, it covers most direct-response use cases.

2. Framing the product out of the failure zone

A shot design decision, and free. Product accuracy problems are scale problems, so shots that either hold the product large and steady, or keep it small enough that its label was never legible, both avoid the ugly middle ground where the text is big enough to read and wrong.

Fails: product held at chest height, mid-gesture, occupying maybe 15% of frame, rotating slightly. Big enough to read, small enough to garble, moving enough to drift.

Works: a held beat where the product fills a third of the frame and stops moving for a second, or the product resting in the background with no legible text at that scale.

3. Masked replacement

The heavyweight option: generate the scene, then composite the real product into it - mask the region the product occupies and inpaint the correct asset there, frame by frame, leaving everything else untouched.

This is the only approach that gives genuinely pixel-accurate packaging, and it is worth the cost in exactly the cases where accuracy is non-negotiable: regulated categories, recognisable packaging, anything with legible copy on the pack. The important implementation detail is what happens to the rest of the frame - a naive swap regenerates the whole shot and quietly changes the background, the lighting and sometimes the creator. Preserving the original background and recompositing only the masked region is what keeps a swap from turning into a re-shoot.

Reference Images That Actually Work

Most product-accuracy failures trace back to the source image rather than the model. A useful reference photo is a different thing from a good marketing photo:

  • Plain, even lighting. Dramatic studio lighting bakes highlights into the reference that then fight whatever lighting the generated scene has.
  • The label facing camera, fully visible. A three-quarter hero angle looks better in a catalogue and gives the model half a label to guess at.
  • Neutral or removable background. Anything the model might interpret as part of the product will become part of the product.
  • Real scale cues. A product photographed in isolation has no size, and models will happily render a 300ml bottle as a litre jug.
  • More than one angle. Front, side and in-hand, if you have them. A single angle constrains the model to shots from that angle.
  • Resolution above what you need. Detail can be discarded; it cannot be recovered.
Software and offerings are a different problem

For software there is usually no physical object at all, and the "product shot" is a screen. Generated UI is the worst case for text rendering, so the answer is almost always to composite a real screen recording rather than generate one - the model produces the person and the room, the recording produces the interface.

For offerings with nothing to show at all - a course, a service, an event - the honest move is to stop trying to show the product and let the creator carry the whole ad. A generated stand-in for something that does not physically exist is the fastest way to make an ad look fake.

Accuracy Is Not Only Visual

A product can be pixel-perfect on screen and still wrong in the ad, because the script says something untrue about it. This half gets much less attention and causes more actual damage, because a wrong claim is a compliance problem rather than a quality one.

Three things worth holding as hard constraints on any generated script rather than as suggestions:

  • Claims to avoid. Category-specific statements that are not permitted - health outcomes in supplements, earnings implications in finance, efficacy language in cosmetics. These vary by market as well as by category, so a localized variant can breach a rule the source language never had.
  • Banned words. Specific vocabulary a brand or a regulator will not accept, including words that mean something innocuous in general use and something regulated in your category.
  • Proof points. The claims you can make, with the substantiation behind them. Supplying these matters as much as banning the others, because a script writer with no permitted claims will invent plausible ones.

The critical part is where these live. If they are typed into a prompt for one run, they apply to one run. If they are attached to the product itself, every variant, every language and every future campaign inherits them - which is the only version that survives contact with a real content calendar.

A claim rule that lives in a prompt protects one video. A claim rule that lives on the product protects the campaign.

And the Name Has to Survive the Audio

One last accuracy surface that is easy to forget: the product name is spoken as well as shown. Models mangle names in two opposite directions - running joined capitals together into an unpronounceable blob, or compressing a perfectly ordinary two-word name into a single mumbled syllable. Either one undoes the work of getting the packaging right, because the viewer hears a different brand than the one on screen. The fixes, and which one applies when, are in the piece on making an AI voice sound human.

A Workable Default

  1. Store the product once - real photos, correct name, pronunciation, price, claims to avoid, proof points - rather than re-uploading per run.
  2. Generate from a real product frame rather than a description, wherever the product appears.
  3. Design shots that avoid the middle scale where label text is legible but unstable.
  4. Reserve masked replacement for hero beats and regulated categories, not for every shot.
  5. Check the finished render at full size, paused, on the frames where the pack is largest. Most label failures are invisible at thumbnail scale and obvious at full screen.

Common Mistakes

Describing the product in the prompt and hoping. "A white 500ml bottle with a minimal navy label" describes a category, and the model will render the category.

Fix: start from a real image. Prompting is for what happens in the scene, not for what the product looks like.

Using the hero marketing shot as the reference. Dramatic lighting, a partial angle and a styled background all get inherited by the generation.

Fix: keep a plain, evenly lit, label-forward reference specifically for generation, separate from the shot you use in a catalogue.

Swapping the product in a way that regenerates the whole frame. The pack becomes correct and the background, lighting and sometimes the creator quietly change with it.

Fix: mask the product region and recomposite over the original frame, so only the region you intended to change actually changes.

Reviewing renders at thumbnail size. Label garbling is completely invisible in a small preview and completely obvious on a phone held at arm's length.

Fix: review paused, at full resolution, on the frames where the product is largest.

FAQs

Can a model be trained on my product so it just knows it?

Fine-tuning on a specific object does improve consistency, but it is a poor fit for products that change - new packaging, new variants, new SKUs each season - and it does not solve label text, which fails for reasons unrelated to whether the model has seen the object before. Reference images and masked replacement generalize better and update instantly.

How long can a clip run before the label drifts?

It depends on the model and how much motion is in the shot, but the useful rule is that drift accumulates with generated duration, so shorter chunks drift less. If the product is on screen for the whole reel, that is an argument for keeping the product beats short and separate rather than for one continuous take - the same reason longer videos are built by chaining.

Do I need a masked swap for every ad?

No, and doing it everywhere is expensive without being better. Use it where recognition genuinely matters: the hero beat, regulated packaging, anything where the viewer is meant to identify the pack later on a shelf. Elsewhere, image-to-video from a real photo is enough.

What about competitor products appearing in frame?

Keep them out. Generated near-copies of real competing brands are a legal problem with no upside, and comparison claims carry their own rules in most markets. If a comparison is central to the ad, it belongs in the script under your claims process, not in the background of a shot.

Does this change how many variants I can produce?

Only in what has to be checked. The product assets and claim rules are set once and reused, so the marginal cost of variant twenty is the same as variant two. What does not scale is manual review, which is why it is worth deciding up front which beats actually need a frame-level check.

§ End · July 17, 2026
Was this useful?

Keep reading.

All posts
UGC Ads

AI UGC Ads Without a Creator

Where product assets sit in the full production pipeline.

AI Video

Which AI Video Model for UGC Ads?

Which models hold a reference image well, and what each costs per second.

Skip the pipeline.
We already built it.

siriusly.ai chains Gemini Omni, Wan and Seedance chunks automatically - last-frame continuity, prompt drift-control and all - so you just write a brief.

Start free