ComfyUI Node

star_upscale

The Topaz Starlight video upscaler hiding inside a UI megapack

By xiaozhuguang·Created 2 months ago·Updated 3 days ago· 66
star_upscale
  • 图像
  • 图像
帧率24
放大倍数2X
细节1.0
输出长边0

This is the strangest node in a megapack whose README never mentions it. ComfyUI-xiaozhuguang is a big Chinese UI-enhancement pack (小珠光 - "small pearl light"): favorites, workflow manager, themes, groups, a whole editor ecosystem. And then, tucked in the nodes/ folder, there's StarUpscale - display name star_upscale, category "Star Upscale". It's a port of the old ComfyUI-TopazStarlight node, and it isn't an AI-upscaler model at all. It's a wrapper that shells out to Topaz's commercial "neuroserver" engine running the Starlight 2.6 model. The pack ships the wrapper; the expensive part is on you.

Why would you reach for it? Because video upscaling is the third, least-settled job in the upscaling hierarchy (see the upscaling essay in our knowledge base): per-frame models shimmer on fine texture because consecutive frames can't agree, and Topaz remains the paid baseline everyone benchmarks against. If you already own the Topaz engine, this node lets you run its Starlight model inside a ComfyUI video workflow instead of bouncing frames through the Topaz GUI.

How it works

Under the hood it's a pipeline, not a model call. Your IMAGE batch is encoded to a temp h264 mp4 (NVENC if the driver actually loads, otherwise libx264), then neuroserver --once is invoked with the model id (slp-26, i.e. Starlight 2.6), your chosen scale, and an enhancement strength. The engine writes a new mp4, the node decodes it back into a tensor, and your original frame count comes out the other side. A progress bar is wired in, and the engine's VRAM ceiling is auto-set to roughly your GPU's total minus 1 GiB, so there's no knob to fiddle.

The inputs that matter

The port keeps Chinese input names. Four of the five do something you'll actually touch:

  • 图像 (IMAGE) - your frame batch, from a video loader or frame extractor.
  • 帧率 (FLOAT, default 24) - should match your source; it's used for the intermediate encode. Decimals like 23.976 are fine.
  • 放大倍数 (1X/2X/3X/4X, default 2X) - Starlight only does native integer factors, and the output is strictly input × factor, no resampling. 1X is "enhance only, don't enlarge" - handy as a cleanup pass.
  • 细节 (FLOAT, 0.5–1.5, default 1.0) - enhancement strength. 0.7 gentle, 1.3 aggressive.
  • 输出长边 (INT, default 0) - optional cap: after the native scale it will downscale the long edge to this many pixels (only shrink, never upsize; 0 = leave alone). A 2X 3840 output with 2160 here gives you a 2K clip.

Output is a single 图像 IMAGE tensor - same shape your video-combine node already eats.

Installing it

The pack itself installs like any custom node - ComfyUI Manager (search "ComfyUI-xiaozhuguang") or:

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

then restart ComfyUI. The catch is the engine. The code hardcodes the engine location to <ComfyUI>/models/star_upscale/ and looks for upscaleserver/neuroserver.exe plus the bundled ffmpeg and a tvmd/VR.lic license file. None of that is in the repo - you have to obtain and place the Topaz server engine and its models there yourself. Get it wrong and you get a clear error: 未找到引擎: 请把 star_upscale 放在 ComfyUI 目录的 models 下 ("engine not found: put star_upscale under ComfyUI/models"). So "install the pack" is only half the story; this is licensed commercial software, and the node is really a bridge to it.

Where people get burned

  • Missing engine / license. If the license isn't found the subprocess dies and you'll see neuroserver failed or produced no output file. Check the engine path and license before blaming the node.
  • It doesn't work headless-by-default on some clouds. The code probes whether h264_nvenc genuinely encodes (some cloud images list it but can't load it) and falls back to libx264 - slow but reliable.
  • 4K ceiling. Starlight's output is capped at 4K; if your input is already 4K, higher factors get clamped by the engine. And remember the Astra-family models this pipeline supports need ≥9 input frames - though this node is pinned to the 2.6 model, keep short clips in mind.
  • It's undocumented in the pack. The README lists zero of this - you found this node by searching the node list. It's stable and self-contained (deps are already in the pack's requirements), just surprising.
CategoryStar Upscale

Inputs (5)

NameTypeDefaultDescription
图像IMAGE
帧率FLOAT240.1–240和视频实际帧率一致,支持小数输入(如 23.976 / 29.97);界面按整数显示,内部自动取整
放大倍数COMBO2X模型原生整数倍(星光只支持 1X/2X/3X/4X):输出 = 输入×倍数,不重采样。1X=只增强不放大;模型输出上限 4K(输入已达 4K 时更高倍数会被引擎封顶)
细节FLOAT1.00.5–1.5细节增强力度:0.7柔和 / 1.0默认 / 1.3细节最猛
输出长边INT00–7680可选:原生倍数放大完成后,把输出长边对齐到该像素值(只缩小不放大,0=不限制保持原样)。例:2X 放大的 3840 长边配 2160 → 缩小到 2K;若原生输出已小于该值则保持不动。

Outputs (1)

NameTypeDescription
图像IMAGE