DLSS5 Pro Controls
The layer dials the Enhance node forgot to expose
- pro_controls
What it is
The Enhance nodes give you three personality knobs - style, intensity, passes - and a scale multiplier. That's the front page of the DLSS 5 Visual Enhancer app. This node is the settings tab behind it: local tone and structure strength, the automatic skin mask and how hard it bites, and the in-render DLSS Super Resolution stage with its mode and model preset.
None of it is new rendering. It's the author exposing controls the CLI already had, which is why it's a separate node instead of more clutter on Enhance. Remember what DLSS 5 is, though: a trained reconstruction model that recovers material and lighting detail the source only implied. The demo ran on one GPU running the game and a second one filtering it, and the honest community read is a reconstruction pass, not a style filter you can dial into looking like anything.
That reframing matters for how you use this node. These dials change how much structure gets re-invented where, not what it invents.
How it works
It's a chain starter. Unlike the other two control nodes, it has no pro_controls input - it builds a fresh preset object (schema_version 38, the format the CLI accepts), writes local_tone_strength, local_structure_strength, automatic_mask, skin_structure_strength, and - only when Super Resolution is switched on - upscale_image_dlss_mode, upscale_image_dlss_preset, upscale_dlss_mode, upscale_dlss_preset, plus the dlss_super_resolution stage flag.
Output is a single pro_controls STRING. Wire it into DLSS5 Color Enhancement or DLSS5 Sharpening & Grain, or straight into the Enhance node's own Pro Controls socket if you want nothing else.
The inputs that matter
Every widget here is optional, which reads as "safe defaults, tweak what you need". Four are worth understanding:
- Automatic Mask (default on) - targets skin enhancement to detected skin regions. This is the single most consequential toggle on the node. Turn it off and the skin-detail pass stops being a skin pass.
- Skin Structure Strength - how much detail gets laid into those masked regions. It only does anything when Automatic Mask is on; the tooltip says so and the code confirms it's just a key in the preset.
- Local Tone Strength / Local Structure Strength - both 0 to 1, both default 1. Tone is the local contrast/tonemapping behaviour; structure is the local detail recovery. Pulling structure down is the civilised way to make the render stop being busy before you start throwing intensity around.
- DLSS Super Resolution (default off) with its DLSS Mode and DLSS Preset - DLAA/native, 1.5x Quality, 1.724x Balanced, 2x Performance, 3x Ultra Performance, and model presets Default/J/K/L/M (M by default).
The pack README's realistic-faces recipe is NR Style Natural with NR Intensity around 0.8 on the Enhance node, Auto Mask on here. For portraits that beats any amount of local strength.
The interactions that will confuse you
Mode and Preset are silent no-ops with Super Resolution off. Both are only written into the preset when the toggle is on. Set mode to 3x, leave SR off, and nothing happens - no warning. If you're fiddling with DLSS Mode and seeing zero difference, that's why.
Do not run SR and the Enhance node's Scale at the same time. The tooltip spells it out: keep Enhance Scale at 1.0 when using in-render SR. Otherwise you stack the in-render DLSS stage on top of the RTX upscale pass and pay for two upscalers to argue with each other. Pick one: in-render SR for a clean single-pass chain, the Enhance Scale flag for a plain multiplier up to 16x.
SR and Ray Reconstruction are mutually exclusive for video - the pack's own warning. If you're doing 3D or RTX captures through reconstruct, leave this node's SR off.
Install
Nothing extra: it's node six of eight in the pack, category DLSS5_v17. If you haven't installed the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/Strix-3D/ComfyUI-DLSS5-Enhancer-v15
.\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
Then restart. The runtime step pulls ~700MB into runtime/ and prompts for license acceptance; you need RTX 20-series or newer and Windows. The three control nodes will load without it, but they're dead weight until Enhance can find VE_CLI.exe.
Upgrading from v1.1.x
The pack's own notice is blunt: v1.3.0 renamed widgets and split the old monolithic controls into Pro Controls, Color Enhancement and Sharpening & Grain. Old workflows need rebuilding, not loading-and-fixing. If you're chasing a graph that looks subtly broken, that's usually the reason.
And the classic one: a muted control node contributes nothing at all. The settings vanish silently, so check for a faded node before you go hunting through the preset JSON.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| Local Tone Strengthopt | FLOAT | 1.000–1 | Local tone intensity (local_tone_strength). Range 0.0-1.0. |
| Local Structure Strengthopt | FLOAT | 1.000–1 | Local structure intensity (local_structure_strength). Range 0.0-1.0. |
| Automatic Maskopt | BOOLEAN | true | Mirrors the app's Auto Mask toggle. When ON, skin enhancement is targeted to detected skin regions. |
| Skin Structure Strengthopt | FLOAT | 1.000–1 | Skin structure detail (skin_structure_strength). Only active when Automatic Mask is ON. |
| DLSS Super Resolutionopt | BOOLEAN | false | Enable the in-render DLSS Super Resolution stage. Keep the Enhance node's scale at 1.0 when using it. |
| DLSS Modeopt | COMBO | 1x (DLAA / native) | DLSS render scale mode. Only written when DLSS Super Resolution is ON. |
| DLSS Presetopt | COMBO | M | DLSS model preset. Only written when DLSS Super Resolution is ON. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| pro_controls | STRING | — |