Nodes/AetherScale/AetherScale • HDR
ComfyUI Node

AetherScale • HDR

The 'HDR' is a stretch — but it's a seriously good CUDA tone boost

By vizart-vj·Created 11 days ago·Updated 11 days ago· 76
AetherScale • HDR
  • image
  • image
  • stats
qualityhigh
mode_profilebalanced
strength0.75
saturation1.00
contrast1.00
highlight_preservation0.75
cuda_device0
effect_cachesingle
cuda_streamcurrent
memory_policyperformance
vram_guardauto
min_free_vram_mb2048
output_devicecpu_safe
auto_bootstraptrue

Let's get the honest part out first, because the node title oversells. This is not HDR mastering. It produces a normal ComfyUI IMAGE tensor with no HDR10/PQ metadata attached - it's a GPU-accelerated tone-and-color enhancer that makes SDR footage look punchier and more high-dynamic-range. The author is upfront about why: NVIDIA's Video Effects SDK doesn't expose a public HDR effect yet, so AetherScale ships a CUDA-native "HDR-style" enhancer instead, and it's wired to auto-switch to a native VFX HDR path only if a future runtime build exposes one. Call it what it is: a clever per-pixel tone map with a fancy name.

Which is still genuinely useful. AI video comes out of the sampler looking flat - that's a standing complaint in every pipeline discussion, and the usual answer is a gamma curve, some saturation, and a film grain pass. This node does the first two jobs in CUDA, streaming frame by frame, with a highlight-preservation control that plain color nodes don't have.

How it works

Frame-streamed CUDA enhancer - pairs of frames in, toned frames out, no giant batch parked on VRAM. Four mode_profile looks: balanced (default), cinematic, punchy, and natural. Under those sit the real dials: strength, saturation, contrast, and highlight_preservation. Saturation and contrast default to 1.0 (neutral); strength sits at 0.75 and highlight_preservation at 0.75 too - that last one is the knob you'll actually care about, because it's what keeps a restored clip's skies from blowing out when you push contrast into them.

The inputs that matter

  • mode_profile - pick a look, then barely touch the others. cinematic gives the lifted-shadows film grade; natural is the one to reach for on archival footage you don't want to stylize.
  • strength - overall amount. Most runs live between 0.5 and 1.0; pushing toward 2.0 is where things get radioactive.
  • highlight_preservation - raise it when bright areas clip.
  • quality - ultra/high/medium/low; on a weaker card medium is a cheap way to test a look before committing to ultra.

It outputs image plus a stats JSON string, like the rest of the pack's enhancement nodes. The remaining required inputs are the shared AetherScale runtime block (cuda_device, effect_cache, cuda_stream, memory_policy, vram_guard, min_free_vram_mb, output_device, auto_bootstrap) - the defaults are fine, leave them.

Installing it

ComfyUI Manager → search AetherScale, or:

cd ComfyUI/custom_nodes
git clone https://github.com/vizart-vj/ComfyUI-AetherScale.git

Then restart. Windows + RTX card + current driver + Python 3.10+. First run downloads the NVIDIA nvidia-vfx runtime into the pack's own vendor/ folder - internet needed once, and it can look like a hang while it happens.

Where people trip up

The biggest trap is expecting actual HDR. Don't run this node, save the output, and wonder why it doesn't play back as HDR10 on your TV - there's no metadata because that's not what it does. Its real home in a video workflow is as a finishing pass after restoration and upscaling: restore, upscale, then grade. If you only need a single gamma or LUT adjustment on a still image, a plain color node costs nothing and runs on any GPU - this one earns its keep on frame batches, where the CUDA streaming and highlight handling pay off. If colors come out weird after a driver update, run AetherScale • Runtime with clear_effect_cache and rerun before you suspect the node itself.

CategoryAetherScale/HDR

Inputs (15)

NameTypeDefaultDescription
imageIMAGE
qualityCOMBOhigh4 options: ultra, high, medium, low
mode_profileCOMBObalanced4 options: balanced, cinematic, punchy, natural
strengthFLOAT0.750–2
saturationFLOAT1.000–2
contrastFLOAT1.000–2
highlight_preservationFLOAT0.750–2
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

Outputs (2)

NameTypeDescription
imageIMAGE
statsSTRING