WanVideo Add OneToAll Reference Embeds
Hold one reference image across the whole clip
- embeds
- vae
- ref_image
- ref_mask
- image_embeds
Reference-to-video is the capability everyone actually wants from Wan: give it a picture of a character, an outfit, an object, and have that reference hold across the whole generated clip instead of drifting frame to frame. This node adds a reference image into your Wan image embeds so its influence applies across the sequence - "one to all," one reference, all frames.
Character consistency is the hard, unsolved-ish problem in local video. The KB's blunt summary of the field is that keeping faces stable across cuts has been a months-long struggle for a lot of people. A reference-embed node is one of the levers you pull to fight that: anchor the generation to a known image so the model has something concrete to stay faithful to.
How it works
Your reference image gets encoded through the Wan VAE into latent space, then folded into the WANVIDIMAGE_EMBEDS as conditioning that spans the frame sequence rather than sitting at a single position. During sampling the model is nudged, at the strength and over the time window you set, toward the reference's identity/appearance. An optional mask lets you restrict which part of the reference matters (say, just the subject, not the background).
The inputs that matter
embeds(WANVIDIMAGE_EMBEDS, required) - the image embeds you're augmenting.ref_image(IMAGE, required) - your reference. The face/outfit/object you want carried through.vae(WANVAE, required) - the Wan VAE, used to encode the reference into latents.strength(FLOAT, default 1, up to 10) - how hard the reference pulls.1is the natural starting point; push higher if identity isn't holding, ease down if the reference is dominating and killing motion or prompt adherence.start_percent/end_percent(0 to 1, default full range) - the slice of the sampling schedule over which the reference applies. Apply it later (raisestart_percent) if you want the early composition to come from your prompt and the reference to lock in identity toward the end.ref_mask(MASK, optional) - restrict the reference's influence to a masked region.
The output is image_embeds (WANVIDIMAGE_EMBEDS) → onward to the sampler.
How to install it
ComfyUI Manager: search ComfyUI-WanVideoWrapper, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper
pip install -r ComfyUI-WanVideoWrapper/requirements.txt
then restart. No dedicated model download - it uses the Wan VAE you've already loaded.
Common issues & troubleshooting
Identity still drifts. Raise strength, and make sure the reference image is clean and well-cropped - a busy or low-quality reference gives the model a muddy target. Reference conditioning fights the natural entropy of video generation; it reduces drift, it doesn't eliminate it, especially across longer clips.
Reference overpowers the motion. Too much strength (or applying it across the whole schedule at full force) can flatten motion and make the clip cling to the reference pose. Back the strength off, or push start_percent later so the model establishes movement first.
A single reference isn't the state of the art for hard consistency. If cross-cut identity is the whole ballgame, the dedicated multi-reference models (Bernini's R2V, Lynx-style face IP) are built for exactly this and go further than a single one-to-all reference. Use this node as the lightweight, in-wrapper option; reach for the specialist models when it isn't enough.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| embeds | WANVIDIMAGE_EMBEDS | — | |
| vae | WANVAE | VAE model | |
| ref_image | IMAGE | — | |
| strength | FLOAT | 1.000–10 | Strength of the reference embedding |
| start_percent | FLOAT | 0.000–1 | Start percentage of the embedding application |
| end_percent | FLOAT | 1.000–1 | End percentage of the embedding application |
| ref_maskopt | MASK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image_embeds | WANVIDIMAGE_EMBEDS | — |