Nodes/XB_ToolBox/XB-BOX - 🎬 Animate 动作迁移总线
ComfyUI Node

XB-BOX - 🎬 Animate 动作迁移总线

One node to configure a whole motion-transfer run — the Animate parameter bus

By wjluoxiao·Created 5 months ago·Updated 6 days ago· 302
XB-BOX - 🎬 Animate 动作迁移总线
  • model
  • clip
  • vae
  • clip_vision
  • global_ref_image
  • pose_video
  • face_video
  • background_video
  • character_mask
  • 📦 WAN_ANIMATE_BUS
negative_promptvivid colors, overexposed, static, blurry details...
width480
height832
total_frames0
fps16.00
vae_encode_tile_size320
vae_decode_tile_size320
spatial_overlap32
temporal_chunk_size64
temporal_overlap8
steps20
cfg5.0
sampler_name
scheduler
seed123456789
continue_motion_max_frames5
cleanup双次缓存清理
concat_mode自动
scale_methodlanczos
crop_modecenter

In the XB_ToolBox Animate pipeline, there are exactly two kinds of nodes: a bus that holds all the shared settings, and relay nodes that consume it to generate segments. XB_WanAnimate_ParamBus is the bus. It's the single place you configure a whole Wan Animate motion-transfer run - model, prompts, resolution, VAE chunking, sampler settings, seed, and the reference/pose/face inputs - and it packs all of that into one WAN_ANIMATE_BUS object that every downstream relay node reads. Change the seed or the resolution in one place and every segment picks it up.

The mechanism is exactly what the README's "unified parameters" philosophy promises: the node's pack_bus function bundles every input into a dict, adds a current_offset counter that tracks how far through the driving video the pipeline has advanced, and - the one genuinely clever bit - if you provide both a clip_vision model and a global_ref_image, it runs the CLIP vision encode right there in the bus and stores the result, so downstream relays don't each re-encode the reference.

What you'll actually set

The big ones, in order of how often you'll touch them:

  • model / clip / vae - the Wan Animate model stack.
  • negative_prompt, width (default 480), height (default 832) - portrait is the Animate default.
  • total_frames - 0 means "auto: take the full source video length"; a positive number forces a cutoff. That's the author's own tooltip.
  • fps (default 16), steps (default 20), cfg (default 5), sampler_name, scheduler, seed.
  • vae_encode_tile_size / vae_decode_tile_size (320), spatial_overlap (32), temporal_chunk_size (64), temporal_overlap (8) - the VRAM tiling knobs. Drop the tile sizes if you're close to OOM.
  • continue_motion_max_frames (default 5) - how many tail frames of the previous segment bleed into the next, which is what hides seams.
  • cleanup - the pack's cache-cleanup level; defaults to "双次缓存清理" (double cache cleanup), which tells you the author considers this pipeline VRAM-hungry enough to warrant it.

Optional inputs: global_ref_image, pose_video, face_video, background_video, character_mask, plus concat_mode (自动/GPU/CPU - where segments get accumulated), and the usual scale_method / crop_mode.

The single output is 📦 WAN_ANIMATE_BUS.

The honest framing

This is a pipeline-context node, the kind comfyui-node-plumbing.md warns you about: a bus hides its contents behind one wire, so when a segment comes out wrong, the debugging tax is real - you can't see which of the forty bundled values is off. Its biggest trap is exactly that: the relay reads values at generation time from the bus snapshot, so if you change the seed on the bus after the run started... actually no, ComfyUI re-runs the bus first. The real trap is that negative_prompt, positive_prompt lives on the relays, not the bus - the bus only holds the negative. Miss that and every segment shares the negative you set once, while each relay has its own positive. It's a deliberate split (each segment has a different scene description), but it surprises people the first time.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/WJLUOXIAO/XB_ToolBox.git

then restart, or install via ComfyUI Manager ("XB_ToolBox"). No extra dependencies beyond the pack's; you still need the Wan 2.2 Animate weights, a clip_vision model for the reference, and the relay nodes to actually generate.

CategoryXB_ToolBox/Pipeline

Inputs (29)

NameTypeDefaultDescription
modelMODEL
clipCLIP
vaeVAE
negative_promptSTRINGvivid colors, overexposed, static, blurry details...
widthINT480
heightINT832
total_framesINT00–9999990=自动从源视频取长度;>0=强制截断到此帧数
fpsFLOAT16.00
vae_encode_tile_sizeINT320
vae_decode_tile_sizeINT320
spatial_overlapINT32
temporal_chunk_sizeINT64
temporal_overlapINT8
stepsINT201–100
cfgFLOAT5.0
sampler_nameCOMBO41 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +35
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
seedINT123456789
continue_motion_max_framesINT50–16
cleanupCOMBO双次缓存清理4 options: 不做任何清理, 单次缓存清理, 双次缓存清理, 卸载显存模型
clip_visionCLIP_VISION
global_ref_imageoptIMAGE
pose_videooptIMAGE
face_videooptIMAGE
background_videooptIMAGE
character_maskoptMASK
concat_modeoptCOMBO自动视频累积拼接位置
scale_methodoptCOMBOlanczos5 options: lanczos, bilinear, bicubic, nearest-exact, area
crop_modeoptCOMBOcenter2 options: center, disabled

Outputs (1)

NameTypeDescription
📦 WAN_ANIMATE_BUSWAN_ANIMATE_BUS