Wan Sampler for Image to Video
Image-to-video for the Wan 2.1-Fun models
- funmodels
- prompt
- negative_prompt
- start_img
- riflex_k
- images
This is Wan2_2I2VSampler's counterpart for the earlier generation - the sampler that pairs with LoadWanFunModel's Wan 2.1-Fun checkpoints instead of Wan 2.2. If you're not sure which of the two you actually need: unless you have a specific reason to be on 2.1 (an existing pipeline, or wanting the lighter 1.3B tier), Wan2_2I2VSampler paired with a 2.2-generation loader is where the community's current best practice and the strongest checkpoints both live. This one is here for people who are.
How it works
Same core mechanism as its 2.2 sibling: take a loaded funmodels bundle, a prompt pair, and an optional starting image, and run flow-matching diffusion sampling to produce a frame batch that continues from that image. The parameter set is nearly identical schema-wise - that's not an accident, VideoX-Fun kept the interface consistent across generations even as the underlying architecture changed.
The inputs that matter
funmodels- fromLoadWanFunModel.prompt/negative_prompt-STRING_PROMPTtype. Feed them fromFunTextBox, not a plain text node.start_img(optional, IMAGE) - the anchor frame for I2V. Skip it and you're running T2V-shaped generation through an I2V node.video_length- default 81, range 5-161, step 4. 81 frames is the standard native window at 16fps.base_resolution- 512/640/768/896/960/1024, default 640.steps- default 50, up to 200.cfg- default 6, range 1-20.enable_teacache(default true),teacache_threshold(default 0.1),num_skip_start_steps(default 5),teacache_offload(default true) - VideoX-Fun's built-in caching to speed up sampling by skipping near-redundant steps, at a known cost to fine detail consistency if pushed too aggressively.riflex_k(optional, RIFLEXT_ARGS) - wire aFunRiflexnode in if you're trying to extend past the native frame ceiling.
Output: images - a frame batch, decode/encode into an actual video with a downstream video-combine node.
Installing it
Ships with the base VideoX-Fun pack. Search ComfyUI Manager for VideoX-Fun; if it's not there, install manually:
cd ComfyUI/custom_nodes
git clone https://github.com/aigc-apps/VideoX-Fun
pip install -r VideoX-Fun/requirements.txt
Restart ComfyUI.
Common issues
Wondering why you'd pick this over Wan 2.2's sampler. Fair question, and the honest answer is: mostly you wouldn't, for new work. Wan 2.2 is a genuine step up in motion, emotion, and prompt adherence over 2.1 across the board, per the wider community's own testing. This sampler earns its place if you're maintaining an existing Wan 2.1-Fun pipeline, need the smaller 1.3B checkpoint for VRAM reasons, or you specifically validated behavior on this generation that you don't want to re-test on 2.2.
Prompt inputs won't connect. They're the STRING_PROMPT custom type - use FunTextBox.
Slow generation. The 14B tier of this family is the same weight class as any full Wan model; if you're on limited VRAM, drop to the 1.3B checkpoint in LoadWanFunModel rather than fighting GPU_memory_mode alone, or lower steps/base_resolution for faster iteration.
Clip looks static. Check start_img is actually connected if you meant to run I2V - it's an optional input, so a missed connection fails silently rather than erroring.
Motion looks wrong past 81 frames. That ceiling is a property of the base Wan architecture, not a bug in this node. riflex_k can sometimes push past it cleanly, but community reports on RIFLEx are genuinely mixed - some people get usable 121-frame results, others see no improvement or a flash/glitch in the first several frames. Treat it as worth trying, not guaranteed.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| funmodels | FunModels | — | |
| prompt | STRING_PROMPT | — | |
| negative_prompt | STRING_PROMPT | — | |
| video_length | INT | 815–161 | — |
| base_resolution | COMBO | 640 | 6 options: 512, 640, 768, 896, 960, 1024 |
| seed | INT | 430–18446744073709550000 | — |
| steps | INT | 501–200 | — |
| cfg | FLOAT | 6.001–20 | — |
| scheduler | COMBO | Flow | 1 options: Flow |
| teacache_threshold | FLOAT | 0.1000–1 | — |
| enable_teacache | COMBO | true | 2 options: false, true |
| num_skip_start_steps | INT | 50–50 | — |
| teacache_offload | COMBO | true | 2 options: false, true |
| cfg_skip_ratio | FLOAT | 0.000–1 | — |
| start_imgopt | IMAGE | — | |
| riflex_kopt | RIFLEXT_ARGS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |