ComfyUI Node

STAR Sample

STAR Sample is the whole show — budget for the wait

By vjumpkung·Created 9 months ago·Updated 12 days ago· 3
STAR Sample
  • star_model
  • video
  • conditioning
  • STAR latent
max_chunk_len32
cfg7.5
samplerdpmpp_2m_sde
solver_modefast
steps15
seed42

If you've loaded frames, picked a model, and typed a prompt, this is the node that actually does the upscaling - the one where your GPU gets busy and your coffee gets cold. STAR Sample VAE-encodes the prepared video, runs the diffusion pass, and hands a STAR latent to the decode node.

STAR isn't a filter; it's a diffusion model that regenerates your frames at the target resolution. The mechanism, grounded in the code: your low-res video gets encoded to latent space, then noised most of the way to pure noise - STAR's schedule runs 900 of its 1000 noise levels, SDEdit-style: add a lot of noise, then carefully walk it back. Two things steer the walk: your text conditioning from STAR Text Encode, and the low-res video itself, which the architecture feeds back in as a ControlNet-style hint so the model restores your frames rather than inventing a different video. Long clips run in overlapping temporal windows so the model never loses track of what came before - the temporal awareness per-frame upscalers lack, and the reason video through a frame-by-frame enhancer shimmers instead.

Inputs and the knobs that matter

Three upstream wires and six widgets, but a beginner only really drives three of them:

  • star_model / video / conditioning - from STAR Model Loader, STAR Prepare Video, and STAR Text Encode respectively. All three types are custom, so the graph won't let you wire the wrong thing in.
  • max_chunk_len - maximum frames per temporal window, default 32. Your OOM lever: lower it when the GPU dies on long clips. Windows overlap, so shorter chunks trade a little redundancy for processability.
  • cfg - classifier-free guidance strength, default 7.5. This is not Stable Diffusion territory; STAR is a restoration model and cranking CFG to 14+ is how you get oversaturated, over-processed output. Keep it near the default.
  • steps - denoising steps, default 15. The README's 15–50 range is right; 15 is fast and slightly rough, 25–30 is the quality ceiling for most sources.
  • sampler and solver_mode - dpmpp_2m_sde / fast by default; heun and normal are the slower, smoother option. The default is genuinely the one to start with; switch if you see fine temporal flicker you can't tune away.
  • seed - defaults to 42. Boring, reproducible, change it when you want a different roll.

That's the whole node. The output is a STAR latent parked on the CPU, so changing the VAE decode chunk size later - or anything in the color-fix step - never re-runs this expensive pass.

Why it's this heavy

Let's be real about expectations. STAR is a large video-diffusion model, and the community's early hands-on runs with the underlying research code happened on rented 80GB H200s - one experimenter had to downscale a 430p clip before a 299-frame upscale fit even on 80GB. This wrapper does real engineering to make it survivable - CPU-cached intermediates, temporal chunking, frame-at-a-time decode - but you are still running a diffusion model over a stack of frames. On a 3090/4090-class card, a modest 720p target on a short clip is a patience exercise, not a minutes-long one; on 8GB cards you'll be fighting the low end of the dials the whole time. That's the honest price of the best-looking generative video upscale you can run locally.

Installing the pack

Search ComfyUI-STARWrapper in ComfyUI Manager, or cd ComfyUI/custom_nodes && git clone https://github.com/vjumpkung/ComfyUI-STARWrapper && cd ComfyUI-STARWrapper && pip install -r requirements.txt, then restart ComfyUI and let the first run download the ~2–3GB checkpoint plus VAE and OpenCLIP weights. Same pack-wide requirements as the rest of the family: a current ComfyUI build (comfy_api.latest V3 API), CUDA PyTorch, a matching xformers (CUDA 13 reported broken), and the full dependency list.

Troubleshooting

  • CUDA out of memory - lower max_chunk_len first, then the target resolution upstream in STAR Prepare Video, then process shorter clips. In that order.
  • Looks over-processed / colors blown out - CFG too high, or you picked Heavy Degradation for a clean source. Check both.
  • Flicker between chunks - rare with the overlapping windows, but if you see it, step count up a little or switch to heun / normal.
  • Seed does nothing visible - seeds matter less than you'd hope: VAE sampling shares the seeded RNG stream with diffusion, and the whole run is anchored by your actual video anyway. Don't burn hours chasing a "better" seed.

Decode your latent with STAR VAE Decode next, then fix the colors with STAR Color Fix.

Categoryvideo/upscaling/STAR

Inputs (9)

NameTypeDefaultDescription
star_modelSTARVSR_MODEL
videoSTARVSR_VIDEO
conditioningSTARVSR_CONDITIONING
max_chunk_lenINT321–128Maximum temporal window processed by the diffusion model.
cfgFLOAT7.50–20Classifier-free guidance strength.
samplerCOMBOdpmpp_2m_sde2 options: heun, dpmpp_2m_sde
solver_modeCOMBOfast2 options: fast, normal
stepsINT151–100
seedINT420–18446744073709550000

Outputs (1)

NameTypeDescription
STAR latentSTARVSR_LATENT