StreamingT2VRunLongStepVidXTendPipeline
VidXTend long extension, IMAGE in, IMAGE out
- VidXTendPipeline
- short_video
- IMAGE
StreamingT2VRunLongStepVidXTendPipeline is the stage-two workhorse of the recommended workflow: it takes the 16-frame seed from the short step and extends it into a long video using the VidXTend model. Where StreamingT2VRunLongStep is the original-model version of this job, this node is the VidXTend one - 5GB model, <10GB VRAM, auto-downloaded, and it works entirely in IMAGE space rather than writing intermediate mp4s. wf_VidXTend.json from the README is built around it.
This is the node the pack's author actually wants you to use, and it shows. It's a clean loop: take the seed frames, generate 8 more conditioned on the last chunk, append, repeat until you hit num_frames. The two conditioning inputs mirror StreamingT2V's two memory modules - the last frames as short-term context, the first frame as the long-term appearance anchor - so the scene holds together over hundreds of frames.
How it works
Each pass feeds the final 8 frames of the accumulated video as image (the conditional-attention context) and the very first frame as input_frames_conditioning (the appearance-preservation anchor), then asks VidXTend for 8 new frames. The node trims the guide frames from the output, appends the new ones, clears the CUDA cache between iterations, and keeps looping until it reaches num_frames. That cache clearing is why this can run for hundreds of frames without gradually eating your VRAM.
Inputs that matter
- VidXTendPipeline - from
StreamingT2VLoaderVidXTendModel. - short_video - the 16-frame seed IMAGE from the short-step node, or any 256×256 clip.
- prompt - the scene description, held constant for the whole extension.
- num_frames - total target length (default 24); the loop adds 8 at a time.
- num_steps - inference steps per chunk, default 50.
- image_guidance - guidance scale, default 9.0.
- seed - default 33.
- negative_prompt - defaults to a long, sensible list ("worst quality, low res, blurry, watermark..."). There because VidXTend's pipeline supports it, unlike some other nodes in this pack.
The output is an IMAGE of num_frames frames - wire it into VHS_VideoCombine to save, and the pack's VHS_FILENAMES_STRING_StreamingT2V helper to grab the filename for later nodes.
Installing it
Pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/chaojie/ComfyUI_StreamingT2V
or ComfyUI Manager → search StreamingT2V → install, restart. The VidXTend model auto-downloads on first run, so no manual checkpoint step - that's the whole point of this path. The requirements.txt is still the pack's heavy list (diffusers, pytorch-lightning, modelscope, xformers...), and the pack vendors vidxtend under thirdparty/ so the import just works.
The take
This is the node to build around if you're on a normal consumer card. The extension quality is 2024-era - don't expect modern Wan-level motion - but the loop is solid, the VRAM is manageable, and the README's "turn on Auto Queue, stop when you want" workflow is built for exactly this node. If you set num_frames high, expect to wait: 50 steps per 8-frame chunk, and a 120-frame video is fourteen of them.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| VidXTendPipeline | VidXTendPipeline | — | |
| short_video | IMAGE | — | |
| prompt | STRING | A cat running on the street | — |
| 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 | — |