Nodes/ComfyUI-WanVideoWrapper/WanVideo Add Control Embeds
ComfyUI Node Runs on cloud

WanVideo Add Control Embeds

Add control-video conditioning to Wan-Fun

By kijai·Created about a year ago·Updated 3 months ago· 6,654
WanVideo Add Control Embeds
  • embeds
  • latents
  • fun_ref_image
  • image_embeds
start_percent0.00
end_percent1.00

This is the node that adds a control signal - a depth video, a pose video, an edge map, whatever you've encoded - into a Wan-Fun Control generation. If you've ever used ControlNet on images, the intent is familiar: steer the output with a structural reference. The difference is that Wan's diffusion-transformer architecture doesn't take classic UNet ControlNets, so control gets injected as latents folded into the Wan embeds instead. This node does that folding.

The KB spells out why it works this way: "Traditional UNet-based ControlNet does not directly transfer to Wan's diffusion transformer architecture," so the community routes control through VACE, control-LoRAs, or - as here - Fun Control models that take an encoded control video. This node is the Fun-Control entry point in Kijai's wrapper.

How it works

You pass in your existing Wan image embeds plus a control latent (your depth/pose/edge video, already VAE-encoded to a LATENT). The node mixes that control conditioning into the embeds, gated by a start/end percent window, and hands back modified embeds. There's also an optional Fun reference-image latent for reference-conditioned Fun models. Downstream, the WanVideoSampler follows the control.

The inputs that matter

  • embeds (WANVIDIMAGE_EMBEDS, required) - the embeds being modified.
  • latents (LATENT, optional) - the control video, encoded to a latent. This is your actual control signal; despite being marked optional, it's the whole point of the node.
  • fun_ref_image (LATENT, optional) - a reference-image latent for Fun reference models, if your variant uses one.
  • start_percent (0) / end_percent (1) - when the control is active across sampling. Full range by default. Pulling end_percent down lets structure lock early and frees the model to add detail late - a common move when control feels too rigid.

Output is image_embeds (WANVIDIMAGE_EMBEDS) for the sampler.

Notice what's not here: there's no strength on this node. Control intensity is governed by the percent window and by which Fun-Control model you loaded, not a strength slider - a real difference from its dual-control sibling.

How to install it

Ships with Kijai's WanVideoWrapper. ComfyUI Manager: search ComfyUI-WanVideoWrapper, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper
pip install -r ComfyUI-WanVideoWrapper/requirements.txt

then restart. The node itself is free of downloads, but Fun Control needs a Wan-Fun Control checkpoint (Alibaba PAI's Fun line, mirrored in Kijai's WanVideo model repos) - base Wan won't consume control latents. You'll also want a preprocessor (depth, DWPose, etc.) and the Wan VAE to encode the control video into latents.

Common issues & troubleshooting

Control is ignored. Two prime suspects: you loaded base Wan instead of a Fun-Control model, or you didn't actually connect latents. Both leave the node passing embeds through basically untouched.

Structure is too rigid / bleeds artifacts. Because there's no strength knob, use the timing window - lower end_percent so control stops driving before the final denoising steps and the model can smooth things out. The KB's ControlNet note about depth "confining alterations to exactly the boundary of the depth map" applies here too: tight structural control limits how far the generation can deviate.

Wrong latent shape. The latents must be a control video encoded with the matching Wan VAE at the same resolution/length as your generation. A mismatched encode is a common quiet failure.

CategoryWanVideoWrapper

Inputs (5)

NameTypeDefaultDescription
embedsWANVIDIMAGE_EMBEDS
start_percentFLOAT0.000–1Start percent of the control signal
end_percentFLOAT1.000–1End percent of the control signal
latentsoptLATENTEncoded latents to use as control signals
fun_ref_imageoptLATENTReference latent for the Fun 1.1 -model

Outputs (1)

NameTypeDescription
image_embedsWANVIDIMAGE_EMBEDS