DLSS5 Enhance (Image)
More Pixels, or a Slightly Different Person. Pick One.
- Images
- IMAGE
DLSS5 Enhance (Image) takes an IMAGE batch, hands each frame to NVIDIA's DLSS 5 machinery via a wrapper around VE_CLI.exe, and gives it back as an IMAGE batch. No API key, no cloud round-trip. But also no magic - you're getting a learned re-render plus, optionally, a hardware resample.
Those are two different jobs stapled together. The upscale half is the NVIDIA path the community knows from the RTX video super resolution nodes: fast, clean, closer to Lanczos than to a diffusion model. The other half re-decides what your skin, hair and fabric should look like. One of those can't hallucinate. The other is why this node is interesting, and why it will occasionally ruin a face.
Where it sits in a workflow
Treat it as a finishing pass, not a replacement upscaler. Sharp and small, just want it bigger? A 4x ESRGAN or Lanczos - free, instant, nothing invented. Soft or damaged, want pores and lashes invented? SeedVR2 or SUPIR, which rewrite identity too.
This node is the third thing: a re-render for material response. It runs the neural pass at full resolution with no enlargement when scale is 1.0 - test that mode first, because it isolates the variable.
How it actually works
The source is short: each frame becomes an 8-bit RGB PIL image in a temp PNG, then gets shelled out to the CLI:
- normally
render input.png -o out.png --style N --strength X - then, only if
scale > 1.0,upscale out.png -o up.png --engine rtx --scale X - with
ray_reconstructionon,reconstructruns instead - and drops--styleand--strengthentirely
That's not in the changelog. Turn on Ray Reconstruction and style and strength become decoration - less dramatic than it sounds, since there's no depth buffer or motion vectors in an IMAGE tensor. You're feeding a flat PNG to something built to read a G-buffer. The README's cheat sheet agrees: ray reconstruction is "useless for standard AI images."
And a 2026 thread asking whether DLSS 5 is "a real-time diffusion model on top of a 3D rendering engine" drew a top comment saying the results "just look like img2img" - a different person, differently shaped lips. Fair description of the neural half here: a strong prior aimed at your pixels.
The inputs that matter
images- the batch. Frames loop one at a time with a fresh subprocess each, so a 100-frame batch is 100 launches. Fine for stills, brutal for video.strength- 0.0–2.0, default 1.0. The author says don't exceed 1.5; that's generous. Go 0.6–0.8 if the source has real faces.style- Default / Natural / Cinematic.Naturalfor people;Cinematicfor contrast, with crushed shadows as the tax.scale- 1.0–16.0, and the widget opens at 2.0, not 1.0. Drag it down if you only want the neural pass.ray_reconstruction- off, unless you're processing 3D renders or game captures.
Output is a single IMAGE. Feed Save Image, or a colour/sharpening pass first - the README's example is Load Image → this node → colour correction → Save Image, which is the right shape.
Install
Windows only, RTX only. The backend is an .exe, so Linux and Docker are out.
cd ComfyUI/custom_nodes
git clone https://github.com/Strix-3D/ComfyUI-DLSS5-Enhancer-v15
Or search DLSS5-Enhancer in ComfyUI Manager. Then the deps, plus the ~700MB proprietary runtime, which is not in the repo:
.\python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-DLSS5-Enhancer-v15\requirements.txt
.\python_embeded\python.exe ComfyUI\custom_nodes\ComfyUI-DLSS5-Enhancer-v15\install.py
install.py pulls the v17.5 release, checks a SHA-256, and extracts into runtime/. Restart, and the nodes appear under DLSS5_v17. Nothing goes in your models/ folder, which trips up anyone coming from normal packs.
Where people get burned
- "Could not find VE_CLI.exe." Step 2 was skipped; run
install.pyby hand. And a manual clone doesn't pip for you -imageio-ffmpegis the only listed requirement, but skip it and you'll get import errors at startup. - Opaque failures. The node captures the CLI's output and never prints stderr, so crashes read as a bare "returned non-zero exit status 1." Re-run
VE_CLI.exe render your.png -o out.pngin a terminal to see the real complaint - and unblock the exe via Properties first if SmartScreen stepped in. - 8-bit RGB only. Frames are clipped to uint8, so alpha and 16-bit precision are gone before the neural pass starts.
Last aside: the version strings here don't agree - README says a v1.1.0 update, pyproject.toml says 1.2.2, paths.py says v15.0. Trust the widgets over the changelog.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| Images | IMAGE | — | |
| NR Style | COMBO | Default | 3 options: Default, Natural, Cinematic |
| NR Intensity | FLOAT | 1.00–2 | — |
| NR Passes | INT | 11–4 | — |
| Scale | FLOAT | 2.01–16 | Scale factor. Up to 16.0 (1600%) supported in v17.5+ |
| Ray Reconstruction | BOOLEAN | false | Enable DLSS Ray Reconstruction at native resolution (1x) for high-precision color handling. |
| Pro Controlsopt | STRING | Output from DLSS5 Pro Controls node. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |