How to Write a Product Video Prompt That Keeps the Same Object Across Shots

11 min read

Make this article actionable

Send the article context into Vife Agent and turn it into a plan, checklist, or draft you can keep working on.

Open in Agent

Quick answer

Write one locked block of text that describes everything that must not change — the object, the surface it sits on, and the direction the light comes from — then copy that block word-for-word into every shot prompt. Change exactly one variable per shot: camera position or camera distance. After generating, compare each shot against the locked block before you generate the next one. If a shot drifts, delete it and re-run from the last shot that passed, changing only the one variable again.

That is the whole method. The rest of this article is the detail that makes it hold up in practice.

Mid-read shortcut

Turn the useful parts into next steps

Vife Agent can convert this guide into a prioritized workflow with tasks, risks, and reusable prompts.

Create a brief

Why the same product changes between shots

Most drift is not a model failure. It is a prompt failure, and it usually comes from one of four habits:

  • Rewriting the description each time. If shot 1 says "matte ceramic mug" and shot 2 says "smooth ceramic cup," you have described two different objects. The generator has no reason to assume they are the same thing.
  • Bundling changes. Moving the camera and softening the light and switching to a close-up in one prompt gives you no way to tell which change caused the drift.
  • Describing the object by mood instead of by structure. "Beautiful minimal mug" carries no shape information. "Straight-sided cylinder, no handle, slightly flared rim" does.
  • Leaving the background implicit. If you never state the surface, the generator invents a new one each time — a different wood grain, a different table edge, a different shadow.

The fix is procedural, not technical: freeze what must not move, and move one thing at a time.

Step 1: Write the locked block before you write any shot

The locked block is a short paragraph you will paste into every prompt unchanged. It has three parts, in this order:

  1. Object — shape, material, finish, color, and any defining detail. Avoid brand names and avoid adjectives that carry no geometry.
  2. Background — the surface, its texture and color, and what is visible behind it.
  3. Light — the direction the light comes from, its quality, and where the shadow falls.

Here is a locked block for the unbranded ceramic cup example used throughout this article:

text
LOCKED: A single unbranded ceramic cup, straight-sided cylinder with a slightly flared rim, no handle, matte off-white glaze with a faint horizontal throwing line near the base. The cup sits centered on a pale oak tabletop with visible straight grain; the background is a plain warm-grey wall, no other objects in frame. One soft light source from the upper left at roughly 45 degrees, casting a soft shadow to the lower right. Camera at table height, eye level with the cup's midpoint.

Three things make this block work:

  • It is checkable. "Faint horizontal throwing line near the base" is either present or absent in the output. "Elegant" is not.
  • It is short enough to reuse. A block you dread pasting will get paraphrased, and paraphrasing is where drift starts.
  • It names the light direction, not the mood. "Soft light from upper left" constrains the render. "Warm cozy lighting" does not.

Write this block once, save it somewhere you can copy from, and treat it as read-only for the rest of the project.

Step 2: Change one variable per shot

Now write your shot list. Each shot prompt is the locked block, verbatim, plus one changed line. Nothing else changes — not the wording, not the order, not the punctuation.

ShotVariable changedEverything else
Shot 1
Camera at table height, eye level with cup midpoint
Locked block, unchanged
Shot 2
Camera raised to a 30-degree downward angle
Locked block, unchanged
Shot 3
Camera moved closer, cup fills roughly two-thirds of frame
Locked block, unchanged

A copyable three-shot example:

text
[LOCKED BLOCK — paste verbatim] SHOT 1: Camera at table height, eye level with the cup's midpoint. Slow, steady push-in of roughly 10 centimeters over the clip. [LOCKED BLOCK — paste verbatim] SHOT 2: Camera raised to a 30-degree downward angle, same distance from the cup. Static camera, no movement. [LOCKED BLOCK — paste verbatim] SHOT 3: Camera moved closer so the cup fills roughly two-thirds of the frame, still at table height. Static camera, no movement.

This is an example of prompt structure, not a measured result. Whether a given model follows it closely depends on the model, the settings, and the clip length — check the live model selector in the AI product video generator for what is currently available, and check the displayed quote for credit cost before you commit to a batch.

Keep the variable list short

Two variables are enough for most product shorts: camera position (height and angle) and camera distance (how much of the frame the product fills). If you need a third, make it camera movement (static, push-in, orbit) — but introduce it only after the first two are stable.

Resist adding a light change to the same shot as a camera change. If you genuinely need a lighting shift, make it its own shot, and accept that you are now testing two things at once.

Step 3: Review each shot against the checklist before generating the next

Do not generate all three shots and then look at them together. Review shot 1, fix it if needed, then move on. Reviewing in sequence means a drift in shot 2 has exactly one suspect: the variable you changed.

Run this checklist on every shot:

  • Silhouette — is the outline the same shape as the approved shot? Same rim flare, same proportions?
  • Surface detail — is the throwing line present, in the same place, at the same faintness?
  • Color and finish — still matte off-white, not glossy, not shifted warmer or cooler?
  • Tabletop — same oak, same grain direction, same visible edge position?
  • Background — plain warm-grey wall, no new objects, no new texture?
  • Light direction — shadow still falling to the lower right, still soft-edged?
  • Framing — does the product sit where you expect for the camera change you asked for?
  • Only one thing moved — can you name the single difference from the previous shot? If you can name two, you have a bundled change.

Mark each item pass, drift, or unclear. "Unclear" is not a pass. If you cannot tell whether the throwing line is there, the shot is not usable for a sequence where that line matters.

Separate what you see from what you feel

Two kinds of judgment are happening here, and mixing them causes bad decisions.

Structural checks are close to objective. Silhouette, shadow direction, and the presence of a detail are things you can point at. If the shadow moved to the lower left, that is a fact about the frame.

Aesthetic checks are subjective. Whether the 30-degree angle "feels more premium" is a taste call, and it is yours to make. Do not let a taste preference override a structural failure — a beautiful shot with the wrong shadow direction will not cut against the other two.

Step 4: When a shot drifts, roll back instead of patching

The instinct when shot 3 drifts is to add more words to shot 3: "keep the same cup as before, do not change the shape." This usually makes things worse, because you have now made shot 3's prompt structurally different from shots 1 and 2, and the generator is reading a different description.

Do this instead:

  1. Delete the drifted shot. Do not try to salvage it with edits.
  2. Return to the last shot that passed and use its exact prompt as your new base.
  3. Re-run with the same single variable, changing nothing else. If the variable was "closer," try a smaller step — two-thirds of frame instead of filling it.
  4. If it drifts twice at the same setting, the variable itself is the problem. Drop it and pick a different camera change that the sequence can absorb.

Rolling back costs one generation. Patching costs several, and leaves you with a shot that does not match its neighbors.

Common mistakes

Paraphrasing the locked block. Even small synonym swaps — "off-white" to "cream," "oak" to "wooden" — count as a new description. Copy and paste; do not retype.

Describing the product by brand or category. "A cup like the one in the previous shot" gives the generator nothing. It has no memory of your previous shot unless your tool provides a reference mechanism, and even then the text still has to describe the object.

Changing camera height and distance together. This is the most common bundled change. Pick one.

Adding negative instructions as a substitute for description. Telling a model what not to do is not the same as telling it what to do, and negative parameters are not portable between models — a flag that works in one video model may be ignored or rejected by another. Describe the positive state instead: "plain warm-grey wall, no other objects in frame" rather than a list of things to exclude.

Reviewing all shots at once. You lose the ability to attribute drift to a single cause.

Chasing a perfect shot 1 forever. If shot 1 passes the structural checklist, lock it and move on. Perfection on shot 1 is not the goal; consistency across three shots is.

FAQ

How many shots can I hold consistent this way? There is no fixed number, and no model-independent answer. The method scales as long as each shot's prompt differs from the previous one by a single variable. In practice, sequences get harder as the camera moves further from the approved angle, because more of the object becomes newly visible. Test with three shots first, then extend.

Should I use the same seed or reference image across shots? If your tool exposes those controls, they are worth using, but they do not replace the locked block. A reference image constrains appearance; the text still has to state what must not change so you can check the output against something. Availability of seeds, reference inputs, and image-to-video modes varies by model — check the model selector rather than assuming.

What if the product has a logo or fine text? Fine text and small logos are the hardest details to hold across shots. If the mark must be legible, plan for it to be added or corrected in post rather than relying on generation. If it only needs to be present, describe its position and approximate size in the locked block so you can at least check placement.

Does a longer prompt help? Not by itself. Length helps only when it adds checkable structure — shape, surface, light direction. Padding with mood adjectives adds words without adding constraints, and makes the block harder to reuse consistently.

How do I know what a generation will cost? Check the displayed quote before you run a batch. Credit cost depends on the model and settings you select, and it is shown at the point of generation. See pricing for how credits work on Vife.

Can I reuse one locked block across different products? Yes, and it is worth doing. Keep the structure — object, background, light — and swap only the object paragraph. The background and light paragraphs can often stay identical across an entire product line, which is exactly what makes a set of shorts look like a set.

The short version

Freeze the object, the surface, and the light direction in a block you paste verbatim. Change one camera variable per shot. Check each shot against the block before generating the next. When something drifts, roll back to the last good shot rather than patching the bad one. The consistency you get is the consistency you specified — and the checklist is what tells you whether you got it.