Nodes/ComfyUI-SOLRICKS/✨ Video Detail Refiner
ComfyUI Node

✨ Video Detail Refiner

Put back the detail your video model forgot

By SOLRICKS·Created 5 months ago·Updated about a month ago· 23
✨ Video Detail Refiner
  • images
  • IMAGE
preset
detail_strength1.00
texture_strength1.00
temporal_stability1.00

You know the feeling: LTX or Wan finally gave you a take that moves right, and then you watch it back and the hair is mush, the fabric is flat, the wires are smudged. That's not you doing it wrong - it's baked into how these models render, and it's the most common complaint in the LTX threads (my favorite summary: "the details are really low even after the upscale pass"). The classic response is to re-roll with more steps. The cheaper response is to fix it in post, and that's exactly what Video Detail Refiner is for.

It's the detail pass from the SOLRICKS video anti-aliasing pack, and it slots in at the very end of a video workflow: VAE decode → VideoTAADLAA (the pack's anti-aliasing node, if you want it) → this → your video encoder. It's a 1x refinement node - it does not add pixels. The name "DLAA" in the pack makes people assume NVIDIA magic; per the README there's no closed SDK or native DLAA/DLSS binary here, just PyTorch tensor surgery that was trained in the style of it.

How it works

Under the hood it's several passes stacked: a classical detail pass (an unsharp-style residual gated by Sobel edge detection), micro-contrast, fine-line recovery for thin edges, and a dehalo step - then an optional learned pass from the shipped DLAATexture.safetensors model, followed by a chroma guard and, for video, temporal stabilization. That last bit is the important one: it blends detail across frames only where motion is low, and suppresses detail in moving regions, which is what keeps it from adding shimmer and ghosting instead of removing them. It runs tiled with a VRAM-based tile size and retries smaller tiles if it hits OOM, so an 8 GB card still works - it just uses 512px tiles.

The inputs that matter

  • preset - your starting point: Photo for stills, Video Balanced for most clips, Video High Detail for hair/fur/wires/fabric, Soft for a safer smoother pass, Performance for fast previews.
  • detail_strength / texture_strength / temporal_stability - three 0–2 floats (default 1) that scale the preset's built-in tuning. detail_strength is the one you'll actually touch; texture_strength controls how much the model pass contributes (drop it to 0 to skip the model entirely); temporal_stability blends detail across frames.
  • images - an IMAGE batch. One still or a whole frame stack, it doesn't care.

A nice touch: the node auto-senses what you fed it. A single image forces Photo tuning, and if you run Photo on a video it quietly falls back to Video Balanced so temporal stabilization stays on. Old workflow names like "Balanced" or "High Detail" are aliased to the current presets, so legacy graphs don't break.

Install and gotchas

ComfyUI Manager → search SOLRICKS (or "Anti-Aliasing Pack"), or:

cd ComfyUI/custom_nodes
git clone https://github.com/SOLRICKS/comfyui-solricks

Restart ComfyUI. There are no extra Python dependencies, and both models (DLAANet.safetensors, DLAATexture.safetensors, ~5 MB each) ship inside the repo - nothing to download, no model folder to get wrong. It's Manager-verified and MIT licensed.

The gotchas: it's not an upscaler, so feed it the resolution you intend to keep. The model pass only runs when texture_strength is above zero - the Performance preset disables it entirely for quick previews and low-VRAM boxes. And it's a frame loop, so on a long 24fps clip it takes real seconds; use Performance or Soft while iterating and switch to Video High Detail for the final render. Output is the same size IMAGE it got, with alpha preserved, so it drops straight into whatever you use to save or combine video.

CategoryCustomPostProcess

Inputs (5)

NameTypeDefaultDescription
imagesIMAGE
presetCOMBO5 options: Photo, Video Balanced, Video High Detail, Soft, Performance
detail_strengthFLOAT1.000–2
texture_strengthFLOAT1.000–2
temporal_stabilityFLOAT1.000–2

Outputs (1)

NameTypeDescription
IMAGEIMAGE