Nodes/ComfyUI-Continuity/Continuity Neural Refine (DLSS 5)
ComfyUI Node

Continuity Neural Refine (DLSS 5)

NVIDIA's DLSS 5 as a ComfyUI node — the material pass that isn't an upscaler

By roadmaus·Created about a month ago·Updated about 23 hours ago· 82
Continuity Neural Refine (DLSS 5)
  • image
  • mask
  • IMAGE
profilestandard
processing_scale1.00
detail_strength1.25
colour_strength0.00
intensity1.00
precisionreference
historytrue
frame_index0

Sounds like bait: NVIDIA's DLSS, the thing your GPU quietly uses to make games look sharp, sitting inside a ComfyUI node that re-draws skin and hair. It's real. Continuity Neural Refine (DLSS 5) is the standalone image surface for the DLSS 5 neural renderer that travels with the roadmaus/ComfyUI-Continuity pack - IMAGE in, IMAGE out, same size out.

The first thing to unlearn is the name. This is not an upscaler. Resolution in equals resolution out, and that's deliberate: the port that got DLSS out of the game measured the Super Resolution half and left it behind, because without a game's motion vectors it loses to plain Lanczos. What the network actually answers is material - skin, hair, fabric, contact shadows, subsurface. It's a re-draw pass that sits next to the classic FaceDetailer/hi-res-fix loop without running diffusion at all. Reach for it when a figure render comes back too smooth or plastic, when the texture reads painted-on rather than lit. Trained on game frames with heavy supervision on people, it's strong on faces and figures and genuinely odd on flat, graphic, abstract work - don't expect it to rescue a logo.

You don't need the rest of the Continuity pack's creator to use it. Drop it after any image in any graph. The pack also writes this same node into pre-stage still renders by itself when you switch the DLSS 5 pill on, so the standalone version you place by hand behaves identically to the automated one.

Where the weights come from

Nothing of NVIDIA's ships with this pack, and that's the whole legal posture. The weights live inside nvngx_dlssnr.dll (file version 310.8.0.0), which NVIDIA distributes with its Streamline SDK and with games that carry DLSS 5. The open-source MLX-DLSS port is vendored inside the pack; you supply the DLL. On the settings page, under Neural refiner, point the box at your DLL, press Check (it hashes the file against the supported build), then press Extract weights. That runs upstream's extraction locally and writes models/dlss/dlssnr-weights-logical.safetensors. Nothing is downloaded at any step - which is why "not ready" means "extract the weights," never "find a download." The network pads your frame to a 64-multiple of at least 320, runs, and brings the result back at the original size. Its noise is deterministic and seeded by frame_index, so the same picture at the same index gives the same answer - handy when you're A/B-ing settings.

The inputs that matter

  • profile - standard, natural, and cinematic nudge the model's style index. neutral is a trap in disguise: it turns the model's local tone and structure off, so it changes almost nothing. It's an off switch, not a style.
  • detail_strength - how much of the model's high-frequency change you keep. 1 is the model's own answer; the default is 1.25. Past about 2 the pass stops describing material and starts inventing it - waxy skin, embossed brick, blue-orange fringes on lit edges.
  • colour_strength - the low-frequency tone half, and the default of 0 is a genuine finding from this pack, not a typo. At 1 the colour half behaves like a grade: it darkens skin, flattens knitwear, muddies brick. At 0 the tone is left alone and the material work survives.
  • intensity - the blend of the refined picture over the source. 1 is full.
  • processing_scale - runs the network on the picture resampled by this factor and brings it back. Finer material past 1, and VRAM grows with the square. Ignored on a batch with history on, which always runs at 1.
  • precision - reference is float32 and matches the driver to within 0.005 MAE; fast is float16 and halves the memory. That's a real trade if you're tight on VRAM.
  • history and frame_index - matter only for batches. A clip with history on is refined as a sequence, the previous frame's result carried through optical flow so the video doesn't boil. Off, every frame refines on its own.
  • mask (optional) - where to refine, per pixel: 1 is full strength, 0 leaves the source untouched. Needs processing_scale at 1.

Install and the gotchas

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

Then restart ComfyUI. There's nothing to pip install. If you came from ComfyUI Manager, search "Continuity" - and if you already had the pack's old name (ComfyUI-MiniMax-Creator), pull, don't clone. Two folders of this pack register the same node ids and you get no node in search at all.

Two things bite people. First, memory: roughly a gigabyte of VRAM per megapixel at float32, half in fast precision - and processing_scale multiplies it by its square. The pack prints an estimate before it runs, and that estimate is the thing that saves you from OOM-ing three minutes into a clip. Second, expectations: on a plain portrait it can look like a small miracle, on flat graphic work it does next to nothing useful. It's a material pass, not a universal polish button - and it's not trying to be.

CategoryContinuity

Inputs (10)

NameTypeDefaultDescription
imageIMAGE
profileCOMBOstandardThe model's own style presets. Standard is what the driver runs; natural and cinematic move its style index; neutral switches the local tone and structure off.
processing_scaleFLOAT1.001–4Run the network on the picture resampled by this factor and bring the result back. Finer material past 1, and memory grows with the square. Ignored on a batch with history on, which runs at 1.
detail_strengthFLOAT1.250–4How much of the model's high-frequency change is kept. 1 is its own answer.
colour_strengthFLOAT0.000–2How much of the model's low-frequency change — tone and colour — is kept.
intensityFLOAT1.000–1The blend of the refined picture over the source.
precisionCOMBOreferenceReference is float32 with the driver's own rounding points and matches it to 0.005 MAE; fast is float16 on the GPU and halves the memory.
historyBOOLEANtrueOn a batch, carry each frame's result into the next through optical flow and the model's learned blend, so a clip does not boil. Off refines every frame on its own.
frame_indexINT00–2147483647Seeds the model's deterministic noise; frames of a batch count up from it. The same picture at the same index is the same answer.
maskoptMASKWhere to refine, per pixel. 1 is full strength, 0 leaves the source untouched. It drives the model's blend, tone and structure together. Needs the processing scale at 1.

Outputs (1)

NameTypeDescription
IMAGEIMAGE