✨ Video Adaptive Anti-Aliasing
The cheap fix for shimmering, crawling edges in video
- images
- IMAGE
Aliasing is that shimmer you get on fences, hair, and thin wires in generated video - the edges crawl and flicker frame to frame because the model drew them at a resolution the grid can't quite hold. Most people try to fight it by generating bigger or adding sharpening, which makes it worse. Video Adaptive Anti-Aliasing is the node that actually fixes it, and it's the simplest, cheapest node in the SOLRICKS pack: no model, no weights, no VRAM pressure - just per-frame math.
It's an FXAA-style edge-directed blur. It finds edges with a Sobel filter on the luma channel, builds a mask of "these pixels are on an edge," and blends in a slightly blurred version only there. Flat areas like skin and sky are left untouched, so you lose aliasing without smearing the whole frame into Vaseline. The mask is clamped so you never get the negative pixel values / color-burst artifacts that naive implementations produce - the author's own selling point, and it holds up.
The inputs
Only four, and two of them you'll barely touch:
- images - your IMAGE batch. Works on a single frame or a full clip.
- strength (0–2, default 1) - overall blend of the cleaned edges over the original.
- edge_threshold (0–1, default 0.1) - how strong an edge has to be before it gets treated. Raise it for soft, smooth footage where you don't want detail touched; lower it if aliasing still crawls.
- blur_radius (0–3, default 1) - the blur kernel: 1 → 3×3, 2 → 5×5, 3 → 7×7. Larger is smoother but softer.
Set strength to 0 or blur_radius to 0 and the node just passes the input through untouched, which is handy for A/B testing a preset.
Where it sits
The output is the same-size IMAGE it received, alpha included. It's designed as a front-of-chain pass: run it right after VAE decode and before heavier cleanup like the pack's Video Detail Refiner or Video CinematicFX, then out to your video encoder. Because it has no temporal coupling - each frame is processed independently - it can't introduce ghosting, and it's genuinely fast even on long clips. That's also its limitation: it trades a little edge sharpness for clean edges, so don't crank blur_radius looking for a "sharpening" effect. It removes aliasing; it doesn't add detail. If your footage is soft, pair it with a detail pass afterward.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/SOLRICKS/comfyui-solricks
or ComfyUI Manager → search SOLRICKS / "Anti-Aliasing Pack", then restart. No Python dependencies, and unlike the pack's other nodes it needs no model files at all - the whole thing is a few hundred lines of torch.
One heads-up so a stale workflow doesn't throw you: this node started life as the "Video Adaptive Anti-Aliasing" node that MSXYZ-GenAI announced on r/comfyui under the comfyui-msxyz pack, and it's now maintained under SOLRICKS. If you open an old graph and see custom_nodes.comfyui-msxyz in the metadata, that's the same lineage - ComfyUI loads nodes by class name, so VideoAdaptiveAA still resolves either way.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| strength | FLOAT | 1.00–2 | — |
| edge_threshold | FLOAT | 0.100–1 | — |
| blur_radius | INT | 10–3 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |