Nodes/AetherScale/AetherScale • Neural Rendering
ComfyUI Node

AetherScale • Neural Rendering

DLSS 5 Neural Rendering inside ComfyUI — very cool, very experimental

By vizart-vj·Created about a month ago·Updated 26 days ago· 82
AetherScale • Neural Rendering
  • images
  • motion
  • image
  • stats
◄styleauto►
◄strength0.75►
◄local_tone1.00►
◄local_structure1.00►
◄skin_structure1.00►
◄reset_on_scene_cuttrue►
◄history_frames2►
◄safety_margin_mb2048►
◄cuda_device0►
◄effect_cachesingle►
◄cuda_streamcurrent►
◄memory_policyperformance►
◄vram_guardauto►
◄min_free_vram_mb2048►
◄output_devicecpu_safe►
◄auto_bootstraptrue►
◄preset3►
◄auto_maskfalse►
◄channel_orderauto►
◄runtime_path►
◄temporal_mode_overridelegacy_auto►
◄output_precisionauto►
◄output_storageauto►
◄clean_cachetrue►
◄backendnative_interop►
◄upscale_modenative_1x►
◄motion_sourceauto►
◄carrier_warmup_frames120►
◄carrier_scene_cut_threshold0.24►
◄carrier_gpuwindows_high_performance►
◄native_chunk_frames8►
◄native_scene_change_threshold0.24►
◄native_fallbackcarrier►

This is the node the whole pack is dressed around, and it deserves the hype and the caveats in equal measure. AetherScale's Neural Rendering node applies NVIDIA's DLSS 5 "Neural Rendering" to your own frame batches - upscaling and enhancement driven by the same neural-rendering family that made the RTX 50-series launch trailers, but running as a ComfyUI node on whatever RTX card you point at it. The pack author's own version history is the tell: DLSS 5 support arrived in 0.4.x, got re-architected in 0.5.0 into a "carrier" design, and the README is frank that it's experimental, hardware/driver/runtime-dependent, and expected to evolve. Treat it like a frontier demo you can run, not a stable production tool.

How it works

There are two backends. The default, backend = carrier, bootstraps a pinned third-party DLSS 5 "visual enhancer" release (Merserk/dlss5-visual-enhancer v1.0) - downloaded at runtime, verified against a hard-coded SHA-256 before anything is extracted, and run through a D3D12 worker. That's the key architectural detail: the carrier path follows Windows' graphics adapter routing (the pack even sets a per-app "High Performance" GPU preference), not PyTorch's CUDA device index. The legacy_direct backend, which calls the raw DLSS feature directly, is retained only for diagnostics and reproducibility - the README is explicit that it's not the recommended path. The temporal motion packet from Motion Analysis feeds the whole thing so the neural rendering knows what moved and where shots cut.

The inputs that actually matter

  • images + motion - the frame batch and its matching motion packet. Motion packet resolution must equal the input resolution or the node throws a hard error.
  • upscale_mode - start at native_1x (the default) to validate the whole path works before you try quality_1_5x, balanced_1_724x, performance_2x, or ultra_performance_3x. This is genuinely the README's advice and it's good advice - a broken pipeline at 1x costs you nothing to discover.
  • backend - leave carrier. legacy_direct is for debugging and reproducing old experiments.
  • style - auto picks natural; the named looks and raw preset numbers map onto the runtime.
  • strength, local_tone, local_structure, skin_structure - the creative dials, all defaulting to neutral-ish values.
  • carrier_warmup_frames (default 120) - lets the carrier settle before you judge its output; lower it to test faster, raise it for long takes.
  • clean_cache - the mmap-cleanup switch from Super Resolution, same semantics here.

Outputs are image and a stats JSON. The stats also carry a compatibility_contract field noting which workflow schema the node honors - that's the pack protecting older saved graphs.

Installing it

Same as the rest of the pack: Manager → search AetherScale, or clone into custom_nodes and restart. First Neural Rendering run downloads the carrier archive (and the NVIDIA VFX runtime) - internet required, and it's hash-verified, so a failed download just errors out cleanly rather than running something unverified. No runtime DLLs ship inside the Git repo.

The reality check

Primary target is RTX 50-series hardware for the stock Neural Rendering runtime; whether older generations work depends on which runtime path you land on. When it doesn't work, the author's bug-report checklist is your template: GPU model, driver version, AetherScale version, the full ComfyUI traceback, and the stats output. Get that collection before you post anywhere - it's exactly the info that turns "doesn't work" into "fixed in 0.5.6." And if Neural Rendering is a no-go on your card, don't write the pack off: the Super Resolution and Restoration nodes are the stable, practical half and need none of this.

CategoryAetherScale/Neural

Inputs (35)

NameTypeDefaultDescription
imagesIMAGE—
motionAETHERSCALE_MOTION—
styleCOMBOauto9 options: auto, natural, cinematic, material_detail, default, 3, +3
strengthFLOAT0.750–2—
local_toneFLOAT1.000–2—
local_structureFLOAT1.000–2—
skin_structureFLOAT1.000–2—
reset_on_scene_cutBOOLEANtrue—
history_framesINT20–8—
safety_margin_mbINT2048256–16384—
cuda_deviceINT00–0—
effect_cacheCOMBOsingle3 options: single, persistent, none
cuda_streamCOMBOcurrent2 options: current, dedicated
memory_policyCOMBOperformance3 options: performance, balanced, aggressive
vram_guardCOMBOauto3 options: auto, release_models, preserve_models
min_free_vram_mbINT20480–24576—
output_deviceCOMBOcpu_safe2 options: cpu_safe, same_as_input
auto_bootstrapBOOLEANtrue—
presetoptINT30–3—
auto_maskoptBOOLEANfalse—
channel_orderoptCOMBOauto3 options: auto, RGBA, BGRA
runtime_pathoptSTRING—
temporal_mode_overrideoptCOMBOlegacy_auto4 options: legacy_auto, scene_cut_aware, temporal_sequence, still_images
output_precisionoptCOMBOauto3 options: auto, float16, float32
output_storageoptCOMBOauto3 options: auto, mmap, ram
clean_cacheoptBOOLEANtrue—
backendoptCOMBOnative_interop3 options: native_interop, carrier, legacy_direct
upscale_modeoptCOMBOnative_1x5 options: native_1x, quality_1_5x, balanced_1_724x, performance_2x, ultra_performance_3x
motion_sourceoptCOMBOauto4 options: auto, connected_motion, internal_dis, zero_motion
carrier_warmup_framesoptINT1200–240—
carrier_scene_cut_thresholdoptFLOAT0.240.01–1—
carrier_gpuoptCOMBOwindows_high_performance1 options: windows_high_performance
native_chunk_framesoptINT81–128—
native_scene_change_thresholdoptFLOAT0.240.01–1—
native_fallbackoptCOMBOcarrier3 options: carrier, legacy_direct, error

Outputs (2)

NameTypeDescription
imageIMAGE—
statsSTRING—