Nodes/ComfyUI_StreamingT2V/StreamingT2VRunEnhanceStep
ComfyUI Node

StreamingT2VRunEnhanceStep

Upscale your long 256px video to 720p with one pass

By chaojie·Created 2 years ago·Updated 2 years ago· 36
StreamingT2VRunEnhanceStep
  • msxl_model
  • video_path
low_video_path
promptA cat running on the street
num_frames24
chunk56
overlap32
upscale_width1280
upscale_height720
upscale_padtrue

StreamingT2VRunEnhanceStep is the final stage of this pack's pipeline: it takes the long 256×256 video from the extension stage and re-renders it at a much higher resolution - 1280×720 by default - using the damo/Video-to-Video model from modelscope. Feed it the msxl_model from StreamingT2VLoaderEnhanceModel, give it the path to your low-res video, and it hands back the path to the finished, upscaled mp4.

If you're running the staged workflow, this is the payoff node. The extension stage deliberately works at 256×256 because that's what the autoregressive model was trained at - it's fast and it can run for hundreds of frames. But nobody wants to watch 256px. This node is where the video actually becomes watchable.

How it works

Under the hood it's a modelscope video-to-video pass. The low-res frames are downscaled, resized to fit the target upscale_size, padded if requested, and fed through the damo/Video-to-Video pipeline (with a long built-in negative prompt and total_noise_levels=600), which re-renders each frame with clean detail. There's one genuinely clever detail in the source: if your video is over 80 frames, it switches to a chunked randomized blending mode - processing the video in overlapping chunks so the enhancer doesn't leave visible seams between sections. That's a real problem with naive video upscalers on long clips, and this node solves it the same way the StreamingT2V research did.

Inputs that matter

Most of them are about the enhancement target:

  • msxl_model - the enhancer from StreamingT2VLoaderEnhanceModel.
  • low_video_path - path to the 256px mp4 (a STRING, usually wired from StreamingT2VRunLongStep's low_video_path output).
  • prompt - what the video is about; the enhancer uses it.
  • num_frames - how many frames to process (default 24, but set it to match your video's actual frame count - it decides which enhancement path runs via the 80-frame cutoff).
  • chunk / overlap - the chunked-blending window (defaults 56/32), used only when frames exceed 80.
  • upscale_width / upscale_height - the target resolution (defaults 1280×720).
  • upscale_pad - pad to the target aspect ratio instead of stretching.

The output is a video_path STRING pointing at the enhanced mp4 in ComfyUI's output folder. This node is marked as an output node, so its return is meant to be the end of the line - wire it to a video loader or preview to actually see the result.

Installing it

Part of the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/chaojie/ComfyUI_StreamingT2V

or ComfyUI Manager → search StreamingT2V → install, restart. The enhancer model itself auto-downloads from modelscope on first run, so no manual download - but the pack's requirements.txt is heavy, and this stage specifically needs the modelscope SDK working.

The take

The enhance stage is where this 2024 pipeline shows its age and its charm. The output genuinely looks better than 256px deserves to, and the chunked blending for long videos is smart engineering. Just don't expect modern upscaling quality - this is a video-to-video re-render, not a diffusion super-res, so you're trading some fidelity for consistency across hundreds of frames. If your card handled the extension stage, this node is the easy close to the workflow.

CategoryStreamingT2V

Inputs (9)

NameTypeDefaultDescription
msxl_modelmsxl_model
low_video_pathSTRING
promptSTRINGA cat running on the street
num_framesINT24
chunkINT56
overlapINT32
upscale_widthINT1280
upscale_heightINT720
upscale_padBOOLEANtrue

Outputs (1)

NameTypeDescription
video_pathSTRING