Skip to content Skip to footer

VACE Prompting and Control Guide: Reference Images to Final Shot

A reliable VACE prompt describes the finished shot, while the source video, mask, and reference images carry the structural controls. Start with a short 480p, 81-frame baseline, keep the seed and inputs fixed, and change only one control per test. That turns VACE prompting from guesswork into a traceable path from reference assets to an approved final shot.

This guide, checked September 4, 2026, focuses on a masked tabletop product swap rather than installation. If your environment is not working yet, use the VACE local setup guide first. For broader coverage, browse the Aikolhub AI video hub.

Table of Contents
VACE control workflow combining a source clip, mask, reference object, and final video shot
A controllable VACE shot begins with four explicit inputs: source, mask, reference, and a description of the intended result.

Verify the current VACE baseline

VACE unifies reference-to-video, video-to-video, masked video-to-video, and composed controls through a common condition interface. The technical paper calls this the Video Condition Unit. In practice, you still have to decide which pixels and frames are evidence, which may be generated, and what the prompt should describe.

Release and license snapshot

The official VACE repository was active and not archived when checked. Its latest commit remained October 17, 2025, and its newest dated news item was the same day’s benchmark update; GitHub listed no packaged releases. The repository code uses Apache-2.0. The current Wan2.1-VACE-1.3B and Wan2.1-VACE-14B model cards also list Apache-2.0. Verify every downloaded checkpoint and dependency separately rather than transferring that license to community conversions.

Two supported execution routes

The original repository exposes preprocessing plus Wan inference scripts. Current Diffusers documentation also exposes WanVACEPipeline with video, mask, reference images, conditioning scale, seed generator, frames, steps, and guidance controls. Pick one route for a benchmark and record its version. For production comparisons, the Diffusers video pipeline workflow explains why changing wrappers mid-test destroys comparability.

Choose the control before writing

The prompt cannot repair the wrong task definition. The official VACE user guide says R2V needs references and a prompt, while masked editing needs source video, mask, and prompt. A composed swap uses all four.

Goal Required evidence What to inspect first
Generate a subject Reference images + prompt Identity and object silhouette
Guide motion or layout Control video + prompt Pose, depth, flow, or track stability
Edit one region Source video + mask + prompt Temporal mask edges
Swap a subject or object Source + mask + references + prompt Condition conflicts
Extend a clip First/last frame or clip + prompt Join-frame continuity

Build the cobalt-jar shot

The worked example replaces a plain cardboard canister in a locked five-second tabletop clip with a cobalt ceramic jar. A hand enters, rotates the jar about 20 degrees, and exits. The wood grain, window light, camera, and hand motion should remain stable. The job is small enough to diagnose yet demanding enough to reveal reference, mask, and temporal failures.

Prepare four input contracts

  • Source: one stable clip with no cut, exposure change, zoom, or focus pull.
  • Mask: white over the canister and necessary hand-contact boundary; black over pixels to retain.
  • Reference: one clean three-quarter jar view, plus a side view only if the rotation reveals it.
  • Prompt: the visible final scene, action, camera, light, and material behavior.

Diffusers documents the same mask convention: black conditions or preserves a region; white asks the model to generate it. Do not invert it accidentally. Keep reference crops clean and remove unrelated props that could leak into the shot.

Inspect preprocessed evidence

Before inference, view the prepared src_video, src_mask, and src_ref_images. Scrub the mask frame by frame. It should cover the rotating canister without flashing onto the table. A narrow halo may leave cardboard edges; an oversized mask may regenerate the hand or wood grain. This inspection is faster than trying to prompt away preprocessing errors.

VACE product-shot workflow from ceramic jar reference through mask to first middle and last frames
The worked shot keeps the jar, mask boundary, camera, and action observable from reference preparation through temporal review.

Write a descriptive VACE prompt

The official guide explicitly recommends descriptive text instead of instructions. Describe what the final shot contains. Avoid a command list such as “replace this, preserve that, do not change the table,” because those words do not supply a coherent visual scene.

Prompt formula

[Visual style and shot size]. [Subject/object with identity, shape, material, and color]. [One chronological action]. [Camera behavior]. [Environment and spatial anchors]. [Lighting direction and continuity]. [End state].

Put identity and material early, one action in the middle, and camera behavior once. Name observable properties: “glossy cobalt glaze with two thin white rings” is more testable than “premium beautiful jar.” If you use prompt extension, diff the expanded text before rendering. The VACE repository warns that expansion can invent details that conflict with an editing source.

Copyable prompt templates

Locked product swap:
Photorealistic medium tabletop shot. A cylindrical cobalt-blue ceramic jar with two thin white rings stands on the marked center of a walnut table. A right hand enters from frame right, turns the jar gently clockwise by about 20 degrees, releases it, and leaves. The camera stays locked. Soft window light comes from frame left; the wood grain and background remain visually continuous. The jar finishes upright at center.
Reference-to-video:
Natural commercial close-up. The same [subject anchors] appears in [fixed environment]. [One subject action] unfolds from start to finish. A [single camera move or locked camera] maintains [framing]. [Light direction, palette, and background anchors] remain consistent.

For a model-specific multi-reference experiment, compare this role clarity with the SkyReels-V3 reference role-binding guide. VACE adds masks and source-video evidence, so conflicts are not only between images and text.

Four-cell VACE control test comparing full inputs with reference, mask, and prompt changes
A fixed-seed ablation reveals whether reference evidence, mask geometry, or prompt expansion caused a visible change.

Run the fixed-seed ablation

Save a baseline with all four inputs, seed 42, one output, and unchanged model settings. Then create three diagnostic cells. In B, remove only the jar reference; if shape or glaze collapses, the reference was doing useful work. In C, use a deliberately looser but still safe mask; changes in wood grain or fingers reveal mask sensitivity. In D, restore the good mask and reference but enable or paste the expanded prompt; any new props, camera motion, or lighting shift belongs to the text change.

Cell Only change Expected observation Stop condition
A: Full None Jar identity and retained scene are measurable Inputs fail to load
B: No reference Remove jar image Shows how much identity came from text Output is unchanged because reference was not connected
C: Loose mask Expand white region Tests hand and table regeneration Retained geometry drifts
D: Expanded Prompt text only Reveals invented scene details Expansion contradicts source

This is a diagnostic worksheet, not a claim that seed 42 guarantees identical pixels across hardware or software versions. It makes runs more comparable within one recorded environment.

VACE quality and speed worksheet comparing 30 and 50 steps at 480p and 720p
Treat resolution and sampling steps as benchmark variables, then validate the winning output as a delivery file.

Use a quality-speed worksheet

The original Wan VACE path defaults to 81 frames, 50 sampling steps, guidance 5.0, and UniPC. Current Diffusers uses the same 81-frame, 50-step, guidance-5 baseline at 480 by 832; its official VACE example demonstrates 30 steps. Use 30 only to rank controls, then confirm the selected condition at the documented default.

Pass Model route Size / frames Steps Decision
Control triage 1.3B 480p range / 81 30 Reject bad reference or mask combinations
Prompt approval 1.3B 480p range / 81 50 Approve wording and seed
Delivery candidate 14B when available 720p range / 81 50 Compare visible gain against runtime
Fallback 1.3B 480p range / 81 50 Deliver after clean upscale if 14B fails

The official repository shows the 1.3B 480p path on one GPU and its 14B 720p example with eight processes, FSDP, and sequence parallelism. That is a documented route, not a universal hardware minimum. Record wall time and peak VRAM on your machine. Keep conditioning scale at its 1.0 default until the baseline is valid; changing it together with steps makes the result ambiguous. For Wan prompting context, see the Wan2.2 A14B control guide, but do not transfer its settings to Wan2.1 VACE.

Complete the production workflow

Preflight and render

  1. Record the repository commit, checkpoint ID, license, wrapper version, GPU, and free memory.
  2. Confirm source, mask, and reference dimensions and inspect every asset.
  3. Run cell A at the triage setting and save inputs beside the output.
  4. Run B through D with one change each; record wall time and peak VRAM.
  5. Choose the cleanest control contract, not merely the sharpest single frame.
  6. Render the 50-step approval pass with the chosen seed and untouched inputs.
  7. Attempt the heavier delivery route only when it solves a visible defect.

Review temporal evidence

Compare the first, middle, and last frames plus the frame where the hand touches the jar. Score jar silhouette, white-ring count, glaze color, hand anatomy, contact, table grain, background position, exposure, and camera lock as pass or fail. Watch at normal speed for flicker, then step frame by frame around the contact moment. A perfect first frame is not proof of temporal consistency.

Validate the final export

Keep the generated master before editing. Then confirm that the delivery file opens independently and reports the intended technical fields:

ffprobe -v error -select_streams v:0 \
-show_entries stream=codec_name,width,height,avg_frame_rate,nb_frames \
-show_entries format=duration -of json final-shot.mp4
  • Final URL or file points to the approved take, not a triage render.
  • Width and height match the chosen pass and are even-numbered.
  • Frame rate is explicit and playback duration matches the edit.
  • Frame count is populated or independently counted.
  • No first/last-frame corruption, black flash, or frozen tail appears.
  • Mask edges remain stable at the hand-contact moment.
  • Colors and levels survive the delivery encode.
  • The master, prompt, seed, model ID, inputs, and scorecard remain archived.

Separate visual and audio continuity

VACE’s documented interface is visual; it does not expose a native synchronized speech or voice-identity stage. Approve the picture first. Add music, effects, authorized speech, and lip sync separately, with consent and provenance for any cloned voice. A stable face does not prove timing, pronunciation, or speaker identity.

Troubleshoot by visible symptom

Symptom Likely control Next single change
Cardboard rim remains Mask too tight Expand only the rim boundary
Table grain swims Mask too loose Return table pixels to black
Jar color drifts Weak or conflicting reference Use one clean reference and exact visible anchors
New props appear Expanded prompt Disable expansion or delete invented nouns
Hand melts at contact Hard occlusion problem Shorten contact and refine the temporal mask
Camera creeps Prompt/action overload Use a locked-camera description and one action
Out of memory Route too heavy Return to 1.3B 480p before changing quality controls

Official sources and limitations

Official evidence checked September 4, 2026: the repository and model table, commit history, user guide, code license, Wan2.1 VACE 1.3B and 14B model cards, Diffusers Wan documentation, and the VACE technical paper.

VACE may resize very large inputs, and the user guide says long inputs are trimmed or sampled to around five seconds. Reference conditioning does not guarantee exact identity, masks can flicker, composed controls can conflict, and high-resolution 14B work is compute-heavy. Benchmark results are local observations, not universal quality or VRAM promises.

Edit AI videos here

Assemble the approved VACE take, trim unstable edge frames, add authorized audio and captions, and export delivery versions at https://ai.alphatechnologies.vn. Keep the untouched master and benchmark worksheet beside the project.

Final recommendation

Treat every VACE shot as a four-part control contract: source, mask, references, and descriptive prompt. Prove the contract at 1.3B and 480p, isolate failures with a fixed-seed ablation, then spend more compute only on a selected take. Explore Aikolhub for more practical, official-source AI video workflows.

Frequently asked questions

Should a VACE prompt use instructions?

Prefer a description of the visible finished shot. The official guide recommends descriptive prompts rather than instruction lists.

What do black and white mask areas mean?

Black marks conditioning or retained regions; white marks regions VACE should generate. Inspect the temporal mask before inference.

How many reference images can VACE use?

The official composition table limits its reference_anything example to no more than three images. Use the fewest non-conflicting views needed for the shot.

Are 30 steps enough?

Thirty steps are useful for a documented screening pass. Confirm the selected control contract at the current 50-step default before delivery.

Does VACE generate synchronized audio?

No native synchronized-audio workflow is documented for VACE. Add authorized voice, sound, and lip sync in separate reviewed stages.

Leave a comment

0.0/5