Nodes/XB_ToolBox/XB_WanDancerVideo
ComfyUI Node

XB_WanDancerVideo

Dance conditioning for Wan-Dancer — the official logic, tiled so it fits in VRAM

By wjluoxiao·Created 5 months ago·Updated 6 days ago· 302
XB_WanDancerVideo
  • positive
  • negative
  • vae
  • clip_vision_output
  • clip_vision_output_ref
  • start_image
  • mask
  • audio_encoder_output
  • positive
  • negative
  • latent
width480
height832
length149
vae_tile_size256

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.

CategoryXB_ToolBox/Pipeline

Inputs (12)

NameTypeDefaultDescription
positiveCONDITIONING
negativeCONDITIONING
vaeVAE
widthINT48016–8192
heightINT83216–8192
lengthINT1491–8192生成视频的总帧数
vae_tile_sizeINT25664–3840
clip_vision_outputoptCLIP_VISION_OUTPUT
clip_vision_output_refoptCLIP_VISION_OUTPUT
start_imageoptIMAGE
maskoptMASK
audio_encoder_outputoptAUDIO_ENCODER_OUTPUT

Outputs (3)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING
latentLATENT