XB_WanDancerVideo
Dance conditioning for Wan-Dancer — the official logic, tiled so it fits in VRAM
- positive
- negative
- vae
- clip_vision_output
- clip_vision_output_ref
- start_image
- mask
- audio_encoder_output
- positive
- negative
- latent
Wan-Dancer-14B is Alibaba's music-to-dance model, released July 2026 on the Wan 2.1 VAE: feed it a character reference, an audio feature vector, and a dance prompt, and the character dances to the music. XB_WanDancerVideo is the pack's conditioning node for it. The docstring is unusually candid - "完全复刻官方 WanDancerVideo 逻辑,仅将 vae.encode() 替换为 _encode_vae()" - a faithful replica of the official WanDancerVideo logic, with exactly one change: the VAE encode is swapped for a tiled version so encoding a long video doesn't OOM.
That one change is the whole pitch, and it's a reasonable one. The official node encodes the full start image + mask through vae.encode(), which on a 149-frame portrait clip is a serious VRAM spike. This version routes every encode through encode_tiled with spatial and temporal tiling, trading a little compute for a much lower memory ceiling - the same trick the pack applies across all its Wan conditioning nodes.
Inputs and outputs
Required: positive / negative (CONDITIONING), vae, width (default 480), height (default 832 - portrait, because dancers), length (default 149 frames, the tooltip says "生成视频的总帧数"), and vae_tile_size (default 256).
Optional, and this is the interesting half:
- audio_encoder_output - the AUDIO_ENCODER_OUTPUT from
XB_WanDancerCombo(or the official Wan Dancer audio encoder). Without this, you have a character, but no beat to move to. - start_image - the character still.
- mask - which pixels are the character vs. background.
- clip_vision_output and clip_vision_output_ref - CLIP vision encodes for identity, one for the main reference and one for the reference image.
Outputs: positive, negative, and latent - the bundle that goes into a Wan-compatible sampler, then a VAE decode.
The honest framing
Two things to know before you build around this. First, Wan-Dancer is brand new - at the time of writing it has essentially zero community track record, so treat its behavior as unproven and expect to fiddle with audio_inject_scale, prompts, and masks. Second, this node only does conditioning. It cannot sample by itself; you still need a Wan sampler, and the pack assumes you have the Dancer weights (Apache 2.0, ungated on HuggingFace). If your character "dances" by glitching in place, the usual suspects are a missing audio_encoder_output (the most common), a too-strong inject scale, or a start image with no clear character/background separation for the mask.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/WJLUOXIAO/XB_ToolBox.git
then restart, or install via ComfyUI Manager ("XB_ToolBox"). Pair it with XB_WanDancerCombo for the audio features and prompts, and a Wan sampler to finish the pipeline.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| vae | VAE | — | |
| width | INT | 48016–8192 | — |
| height | INT | 83216–8192 | — |
| length | INT | 1491–8192 | 生成视频的总帧数 |
| vae_tile_size | INT | 25664–3840 | — |
| clip_vision_outputopt | CLIP_VISION_OUTPUT | — | |
| clip_vision_output_refopt | CLIP_VISION_OUTPUT | — | |
| start_imageopt | IMAGE | — | |
| maskopt | MASK | — | |
| audio_encoder_outputopt | AUDIO_ENCODER_OUTPUT | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| latent | LATENT | — |