Nodes/ComfyUI-CGlide/Glide DLSS5
ComfyUI Node

Glide DLSS5

Audition NVIDIA's neural upscaler on your own clip before you commit

By CGlide·Created 3 months ago·Updated about 13 hours ago· 77
Glide DLSS5
  • settings
  • video_path
  • frames
◄video►
◄codecHEVC►
◄containerMKV►
◄qualityAuto►
◄filename_prefixGlideDLSS5►
◄copy_audiotrue►
◄preview_frames8►
◄output_directory►

What it is, and why you'd reach for it

DLSS 5 is NVIDIA's real-time neural renderer - the one from the March 2026 announcement that the image-gen crowd spent a month arguing about, largely because it has a habit of re-deciding what someone's face looks like. Blueforcer wrapped it for ComfyUI as ComfyUI-DLSS5-Enhancer: a node that takes a video file and writes an enhanced one.

That node is all or nothing. This one isn't. Drop a clip on it, scrub to any frame, hit Preview, and a short DLSS burst renders up to your playhead as a before/after pair you slide with the mouse. Then Queue does the whole file. If DLSS 5 is going to do something ugly to your character, you find out in fifteen seconds instead of at minute ten.

Worth being honest about the job, though. This is the least settled kind of upscaling - video, over time - and NVIDIA's path is closer to Lanczos than to SeedVR2: it cleans pixels, it doesn't invent eyelashes and pores. Feed it H3 output and it sharpens what's there. Feed it mush and you get bigger mush.

How it works

Preview never goes through the queue. The button posts the connected DLSS5 Settings node's current widget values to a server route, which rebuilds the exact config that node would have built, then renders a burst of frames ending at the playhead. A burst, not one frame, because DLSS accumulates across consecutive frames and frame one has no history - the last frame of a short run is what that frame looks like in a real render. The "before" half is your own source frame, Lanczos-resized to the output size, so the slider lines up pixel for pixel against a plain upscale.

Queue a partial prompt instead and, on a graph with other output nodes in it, a ComfyUI that ignores partial targets runs all of them just to show you eight frames. So preview skips the queue.

Render is the queue. The node hands the whole file to the Enhancer's own DLSS5 Enhance Video File logic, so you get what that node would have produced: same encoder, same audio mux, same verification pass. And scrubbing works on files your browser can't play - the server decodes frames and serves them as JPEG, so 4:4:4 HEVC in MKV scrubs fine.

The inputs that matter

  • settings (DLSS5_SETTINGS) - wire a DLSS5 Settings node in. That's the tuning loop: change a widget there, press Preview again, no queueing. Direct or through reroutes; a buried link gets a plain error.
  • video - drop a file on the node (it uploads into input/glide_dlss5) or paste a path, but only to a file inside ComfyUI's input, output or temp folder. Deliberate: the routes read this value straight from an HTTP request.
  • preview_frames (1–32, default 8) - how long the preview burst is. The tooltip's own framing: DLSS builds up over frames, 8 is a fair look.
  • codec / container / quality - the encode. Those lists aren't hardcoded; they're read from the Enhancer's own media module at load time. Defaults: HEVC, MKV, Auto.
  • copy_audio (on by default) - keeps the soundtrack, which you want, since H3 generates audio natively and your clip has it.
  • filename_prefix, plus an optional output_directory (empty means ComfyUI's output folder).

Outputs are video_path and frames. Wire video_path into whatever reads a file next - a join node, a video encoder - or leave it as the terminal output it already is. frames is the count, handy for checking the whole clip went through.

Installing it

The engine first, because this node ships none of it:

cd ComfyUI/custom_nodes
git clone https://github.com/Blueforcer/ComfyUI-DLSS5-Enhancer
git clone https://github.com/CGlide/ComfyUI-CGlide

Restart ComfyUI, or search CGlide in ComfyUI Manager for the second one. The nodes land under the CGlide category. The Enhancer's runtime has to be working too - that's NVIDIA's side, so plan on a recent RTX card. There's no requirements.txt here; the Enhancer is what brings PyAV, which this node imports. And update ComfyUI while you're at it - the author's own complaint is that most H3-era problems people post turn out to be a stale ComfyUI.

When it goes wrong

  • "Glide DLSS5 needs ComfyUI-DLSS5-Enhancer installed and loaded." The node doesn't import the Enhancer; it reads that pack's modules out of sys.modules. So this also fires when the Enhancer is installed but failed to import - fix that pack first, then do a full restart, not a browser refresh.
  • "is loaded but has no … module - its version does not match what Glide DLSS5 expects." Version drift between the two packs. Update the Enhancer.
  • "A preview is already running." By design: one at a time, because two would fight over the same GPU and the second would lose.
  • Widgets smeared or out of order. If a widget list changed shape between versions, delete and re-add the node; ComfyUI matches saved values by position.
CategoryCGlide

Inputs (9)

NameTypeDefaultDescription
settingsDLSS5_SETTINGSConnect a DLSS5 Settings node. Preview reads its current values.
videoSTRINGDrop a video on the node. A pasted path must be inside ComfyUI's input, output or temp folder.
codecCOMBOHEVC4 options: HEVC, H.264, AV1, ProRes Proxy
containerCOMBOMKV3 options: MKV, MP4, MOV
qualityCOMBOAuto4 options: Auto, Good, Best, Max
filename_prefixSTRINGGlideDLSS5—
copy_audioBOOLEANtrue—
preview_framesINT81–32Frames rendered up to the playhead for a preview. DLSS builds up over frames; 8 is a fair look.
output_directoryoptSTRINGEmpty = ComfyUI output folder.

Outputs (2)

NameTypeDescription
video_pathSTRING—
framesINT—