StreamingT2VRunI2V
SVD seed, StreamingT2V extension, enhance
- StreamingT2VModelSVD
- image
- video_path
StreamingT2VRunI2V is the all-in-one image-to-long-video run node. Give it a still image, a prompt, and the StreamingT2VModelSVD from the SVD loader, and it runs the whole chain - SVD animates your image into a 16-frame seed, StreamingT2V extends it autoregressively into a long video, and the enhancer upscales the result - then returns the path to the finished mp4. One node, entire pipeline. Load wf_svd.json and this is the workhorse in the middle.
This is the pack's answer to "I have a picture and I want a long video of it." The image is the visual anchor; the prompt steers what happens. If you have a character sheet, a location still, or any frame you want preserved as the scene's identity, this is the node that starts from it. The appearance-preservation module in StreamingT2V is what keeps reaching back to that seed so the scene doesn't wander.
How it works
The node saves your image to ComfyUI/input/i2v.png, then:
- SVD stage - Stable Video Diffusion animates the still into a 16-frame 256×256 clip (SVD's XT variant, image-guidance-driven).
- Extension stage - StreamingT2V appends 8-frame chunks, with the count derived from
num_frames((num_frames-8)//8autoregressive generations), using yournum_stepsandimage_guidanceas the guidance scale. - Enhance stage - if the video is over 80 frames, it runs the chunked randomized blending upscale; otherwise a straight pass. Both target 1280×720 by default.
Inputs that matter
- StreamingT2VModelSVD - the loaded pipeline from
StreamingT2VLoaderSVD. - image - your still, as a standard IMAGE.
- prompt / negative_prompt - steer the scene. Small honesty note: the source accepts
negative_promptbut never actually passes it to the SVD call, so don't expect it to do much on this node. - num_frames - target video length (default 24).
- num_steps - inference steps, default 50.
- image_guidance - guidance scale for the extension, default 9.0. Higher = sticks closer to the conditioning.
- seed - default 33; change it for variation.
- chunk / overlap - for the >80-frame enhancement (defaults 56/32).
- upscale_width / upscale_height / upscale_pad - enhancement target (1280×720, pad on).
Output is video_path, a STRING path to the finished mp4 in output. It's an output node, so this is meant to be the end of the graph.
Installing it
The standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/chaojie/ComfyUI_StreamingT2V
or ComfyUI Manager → search StreamingT2V → install, restart. This path needs the manual 25.6GB streaming_t2v.ckpt in models/checkpoints (it's the original-model route), plus the heavy requirements.txt (pytorch-lightning, diffusers, modelscope, xformers...). SVD and SDXL auto-download from HuggingFace.
The take
The all-in-one I2V node is impressive on paper and heavy in practice - four models chained. On a <15GB card this will struggle; the README's staged alternative (short-step SVD, then a VidXTend long node) is the lighter path and honestly the one I'd reach for. But if you have the VRAM and want image-to-long-video in one clean graph, this is the node. Set a real num_frames above 80 to see the chunked blending earn its keep.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| StreamingT2VModelSVD | StreamingT2VModelSVD | — | |
| image | IMAGE | — | |
| prompt | STRING | A cat running on the street | — |
| negative_prompt | STRING | — | |
| num_frames | INT | 24 | — |
| num_steps | INT | 50 | — |
| image_guidance | FLOAT | 9.00 | — |
| seed | INT | 33 | — |
| chunk | INT | 56 | — |
| overlap | INT | 32 | — |
| upscale_width | INT | 1280 | — |
| upscale_height | INT | 720 | — |
| upscale_pad | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_path | STRING | — |