Nodes/XB_ToolBox/XB-BOX - 🆕 Animate 无限接力点 (New)
ComfyUI Node

XB-BOX - 🆕 Animate 无限接力点 (New)

The better relay — one node that loops as many Animate segments as you need

By wjluoxiao·Created 5 months ago·Updated 6 days ago· 302
XB-BOX - 🆕 Animate 无限接力点 (New)
  • wan_animate_bus
  • prev_video
  • 📦 WAN_ANIMATE_BUS (传给下段)
  • 🎞️ 累加视频流
segment_length81
positive_promptDescribe the scene...
use_local_ref_image继承总线全局图
ref_image_file
continue_motion_max_frames5
relay_count1
total_frames_display

The original XB_WanAnimate_RelayNode chains one segment per node - which means a 20-second take is five nodes in a row, each holding its own prompt, and editing the chain length means adding or deleting nodes. XB_WanAnimate_RelayNode_New fixes the ergonomics: it adds a relay_count input, and one node loops through that many segments internally, feeding each segment's tail into the next. Want 5 segments of 81 frames? One node, relay_count = 5. The display name calls it the "🆕" version, and that's honestly what it is - the same relay machinery, looped.

The loop logic is the interesting part to understand, because it's where the "infinite" promise gets its safety rails. Each iteration checks the bus's current_offset against the source video's total frame count: if the driving video is exhausted, it breaks out and skips the rest of the relays. So relay_count = 999 on a 400-frame video just generates until the source runs out - it doesn't invent motion or crash. There's also a continue_motion_max_frames (default 5) that sets the overlap frames used for the transition between loops, and it's now per-relay rather than inherited from the bus, so you can tune it per relay point.

What you set

  • wan_animate_bus - the packed config from XB_WanAnimate_ParamBus.
  • segment_length (default 81) - frames per loop iteration; keep it at a 1+8N safe value.
  • positive_prompt - one scene description for the whole run. If you need different prompts per segment, this is the wrong node - that's what chaining the original relay nodes is for.
  • use_local_ref_image / ref_image_file - inherit the bus's global reference or use a per-run independent image.
  • relay_count (default 1) - how many segments to generate. This is the whole point of the node.
  • total_frames_display - a read-only widget showing the computed total (segment_length × relay_count minus overlaps).

Outputs: 📦 WAN_ANIMATE_BUS (传给下段) with the advanced offset, and 🎞️ 累加视频流 - the fully accumulated IMAGE stream, ready for a VideoCombine.

The honest takes

This is the relay I'd actually start from in 2026 - the loop is tidy, the exhaustion check means you can't accidentally overshoot your driving video, and the read-only total-frame display is a nice touch. The trade-off: because it's a loop, every segment shares the same positive prompt, so it's for "same scene, long take" work, not for storyboard-style per-segment rewrites. And the usual caveat applies - identity drift across chunk boundaries is reduced by the overlap but never fully gone, and the more segments you chain, the more it accumulates. If a take drifts, that's the model's 81-frame reality, not a bug in the loop.

Install

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

then restart, or install via ComfyUI Manager ("XB_ToolBox"). Same stack as the original relay: Wan 2.2 Animate model, clip_vision for the reference, and a bus feeding it.

CategoryXB_ToolBox/Pipeline

Inputs (9)

NameTypeDefaultDescription
wan_animate_busWAN_ANIMATE_BUS
segment_lengthINT811–8192
positive_promptSTRINGDescribe the scene...
use_local_ref_imageCOMBO继承总线全局图2 options: 继承总线全局图, 独立参考图
ref_image_fileCOMBO2 options: example.png, vrgdg_placeholder_i2i.png
continue_motion_max_framesINT50–16接力重叠帧数(衔接过渡)
relay_countINT11–999接力数量设定
total_frames_displaySTRING总计生成帧数(自动计算)
prev_videooptIMAGE

Outputs (2)

NameTypeDescription
📦 WAN_ANIMATE_BUS (传给下段)WAN_ANIMATE_BUS
🎞️ 累加视频流IMAGE