XB-BOX - ๐ InfiniteTalk ๆ ้ๆฅๅ็น (New)
Relay_count for talk-till-the-audio-ends
- wan_infinitetalk_bus
- prev_video
- prev_audio
- audio
- ๐ฆ WAN_INFINITETALK_BUS (ไผ ็ปไธๆฎต)
- ๐๏ธ ็ดฏๅ ่ง้ขๆต
- ๐ ็ดฏๅ ้ณ้ขๆต
The plain InfiniteTalk relay does one segment per node, which makes a five-minute monologue a wall of identical nodes. XB_WanInfiniteTalk_RelayNode_New ("XB-BOX - ๐ InfiniteTalk ๆ ้ๆฅๅ็น (New)") is the pack's loop-in-one-node update: it adds relay_count so a single relay internally runs N segments, each feeding the accumulated video and audio into the next. Set it to 10 and one node will chew through ten 81-frame chunks, stopping when the bus's audio budget runs out.
Same family logic as the Wan relay _New variant, but for the audio pipeline: it carries prev_video and prev_audio forward, and in bus-audio mode it respects the bus's total_frames, so you can point it at a long track and let it run until the voice stops.
What's exposed on the node
segment_length(81) - frames per chunk.motion_frame_count(9) - the transition overlap; its tooltip notes audio and video cropping auto-align to it, so the audio stays in sync when you trim the duplicated frames.relay_count(1) - how many segments this node runs internally.total_frames_display- a read-only total-frames estimate, so you can see the duration you've set up before queueing.
Everything else - models, audio encoder, chunking, sampler, the pre-encoded bus audio - comes from the WAN_INFINITETALK_BUS it receives from XB_WanInfiniteTalk_ParamBus. Outputs: the bus to pass on, ๐๏ธ ็ดฏๅ ่ง้ขๆต, and ๐ ็ดฏๅ ้ณ้ขๆต.
When it's right
The _New relay is for the "one continuous monologue/conversation, known length" case - a podcast clip, a speech, a character reading aloud. Because the loop shares one positive_prompt across all segments, it's not for scene changes. For per-segment direction (different action or setting per beat), the original relay chain gives you a node per segment with its own prompt field.
One behavior worth knowing: when the bus's frame budget runs out mid-loop, the relay doesn't error - it logs "frame budget exhausted, skipping" and passes through the accumulated buffers. That's how a chain of _New relays can cover an arbitrarily long track without you pre-counting segments.
Install & caveats
Pack standard: ComfyUI Manager โ XB_ToolBox, or git clone https://github.com/wjluoxiao/XB_ToolBox.git into custom_nodes, restart. Deps opencv-python + easyocr, no weights bundled. And the honest math: each segment is a full 14B-class generation. Ten segments is a long wait on anything short of a 24GB card - InfiniteTalk's real cost, and the reason people recommend it for talking heads (where the payoff is worth it) rather than general video.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| wan_infinitetalk_bus | WAN_INFINITETALK_BUS | โ | |
| positive_prompt | STRING | โ | |
| segment_length | INT | 811โ8192 | โ |
| motion_frame_count | INT | 91โ33 | ๆฅๅ้ๅ ๅธงๆฐ๏ผ่ฟๅจ่ฟๆธก๏ผ |
| relay_count | INT | 11โ999 | ๆฅๅๆฐ้่ฎพๅฎ |
| total_frames_display | STRING | ๆป่ฎก็ๆๅธงๆฐ๏ผ่ชๅจ่ฎก็ฎ๏ผ | |
| prev_videoopt | IMAGE | โ | |
| prev_audioopt | AUDIO | โ | |
| audioopt | AUDIO | โ |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| ๐ฆ WAN_INFINITETALK_BUS (ไผ ็ปไธๆฎต) | WAN_INFINITETALK_BUS | โ |
| ๐๏ธ ็ดฏๅ ่ง้ขๆต | IMAGE | โ |
| ๐ ็ดฏๅ ้ณ้ขๆต | AUDIO | โ |