Nodes/ComfyUI-LHStarlight26/星光2.6|视频超分(v2.6.0-rh1)
ComfyUI Node

星光2.6|视频超分(v2.6.0-rh1)

It says Starlight 2.6 on the box; the engine inside is SeedVR2

By 284951641·Created about 19 hours ago·Updated about 18 hours ago· 0
星光2.6|视频超分(v2.6.0-rh1)
  • image
  • dit
  • vae
  • IMAGE
seed32
resolution1080
max_resolution3840
batch_size121
uniform_batch_sizetrue
color_correctionwavelet
temporal_overlap21
prepend_frames0
input_noise_scale0.000
latent_noise_scale0.000
offload_devicecpu
enable_debugfalse

Let's get the branding out of the way first, because it will save you a confused hour. This node's Chinese display name is 星光2.6|视频超分 - "Starlight 2.6, video super-resolution" - but open the package and every file inside says SeedVR2. What you've installed is ByteDance's one-step diffusion restoration model, forked from the community-standard numz/ComfyUI-SeedVR2_VideoUpscaler nodes and re-branded for RunningHub's GPU-cloud workflow market. Not a scam - the upscaling is real and genuinely good - it just means every bit of SeedVR2 wisdom you already have transfers directly. You're not learning a new model; you're learning a new wrapper around the best-known one.

What it's actually for

This is the detail-adding kind of upscaling, not the "make it bigger" kind. Feed it a low-resolution clip and it runs a diffusion pass over the latent space to invent plausible detail - fabric weave, pores, fine texture - the way a Lanczos or ESRGAN pass never can. It shines on video that's genuinely low-res: SeedVR2 consistently beats FlashVSR on the big lifts, like 256px to 1024px. For a source that's already decent it's overkill - a cheap pixel upscaler is faster and can't hallucinate.

The uncomfortable part: this is a slog on consumer hardware - the community figure is 12 minutes for a 720p→4K clip on a rented 48GB L40S. Keep the batch small and the clip short and a 3060 can do it; for long footage, rent a GPU or run it on RunningHub, where the weights are already mounted.

How it works

The node expects three things wired in: your frames as an image batch, plus a dit and a vae configuration from the pack's other two nodes - Starlight26LoadDiTModel and Starlight26LoadVAEModel. It runs a four-phase pipeline: VAE-encode the frames, diffuse-upscale them with the DiT, decode, then color-correct.

This fork earns its keep on video, where per-frame upscaling fails in a classic way: consecutive frames disagree on how to resolve fine repeating texture, and you get shimmering wallpaper. The node processes frames in batches shaped 4n+1 (1, 5, 9, 13…), the temporal window the model's video VAE was trained on. temporal_overlap re-feeds a few frames across batch boundaries and blends them so seams don't appear, and uniform_batch_size pads a short final batch so the tail doesn't wobble. prepend_frames runs a few reversed lead-in frames and trims them, cleaning up artifacts at the start of the clip. All of it exists to make adjacent frames agree.

The output is a single IMAGE - the upscaled frame batch in the same RGB/RGBA format as your input, normalized to [0, 1] for ComfyUI. Wire it into a save-video or preview node.

The inputs that matter

  • resolution (default 1080): target for the shortest edge, aspect ratio kept. The number you'll actually change.
  • batch_size (default 121): frames per batch, and it must follow 4n+1. Bigger means better temporal consistency and faster throughput but more VRAM; smaller shrinks the footprint.
  • color_correction: SeedVR2 famously lifts contrast and shifts color. This pass grades the output back toward your input - lab is the tooltip's recommended pick, wavelet the shipped default, none for the raw upscale.
  • max_resolution (default 3840): a safety cap on the longest edge so extreme aspect ratios don't blow your VRAM.

Seed, the two noise sliders, and offload_device are the fiddly rest. Leave them alone until something misbehaves.

Installing it

Through ComfyUI Manager, search for the pack title or starlight26-runninghub. Or the manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/284951641/ComfyUI-LHStarlight26

Then restart ComfyUI. Manager installs the pip deps from requirements.txt - diffusers, peft, omegaconf, gguf, opencv - so the first install is chunky. Two gotchas. First, this pack is written against ComfyUI's newer V3 node API, so an old ComfyUI won't register the nodes - update before you try. Second, the README's only real warning: model weights are not included. Weights go in ComfyUI/models/SEEDVR2/ (the folder is literally named SEEDVR2); the defaults expect a starlight26_dit_3b_bf16.safetensors plus a matching VAE. On RunningHub those are mounted for you; locally you have to fetch them. The standard numz/AInVFX SeedVR2 3B/7B .safetensors and .gguf files work in this fork too.

Common issues

OOM. This is SeedVR2's earned reputation. Drop batch_size to 5, set the upscaler's offload_device to cpu, and turn on the loader nodes' tiled encode/decode or block-swap options.

"It upscaled fine but looks bad." Ask which weights you ran. FP16/bf16 is clean; GGUF quant is known to damage skin texture and FP8 can leave tiling-grid artifacts - the bf16 defaults are the safe ones. And on a close-up face, don't trust a single pass: the community's harshest SeedVR2 verdict is "human to lizard upscaler" on skin. Give faces their own pass.

Jitter between batches. Bump temporal_overlap to 1–4 and keep uniform_batch_size on.

If the node errors on a missing model file, the answer is boring and always the same: models/SEEDVR2/ is empty. Put the weights in there and it runs.

Category星光2.6/RunningHub

Inputs (15)

NameTypeDefaultDescription
imageIMAGEInput video frames as image batch. Accepts both RGB (3-channel) and RGBA (4-channel) formats. Output format will match input format.
ditSEEDVR2_DITDiT model configuration from SeedVR2 (Down)Load DiT Model node
vaeSEEDVR2_VAEVAE model configuration from SeedVR2 (Down)Load VAE Model node
seedINT320–4294967295Random seed for reproducible generation (default: 42). Same seed with same inputs produces identical output.
resolutionINT108016–16384Target resolution for the shortest edge in pixels (default: 1080). Automatically maintains aspect ratio of input. Even values required for optimal processing.
max_resolutionINT38400–16384Maximum resolution limit for any dimension (default: 0, no limit). If any edge exceeds this after applying resolution, both dimensions are scaled down proportionally. Useful to prevent excessive VRAM usage on extreme aspect ratios.
batch_sizeINT1211–16384Number of frames processed together per batch (default: 5). Must follow pattern 4n+1: 1, 5, 9, 13, 17, 21, ... • Higher values: Better temporal consistency and faster processing • Lower values: Reduced VRAM usage Ideally match to shot length for best quality.
uniform_batch_sizeBOOLEANtruePad final batch to match batch_size (default: False). Prevents temporal artifacts caused by small final batch. Add extra compute but recommended for optimal quality.
color_correctionCOMBOwaveletCorrects color shifts in upscaled output to match original input (default: lab). The upscaling process may alter colors; this applies color grading to restore them. • lab: Perceptual color matching with detail preservation (recommended) • wavelet: Frequency-based natural colors, preserves fine details • wavelet_adaptive: Wavelet base with targeted saturation correction • hsv: Hue-conditional saturation matching • adain: Statistical style transfer approach • none: No color correction applied
temporal_overlapoptINT210–64Overlapping frames between consecutive batches (default: 0, disabled). Improves temporal consistency across batch boundaries through blending. Values 1-4 work well for most content.
prepend_framesoptINT00–32Number of frames to prepend (reversed from start) before processing (default: 0). Helps reduce artifacts at video beginning. Prepended frames are automatically removed from final output.
input_noise_scaleoptFLOAT0.0000–1Input noise injection scale (default: 0.0, disabled). Adds controlled variation to input images before encoding. Range: 0.0 (no noise) to 1.0 (maximum noise). Can help with certain types of artifacts.
latent_noise_scaleoptFLOAT0.0000–1Latent space noise injection scale (default: 0.0, disabled). Adds controlled variation during the diffusion process. Range: 0.0 (no noise) to 1.0 (maximum noise). Can soften details if input_noise_scale doesn't help.
offload_deviceoptCOMBOcpuDevice for storing intermediate tensors between processing phases (default: cpu). • 'none': Keep all tensors on inference device (fastest but highest VRAM usage) • 'cpu': Offload to system RAM (recommended for long videos, slower transfers) • 'cuda:X': Offload to another GPU (good balance if available, faster than CPU)
enable_debugoptBOOLEANfalseEnable detailed debug logging (default: False). Shows memory usage, timing information, and processing details. Useful for troubleshooting errors and performance issues.

Outputs (1)

NameTypeDescription
IMAGEIMAGEUpscaled video frames with color correction applied. Format (RGB/RGBA) matches input. Range [0, 1] normalized for ComfyUI compatibility.