Stack_WanFunControlToVideo
Control-Video-Driven I2V on Wan 2.1
- clip_img
- start_image
- control_video
- funControl
This is the Wan 2.1 sibling of Stack_Wan22FunControlToVideo - same idea, older architecture. Wan's "Fun Control" line is Alibaba's own official control-video-driven generation model, a real and separately maintained alternative to VACE that people have used for things like driving 3D-animated footage with AI detail layered on top - one 720p showcase used it on Game of Thrones-style CGI shots, with commenters noting the control was genuinely tight, even if the underlying content quality still had limits. The key structural difference from the 2.2 version in this pack: Wan 2.1 is a single dense model rather than a two-expert MoE, so this node conditions on a start_image plus CLIP vision embedding instead of the ref-image approach the 2.2 node uses.
How it works. You set width, height, and length (default 81 frames, matching the community-standard ~5 seconds at 16fps), then feed it start_image - your source frame - along with control_video, the preprocessed driving footage (depth, pose, edges, whatever the specific Fun Control checkpoint you're using was trained on). clip_img and clip_vision_name handle the CLIP vision encoding of the start image, the same conditioning pattern every Wan I2V variant in this pack uses. clip_vision_name defaults to clip_vision_h.safetensors, which needs to actually be present in models/clip_vision - the enum will look empty until it's there. Output is funControl, a config bundle for a downstream Wan sampler that actually runs generation.
Installing it. No extra dependency for this node itself beyond the base pack: cd ComfyUI/custom_nodes && git clone https://github.com/cardenluo/ComfyUI-Apt_Preset, restart, or search "ComfyUI-Apt_Preset" through ComfyUI Manager. You do need three things this node doesn't bundle: the Wan 2.1 Fun Control checkpoint itself (Alibaba's official release, downloaded separately), the CLIP vision model matching whatever clip_vision_name you select, and a preprocessor to actually turn raw footage into the control video this node expects - it has no built-in depth or pose extraction.
Where people get stuck. Blank or unconstrained-looking motion almost always traces back to feeding raw footage as control_video instead of a properly preprocessed depth or pose sequence - the model needs the specific representation it was trained on, not arbitrary video. If generation looks distorted or the character warps oddly, check that your control video's length and resolution actually line up with width/height/length here; Wan's internal frame math wants counts near a 4n+1 pattern, and mismatches tend to produce visibly broken output rather than a clean error message. And a genuinely easy mistake: if clip_vision_name's dropdown is empty or defaulting oddly, that's a missing file in models/clip_vision, not a bug in the node - download the CLIP vision encoder your Fun Control checkpoint's own documentation specifies before assuming something's misconfigured on the graph side.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_vision_name | COMBO | clip_vision_h.safetensors | 1 options: None |
| width | INT | 83216â4096 | â |
| height | INT | 48016â4096 | â |
| length | INT | 811â4096 | â |
| clip_imgopt | IMAGE | â | |
| start_imageopt | IMAGE | â | |
| control_videoopt | IMAGE | â |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| funControl | FUNCONTROL | â |