Nodes/ComfyUI-WanVideoWrapper/WanVideo Sampler Settings
ComfyUI Node Runs on cloud

WanVideo Sampler Settings

Bundle your sampler config to reuse it

By kijai·Created about a year ago·Updated 3 months ago· 6,654
WanVideo Sampler Settings
  • 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
steps30
cfg6.00
shift5.00
seed0
force_offloadtrue
schedulerunipc
riflex_freq_index0
denoise_strength1.00
batched_cfgfalse
rope_functioncomfy
start_step0
end_step-1
add_noise_to_samplesfalse

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) or euler/beta cover 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.

CategoryWanVideoWrapper

Inputs (30)

NameTypeDefaultDescription
modelWANVIDEOMODEL
image_embedsWANVIDIMAGE_EMBEDS
stepsINT30
cfgFLOAT6.000–30
shiftFLOAT5.000–1000
seedINT00–18446744073709550000
force_offloadBOOLEANtrueMoves the model to the offload device after sampling
schedulerCOMBOunipc21 options: unipc, unipc/beta, dpm++, dpm++/beta, dpm++_sde, dpm++_sde/beta, +15
riflex_freq_indexINT00–1000Frequency index for RIFLEX, disabled when 0, default 6. Allows for new frames to be generated after without looping
text_embedsoptWANVIDEOTEXTEMBEDS
samplesoptLATENTinit Latents to use for video2video process
denoise_strengthoptFLOAT1.000–1
feta_argsoptFETAARGS
context_optionsoptWANVIDCONTEXT
cache_argsoptCACHEARGS
flowedit_argsoptFLOWEDITARGSFlowEdit support has been deprecated
batched_cfgoptBOOLEANfalseBatch cond and uncond for faster sampling, possibly faster on some hardware, uses more memory
slg_argsoptSLGARGS
rope_functionoptCOMBOcomfyComfy'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_argsoptLOOPARGS
experimental_argsoptEXPERIMENTALARGS
sigmasoptSIGMAS
unianimate_posesoptUNIANIMATE_POSE
fantasytalking_embedsoptFANTASYTALKING_EMBEDS
uni3c_embedsoptUNI3C_EMBEDS
multitalk_embedsoptMULTITALK_EMBEDS
freeinit_argsoptFREEINITARGS
start_stepoptINT00–10000Start step for the sampling, 0 means full sampling, otherwise samples only from this step
end_stepoptINT-1-1–10000End step for the sampling, -1 means full sampling, otherwise samples only until this step
add_noise_to_samplesoptBOOLEANfalseAdd noise to the samples before sampling, needed for video2video sampling when starting from clean video

Outputs (1)

NameTypeDescription
sampler_inputsSAMPLER_ARGS