Prompting & Workflow9 min read
Luma Uni-1's "Modify vs Create" Rule → A Simple Decision Tree for Cleaner Veo3Gen Iterations
A practical Modify vs Create decision tree (from Luma Uni-1 guidance) adapted to Veo3Gen so you can iterate without drift, with templates + checklist.
On this page
- TL;DR
- Key takeaways
- Why most iterations break (it’s scope, not talent)
- The Uni-1 rule you should steal: “Modify vs Create”
- Two practical implications for video iteration
- The Modify vs Create decision tree (Veo3Gen-friendly)
- Decision tree (yes/no)
- What “Modify” means as a writing style
- What “Create” means (and why it’s not failure)
- Mid-article CTA: operationalize this with Veo3Gen
- Worked example: from chaotic feedback to clean iterations
- Scenario
- Step 1: Split into two tracks
- Step 2: Write each as lock list + one delta
- The “Start → Direct → Refine → Finish” loop (adapted for iteration)
- Writing rules that reduce drift immediately
- 1) Replace “more cinematic” with explicit intent
- 2) Don’t rely on negative prompts
- 3) Use natural language, not token soup
- A copy-paste “Revision Brief” (forces single-delta thinking)
- Revision Brief (single shot)
- Checklist
- FAQ
- How do I know if I should Modify or Create?
- Why do my iterations “drift” even when I change only a few words?
- What should I do if my collaborator asks for multiple big changes at once?
- How do I write revisions if negative prompts don’t work?
- How do I keep audio consistent while iterating in Veo3Gen?
- Ship cleaner iterations with Veo3Gen (closing CTA)
- Start creating with Veo3Gen
- Sources
TL;DR
Use Modify when you want a new version of the same shot (same identity/composition/moment) and Create when you want a new composition (even if it’s inspired by the input). Luma’s Uni-1 prompting guide frames this as the first decision and it’s the fastest way to prevent “iteration drift” where every revision changes everything. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
Below is a simple yes/no decision tree and a worked example you can run shot-by-shot in a Veo3Gen pipeline so your revisions stay controlled instead of turning into random restarts.
Key takeaways
- Decide Modify vs Create before you touch the prompt: if the next output must look like a version of the input → Modify; if it’s meant to be new (new scene language) → Create. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
- Uni-1 guidance emphasizes intent over keywords—don’t “adjective-swap” and hope the shot stays stable. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
- Uni-1 guidance says negative prompts aren’t supported; describe what you want, in natural language. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide) (https://lumalabs.ai/learning-hub/best-practices)
- Use an iteration loop mindset: Start → Direct → Refine → Finish. Lock more elements as you go. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
- For cleaner revisions, use a lock list + single delta format: “Keep X, Y, Z the same; only change A.”
Why most iterations break (it’s scope, not talent)
Most “bad iterations” aren’t because the first prompt was weak. They happen when a revision request quietly asks for two incompatible outcomes:
- Expectation: “Keep the same shot.”
- Request: “Change the location, wardrobe, lighting, lens, action, and camera move.”
That’s not a “revision”—it’s a new shot.
Luma’s Uni-1 prompting guide makes this explicit in a section titled “Create vs modify: the first decision”: the first question is whether you are creating something new or changing something that already exists. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
Once you force that decision up front, your iteration workflow stops collapsing into drift.
The Uni-1 rule you should steal: “Modify vs Create”
Uni-1’s guide defines the two intents clearly:
- Create generates a brand-new composition. References can inspire it, but none of the input pixels are preserved. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
- Modify edits a specific input image and composition is preserved unless a change is requested. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
The guide even gives a rule-of-thumb mapping:
- “Make this photo look like nighttime” → Modify
- “Create a new scene in the style of this photo” → Create (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
Two practical implications for video iteration
-
If you want the same shot identity, you must write like you want preservation (locks + one delta).
-
If you want new camera language / new blocking / new environment, stop pretending it’s a tweak—treat it as Create and move on faster.
The Modify vs Create decision tree (Veo3Gen-friendly)
Run this before rewriting your prompt.
Decision tree (yes/no)
Q1: Should the next output look like a version of the current shot (same subject identity, same composition, same moment)?
- Yes → Q2
- No → CREATE
Q2: Can the request be expressed as 1–2 specific “deltas” without changing the shot’s identity?
- Yes → Q3
- No → CREATE
Q3 (sanity check): Does the request imply new blocking or new camera choreography? Examples: “make her run,” “turn it into a drone reveal,” “switch to a wide establishing,” “do a whip-pan.”
- Yes → CREATE
- No → MODIFY
What “Modify” means as a writing style
Even if your toolchain doesn’t literally label a button “Modify,” you can behave like it:
- Choose an anchor (the last best clip, or a still frame).
- Write locks (what must not change).
- Write one delta (what changes this pass).
- Keep everything in natural language. (https://lumalabs.ai/learning-hub/best-practices)
What “Create” means (and why it’s not failure)
Create is not “I gave up.” It’s “I’m asking for a new composition, so I’m going to generate a new composition.” That aligns with Uni-1’s definition of Create. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
Mid-article CTA: operationalize this with Veo3Gen
If your bottleneck is iteration (not ideation), Veo3Gen is built for running lots of controlled passes on Google’s Veo 3.1 models—using text-to-video and image-to-video, first-and-last-frame control on Veo 3.1, and native synchronized audio (dialogue, SFX, music) generated in a single pass. It also offers three modes—Veo 3.1 Fast, Quality, and Lite—so you can preview cheaply and spend more only when it matters.
When you’re ready, start with your best anchor frame and run “lock list + one delta” iterations through Veo3Gen.
Worked example: from chaotic feedback to clean iterations
Below is a concrete “before/after” you can copy.
Scenario
You generated a vertical 9:16 skincare hero clip. Stakeholder feedback:
“Make it more premium and cinematic, remove the harsh shadows, make the text clearer, and also can we put it on a beach at sunset with a slow zoom?”
This is actually two different intents:
- “Same shot, higher polish” (Modify)
- “New scene: beach at sunset + slow zoom” (Create)
Step 1: Split into two tracks
| Track | Intent | Why |
|---|---|---|
| Track A | Modify | It assumes the same shot and asks for polish-level changes (lighting, typography). |
| Track B | Create | It asks for a new environment + new camera language (“beach at sunset,” “slow zoom”). |
Step 2: Write each as lock list + one delta
Track A (MODIFY): Lighting cleanup
- LOCK: same framing, same product position/orientation, same background/set, same camera behavior, same overall color palette
- DELTA: replace harsh shadows with diffused softbox key + gentle fill; smooth highlight roll-off; keep a premium studio look
Track A (MODIFY): Typography clarity
- LOCK: same shot, same lighting as approved version, same text content, same placement
- DELTA: increase text size and contrast; clean sans-serif; ensure readability across the full duration
Track B (CREATE): New sunset beach concept
- NEW SCENE: premium skincare product on reflective marble near a beach at sunset; warm golden-hour lighting; minimal luxury styling
- CAMERA: slow cinematic push-in
The key move isn’t fancy language—it’s choosing Modify vs Create first.
The “Start → Direct → Refine → Finish” loop (adapted for iteration)
Uni-1’s prompting guide frames a workflow of Start, Direct, Refine, Finish. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
Use it as an iteration discipline:
- Start: generate options quickly; don’t over-lock.
- Direct: pick one anchor that’s closest to the goal; name what matters.
- Refine: introduce locks + single deltas; tighten continuity.
- Finish: stop changing fundamentals; polish details only.
If your “Refine” step keeps producing new compositions, you’re not refining—you’re accidentally creating.
Writing rules that reduce drift immediately
1) Replace “more cinematic” with explicit intent
“More cinematic” usually bundles multiple changes (lighting, lens, blocking, camera motion). If you want Modify behavior, specify which cinematic attribute changes.
- Instead of: “more cinematic”
- Write: “keep framing identical; change lighting to lower-key with soft rim light; add gentle filmic contrast”
2) Don’t rely on negative prompts
Uni-1 guidance says negative prompts aren’t supported and advises describing what you want rather than what you don’t. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
Rewrite:
- “no blur, no distortion” → “sharp focus on subject, clean edges, stable details”
3) Use natural language, not token soup
Dream Machine best practices recommend natural, detailed language. (https://lumalabs.ai/learning-hub/best-practices)
That’s useful here because lock lists are easier to write clearly in plain English.
A copy-paste “Revision Brief” (forces single-delta thinking)
Paste this into Notion/Frame.io/Slack and require it for every change request.
Revision Brief (single shot)
- Shot ID / link:
- Goal (1 sentence):
KEEP LOCKED (do not change):
- Subject identity locked: (yes/no) — details:
- Background/set locked: (yes/no) — details:
- Composition/framing locked: (yes/no) — details:
- Camera motion locked: (yes/no) — details:
- Wardrobe/props locked: (yes/no) — details:
- Aspect ratio: (16:9 / 9:16)
CHANGE LIST (max 1–3 deltas): 1. 2. 3.
Audio (if applicable):
- Dialogue:
- SFX:
- Music vibe:
Checklist
- For every revision, I decide: version of the input (Modify) or new idea (Create). (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
- I can explain the request as 1–2 deltas; if not, I treat it as Create.
- I write a lock list (3–6 items) before I write any new descriptors.
- I avoid negative prompts and describe desired outcomes positively. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
- I keep prompts in natural language. (https://lumalabs.ai/learning-hub/best-practices)
- If the ask implies new blocking/camera grammar, I restart as Create.
- I track changes with a Revision Brief so feedback can’t smuggle in new intents.
FAQ
How do I know if I should Modify or Create?
Use Uni-1’s first decision: are you changing something that already exists (Modify) or creating something new (Create)? If you need the same composition/moment, it’s Modify; if you need a new composition, it’s Create. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
Why do my iterations “drift” even when I change only a few words?
Because small wording changes can imply a different intent (new lighting language, new staging, new camera behavior). Uni-1’s guide explicitly emphasizes intent-first reasoning rather than keyword pattern-matching. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
What should I do if my collaborator asks for multiple big changes at once?
Split the feedback into tracks: one Modify track for polish-level changes (single deltas) and one Create track for new scene/camera requests. Don’t try to force a new composition through “Modify-style” wording.
How do I write revisions if negative prompts don’t work?
Describe what you want to see. Uni-1 guidance says negative prompts aren’t supported and recommends positive description. (https://docs.agents.lumalabs.ai/guides/images/prompt-guide)
How do I keep audio consistent while iterating in Veo3Gen?
Keep audio instructions stable during Modify-style visual tweaks. If you’re changing the script/tone substantially, treat it like a Create request because Veo3Gen generations can include native synchronized audio (dialogue, SFX, music) in a single pass, so major audio changes can cascade.
Ship cleaner iterations with Veo3Gen (closing CTA)
If you use the decision tree + lock list + single delta format, you’ll spend less time “re-rolling” and more time landing precise improvements.
To run that workflow at scale, Veo3Gen provides an affordable way to access Google’s Veo 3.1 video models without Google’s enterprise pricing, with Veo 3.1 Fast/Quality/Lite modes, 720p/1080p/4K outputs (4K on Fast/Quality), 16:9 and 9:16, text-to-video and image-to-video, and first-and-last-frame control on Veo 3.1—plus a developer API for programmatic generation and versioning. New users also get free credits to start, and purchased credits don’t expire.
Apply the tree to your next three revisions, then use Veo3Gen to render the Modify track cheaply (Lite/fast previews) and reserve higher-fidelity runs for the final pass.
Start creating with Veo3Gen
Veo3Gen gives you affordable Veo 3.1 video generation with native audio, up to 4K, and credits that never expire — with free credits to start.
- Generate your first video now: Get started
- Compare plans and pay-as-you-go pricing: See pricing
Sources
Try Veo 3 & Veo 3 API for Free
Experience cinematic AI video generation at the industry's lowest price point. No credit card required to start.