Nodes/Comfyui-STAR/STAR Video Super-Resolution
ComfyUI Node

STAR Video Super-Resolution

STAR's diffusion video upscaler

By ethanfel·Created 7 months ago·Updated 7 months ago· 0
STAR Video Super-Resolution
  • star_model
  • images
  • images
upscale4
steps15
guide_scale7.5
prompt
solver_modefast
max_chunk_len32
seed0
denoise0.90
color_fixadain
segment_size0

Upscaling video is a different job from upscaling an image, and this node is built for the hard version. Feed it an IMAGE batch of frames and it runs the STAR diffusion pipeline - 4x super-resolution with temporal coherence, the thing a good image upscaler applied frame-by-frame can't give you. The classic failure: a per-frame upscaler that handles a patterned wallpaper perfectly in stills and makes it shimmer like a broken GIF in motion, because nothing forces consecutive frames to agree. STAR is temporally aware by design - a temporal VAE, ControlNet conditioning, and a diffusion pass that sees whole chunks of frames at once, built on the I2VGen-XL / VEnhancer lineage.

Wire star_model from the STAR Model Loader, and images from anything that outputs frames - LoadImage for a single photo, VHS LoadVideo, or a video loader. It emits images back out as a batch you save with VHS or SaveAnimatedWEBP. Single-image use works fine, but the model was born for footage: genuinely degraded old clips are where it shines, not clean renders that an ESRGAN pass handles faster.

The inputs that matter

  • upscale (1–8, default 4): the factor. 4x is the sweet spot; higher eats VRAM fast.
  • solver_mode: fast uses STAR's optimized schedule - 4 coarse + 11 fine steps, hardcoded, and the steps input is ignored. normal uses a uniform schedule and respects steps. Leave it on fast unless you're deliberately experimenting; it's the difference between "slow" and "bring a book".
  • denoise (default 0.9): how much of the input structure survives. Lower = more faithful to the original, less invented detail. 0.9 is the STAR default and a good place to sit.
  • guide_scale (default 7.5) and prompt: STAR always appends its built-in quality prompt, so leaving the prompt blank is not a mistake - that's the intended use. Raise guide_scale if you want the model's interpretation to dominate.
  • max_chunk_len (default 32) and segment_size (default 0): your VRAM and RAM levers. Lower max_chunk_len to shrink the frames-per-chunk and fit longer videos in less VRAM (chunks overlap 50% to keep motion coherent). Set segment_size to 16–32 for long videos to bound system RAM; segments crossfade at 25% overlap so the seams stay invisible.
  • color_fix (default adain): post-pass color matching so the upscaled footage doesn't drift from the source. wavelet preserves low-frequency color instead; none if you want to grade later yourself.

Install and first run

Same as the loader - ComfyUI Manager, search ComfyUI-STAR, or:

cd ComfyUI/custom_nodes
git clone --recursive https://github.com/ethanfel/Comfyui-STAR.git
cd Comfyui-STAR
pip install -r requirements.txt

First run downloads the checkpoint into ComfyUI/models/star/ (choose light_deg.pt vs heavy_deg.pt in the loader), plus the OpenCLIP encoder and SVD temporal VAE. Restart ComfyUI after installing.

Where people get burned

It's heavy. This is diffusion, not a filter - expect minutes per clip, and real footage costs real GPU. One community run needed a rented pod and ~90 minutes for a single 4K clip, and a 299-frame scene at 430p wouldn't fit even in 80GB VRAM until it was downscaled first. On a consumer card, set the loader's offload to model or aggressive and drop max_chunk_len - or skip ComfyUI entirely for very long videos and run the pack's standalone inference.py, which streams frames straight to ffmpeg and copies the audio:

python inference.py input.mp4 -o output_4x.mp4 --offload model --segment-size 8

Heavily compressed sources will make the model invent structure (it has to). Clean the footage first if you can, and give it footage, not a slideshow - temporal coherence only pays off when there's motion to be coherent about.

CategorySTAR

Inputs (12)

NameTypeDefaultDescription
star_modelSTAR_MODELConnect from STAR Model Loader.
imagesIMAGEInput video frames (IMAGE batch). Can come from LoadImage, VHS LoadVideo, etc.
upscaleINT41–8Upscale factor applied to the input resolution. 4x is the default. Higher values need more VRAM.
stepsINT151–100Number of denoising steps. Ignored in 'fast' solver mode (hardcoded 15). More steps = better quality but slower.
guide_scaleFLOAT7.51–20Classifier-free guidance scale. Higher values follow the prompt more strongly. 7.5 is a good default.
promptSTRINGOptional text prompt. STAR's built-in quality prompt is always appended. Leave empty to use only the quality prompt.
solver_modeCOMBOfastfast: optimized 15-step schedule (4 coarse + 11 fine). normal: uniform schedule using the steps parameter.
max_chunk_lenINT324–128Max frames processed at once. Lower values reduce VRAM usage for long videos. Chunks overlap by 50%.
seedINT00–18446744073709550000Random seed for reproducible results.
denoiseFLOAT0.900.1–1How much noise to add before denoising. 0.9 = STAR default (preserves input structure). 1.0 = full denoise (starts from pure noise). Lower values preserve more of the original.
color_fixCOMBOadainPost-processing color correction. adain: match color stats from input. wavelet: preserve input low-frequency color. none: no correction.
segment_sizeINT00–256Process video in segments of this many frames to reduce RAM usage. 0 = process all at once. Recommended: 16-32 for long videos.

Outputs (1)

NameTypeDescription
imagesIMAGE