StreamingT2VRunLongStepVidXTendPipelineCustomRefOutExtendOnly
The VidXTend variant that conditions on the whole video so far
- VidXTendPipeline
- short_video
- ref_frames
- IMAGE
StreamingT2VRunLongStepVidXTendPipelineCustomRefOutExtendOnly is the most fiddly of the pack's four VidXTend long-extension nodes, and it exists to fix a subtle problem: every other variant conditions each new chunk only on the last 8 frames of the video. That keeps the model from seeing what's happening at the start of the clip. This node instead feeds the entire accumulated video as the conditioning image every round, so the extension is always aware of everything that came before.
The name is doing a lot of work, and one part of it is a small lie you should know about before you wire this in. "CustomRef" means it takes a ref_frames input, same as the CustomRef sibling, used as the appearance anchor. "OutExtendOnly" suggests the output contains only the newly added frames - but reading the source, the returned IMAGE still includes the original short-video frames. The name describes the intent (this node is for working with the extension), not literally what comes out the other end. Don't design a workflow that assumes the seed frames are gone.
How it works
Same 8-frame loop as the plain VidXTend long node - generate, append, clear cache, repeat to num_frames - with the conditioning inputs swapped: ref_frames becomes the appearance anchor, and the whole frame list (images, not just images[-8:]) is passed as the conditional-attention context. On short videos there's barely a difference. On long ones, every new chunk is generated with full knowledge of the entire clip, which costs a bit more compute per chunk but can keep later sections from drifting away from what the video was doing at the start.
Inputs that matter
- VidXTendPipeline - from
StreamingT2VLoaderVidXTendModel. - short_video - the seed IMAGE being extended.
- ref_frames - the custom appearance-anchor frames.
- prompt, num_frames (24), num_steps (50), image_guidance (9.0), seed (33), negative_prompt - the usual.
Output is an IMAGE of num_frames frames for VHS_VideoCombine.
Installing it
Pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/chaojie/ComfyUI_StreamingT2V
or ComfyUI Manager → search StreamingT2V → install, restart. VidXTend auto-downloads; the pack's heavy requirements.txt applies as always.
The take
This is a niche of a niche. The whole-video conditioning is a genuinely different behavior than the last-8-frames approach, and for long, slowly-evolving scenes it can hold coherence better. But it's also slower per chunk, and if you're not running long sequences with an explicit ref, the plain node or CustomRef will do the same job with fewer surprises. Reach for this one deliberately, after the others have failed you - and remember the output includes your seed frames despite the name.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| VidXTendPipeline | VidXTendPipeline | — | |
| short_video | IMAGE | — | |
| prompt | STRING | A cat running on the street | — |
| ref_frames | IMAGE | — | |
| num_frames | INT | 24 | — |
| num_steps | INT | 50 | — |
| image_guidance | FLOAT | 9.00 | — |
| seed | INT | 33 | — |
| negative_prompt | STRING | worst quality, normal quality, low quality, low res, blurry, text,watermark, logo, banner, extra digits, cropped,jpeg artifacts, signature, username, error,sketch ,duplicate, ugly, monochrome, horror, geometry, mutation, disgusting | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |