DLSS5 Enhance (Video)
One Pass Over the Whole Clip — Until Your Codec Says No
- Images
- Audio
- output_path
DLSS5 Enhance (Video) is the sensible half of this pack. It takes no tensor - it takes a file path, hands the whole video to VE_CLI.exe in one go, and returns a path to a new file plus a frame count. That's the whole point: frame-by-frame processing is how you get the boiling, shimmering look that ruins most "upscale video in ComfyUI" attempts, and this sidesteps it.
If you've been dragging frames through an image upscaler and wondering why the result crawls, this fixes the crawl.
What you're actually getting
Two stages, same as the image node, plus one extra:
- A neural pass over the whole clip - the "render" or "reconstruct" path.
- Optional RTX upscaling up to 16x, if
scale> 1.0. - Optional DLSS Frame Generation interpolation to
target_fps, RTX 40/50 only.
Be honest about which stage you want. Clip already clean, just needs to be bigger? Stage 2 is an interpolation-grade resample - the community's read on NVIDIA's super-resolution path is "more like Lanczos … not generative," a compliment on clean sources. Stage 1 invents material response and can turn a face into a slightly different face. The whole-file pass makes it temporally stable, not identity-stable.
Inputs you'll actually touch
video_path- relative to ComfyUI's input folder, or absolute inside input/output. Anything outside is rejected, which bites if your footage lives on a D: drive.scale- 1.0–16.0, default 1.0 here (the image node opens at 2.0). 1.0 cleans up the clip; 2.0 actually upscales.codec- HEVC / H264 / AV1 / ProRes Proxy, default HEVC. Think before you queue.target_fps- 0 disables it. 60 re-times a 30fps clip. RTX 40/50 only - see below.ray_reconstruction+optical_flow_quality- they travel together; optical flow does nothing unless ray reconstruction is on, and ray reconstruction is for 3D renders and game captures. No depth or motion vectors in your mp4, so for normal AI video both stay off.style/strength-Naturalat ~0.8 for footage with people. Above 1.5 the author warns about hallucinations; the widget still lets you reach 2.0.quality,container,filename_prefix,output_directory,copy_audio- encoding and housekeeping.
Outputs: output_path (STRING) and frames (INT). Feed the path into Load Video (Path) to preview, into DLSS5 Video Info for metadata, or into a second Enhance node's video_path to chain a pass. frames is re-probed from the finished file, so interpolation shows up in it.
How it works under the hood
The node validates the path, stamps a filename, and runs the CLI into a temp dir: render with style and strength, or reconstruct with --flow-quality when ray reconstruction is on. Upscale and interpolate are further CLI calls in the same folder. Then it does what the CLI alone wouldn't - shells out to ffmpeg to copy the processed video stream and the audio from your original, so the neural pass never touches your audio. That merge is why imageio-ffmpeg is in requirements.txt.
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
Then the deps and the ~700MB runtime, from your main ComfyUI folder:
.\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
Restart, look for the DLSS5_v17 category, and unblock VE_CLI.exe in runtime/ if SmartScreen quarantines it.
The traps, in order of how often they'll hit you
H264 caps at 4096px wide. The node pre-flights this against your source and refuses to run rather than letting NVENC die halfway: a 4K clip at 2x with H264 gives you an error naming the max scale you're allowed (1.0, there). Switch codec to HEVC or AV1 and 4K × 2 is fine - both go to 8192. This is the wall most people hit first.
Frame generation is a hard GPU cut. RTX 40/50 only. Set target_fps to 0 on a 20 or 30 series card, and turn on Windows hardware-accelerated GPU scheduling if you do use it.
Paths are sandboxed. "Video file not found in input or output folder" means it's relative to the wrong place or outside ComfyUI's folders. Copy it into ComfyUI/input/ and use subfolder/clip.mp4.
No ffmpeg, silent audio loss. If the merge tool isn't found, it warns and moves the file anyway. Mute output, no loud error.
One expectation, straight from the README: this reconstructs what's in the frame; it can't restore a face the source no longer has. Run a generative restore first - this is the cleanup, not the rescue.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| Video Path | STRING | Relative path to video file within ComfyUI input folder, or a linked path from another node. | |
| NR Style | COMBO | Default | 3 options: Default, Natural, Cinematic |
| NR Intensity | FLOAT | 1.00–2 | — |
| NR Passes | INT | 11–4 | — |
| Scale | FLOAT | 1.01–16 | Scale factor. Up to 16.0 (1600%) supported in v17.5+ |
| Codec | COMBO | H264 | 4 options: HEVC, H264, AV1, ProRes Proxy |
| Container | COMBO | MP4 | 3 options: MKV, MP4, MOV |
| Encoder Quality | COMBO | Auto | 4 options: Auto, Good, Best, Max |
| Target FPS | INT | 00–120 | 0 = disabled. Target FPS for DLSS Frame Generation (Requires RTX 40/50 Series). |
| Ray Reconstruction | BOOLEAN | false | Enable DLSS Ray Reconstruction for video. WARNING: Mutually exclusive with 'DLSS Super Resolution' in Pro Controls. |
| Optical Flow Quality | COMBO | Disabled | NVIDIA Optical Flow quality for Ray Reconstruction video. |
| Filename Prefix | STRING | DLSS5 | — |
| Output Directory | STRING | Relative path within ComfyUI output directory | |
| Copy Audio | BOOLEAN | true | — |
| Input FPS | FLOAT | 241–120 | Frame rate used ONLY when encoding an IMAGE batch into a temporary video. |
| Imagesopt | IMAGE | Optional: Pass an IMAGE batch (e.g. from VideoHelperSuite). The node will encode it to a temp video for flicker-free processing. | |
| Audioopt | AUDIO | Optional: Audio track to mux into the temporary video when using an IMAGE batch. | |
| Pro Controlsopt | STRING | Output from DLSS5 Pro Controls node. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output_path | STRING | — |