WanVideo Sampler Settings
Bundle your sampler config to reuse it
- model
- image_embeds
- text_embeds
- samples
- feta_args
- context_options
- cache_args
- flowedit_args
- slg_args
- loop_args
- experimental_args
- sigmas
- unianimate_poses
- fantasytalking_embeds
- uni3c_embeds
- multitalk_embeds
- freeinit_args
- sampler_inputs
If you've used WanVideoSampler, this node will look eerily familiar - it has the same inputs. The difference is what it does with them: instead of running the generation itself, it packages every sampler setting into a single SAMPLER_ARGS bundle that you feed to the companion WanVideoSamplerFromSettings node. Its own description says exactly that: it outputs all the settings and inputs for the from-settings sampler.
So why would you want that? Because it separates configuring the sampler from running it. Once your steps, CFG, scheduler, shift, and all the optional embeds are one tidy SAMPLER_ARGS wire, you can route that config around your graph, reuse it across multiple sample calls, or keep a complicated setup in one node instead of re-entering it. For a single straightforward render it's overkill - WanVideoSampler does the same job in one node. This one earns its place in bigger, multi-pass, or programmatic workflows.
How it works
It's a pure configuration node. It doesn't touch the model or produce latents; it collects the parameters and hands them off as a typed bundle. The actual denoising happens downstream in WanVideoSamplerFromSettings, which unpacks the SAMPLER_ARGS and runs it. Think of it as declaring the sampler's shape once and executing it elsewhere.
The inputs and outputs that matter
The knobs are the same ones that matter on the regular sampler:
steps- 20-30 for full quality, 6-8 total with a speed LoRA.cfg- 3.5+ without speed LoRAs; 1.0 (mandatory) with them.scheduler-unipc(default) oreuler/betacover most cases.shift- leave at 5 unless you have a reason.
Plus all the same optional embeds sockets (text_embeds, context_options, cache_args, multitalk_embeds, and so on). The one difference that matters is the output: a single SAMPLER_ARGS, not latents. That's the wire that goes to WanVideoSamplerFromSettings.
How to install it
Comes with the pack. Via ComfyUI Manager: search WanVideo Wrapper, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper
pip install -r ComfyUI-WanVideoWrapper/requirements.txt
then restart.
Common issues & troubleshooting
"Nothing generates." Right - this node doesn't generate. Its SAMPLER_ARGS output must go into WanVideoSamplerFromSettings, which is the node that actually runs the sampling. If you wired this into a decode node expecting latents, that's the mistake.
You're not sure whether you need it. If you're building one linear graph and rendering once, you don't - use WanVideoSampler and skip the indirection. Reach for the settings/from-settings split only when you're reusing a sampler config in more than one place or scripting more elaborate pipelines.
Settings seem to not apply. Because config and execution are separated here, a mistake is easy: make sure the SAMPLER_ARGS from this node is the one feeding the from-settings sampler, and that you didn't leave a second, stale settings node wired in. All the same tuning advice from WanVideoSampler applies - this is just a different way of delivering it.
Inputs (30)
| Name | Type | Default | Description |
|---|---|---|---|
| model | WANVIDEOMODEL | — | |
| image_embeds | WANVIDIMAGE_EMBEDS | — | |
| steps | INT | 30 | — |
| cfg | FLOAT | 6.000–30 | — |
| shift | FLOAT | 5.000–1000 | — |
| seed | INT | 00–18446744073709550000 | — |
| force_offload | BOOLEAN | true | Moves the model to the offload device after sampling |
| scheduler | COMBO | unipc | 21 options: unipc, unipc/beta, dpm++, dpm++/beta, dpm++_sde, dpm++_sde/beta, +15 |
| riflex_freq_index | INT | 00–1000 | Frequency index for RIFLEX, disabled when 0, default 6. Allows for new frames to be generated after without looping |
| text_embedsopt | WANVIDEOTEXTEMBEDS | — | |
| samplesopt | LATENT | init Latents to use for video2video process | |
| denoise_strengthopt | FLOAT | 1.000–1 | — |
| feta_argsopt | FETAARGS | — | |
| context_optionsopt | WANVIDCONTEXT | — | |
| cache_argsopt | CACHEARGS | — | |
| flowedit_argsopt | FLOWEDITARGS | FlowEdit support has been deprecated | |
| batched_cfgopt | BOOLEAN | false | Batch cond and uncond for faster sampling, possibly faster on some hardware, uses more memory |
| slg_argsopt | SLGARGS | — | |
| rope_functionopt | COMBO | comfy | Comfy's RoPE implementation doesn't use complex numbers and can thus be compiled, that should be a lot faster when using torch.compile. Chunked version has reduced peak VRAM usage when not using torch.compile |
| loop_argsopt | LOOPARGS | — | |
| experimental_argsopt | EXPERIMENTALARGS | — | |
| sigmasopt | SIGMAS | — | |
| unianimate_posesopt | UNIANIMATE_POSE | — | |
| fantasytalking_embedsopt | FANTASYTALKING_EMBEDS | — | |
| uni3c_embedsopt | UNI3C_EMBEDS | — | |
| multitalk_embedsopt | MULTITALK_EMBEDS | — | |
| freeinit_argsopt | FREEINITARGS | — | |
| start_stepopt | INT | 00–10000 | Start step for the sampling, 0 means full sampling, otherwise samples only from this step |
| end_stepopt | INT | -1-1–10000 | End step for the sampling, -1 means full sampling, otherwise samples only until this step |
| add_noise_to_samplesopt | BOOLEAN | false | Add noise to the samples before sampling, needed for video2video sampling when starting from clean video |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sampler_inputs | SAMPLER_ARGS | — |