IAMCCS Cine-PP AntiAlias 1:1 (legacy)
Edge-aware AA so your video doesn't look like jaggies on a CRT
- images
- images
- report
IAMCCS_CineUTAntiAlias is a post-production anti-aliasing pass for image batches and video frames - the thing you run after VAE decode, before you combine and save, when edges shimmer and hair looks stairstepped. It's labeled legacy ("Cine-PP AntiAlias 1:1"), meaning it's the same algorithm as the current IAMCCS_CinePPAntiAlias with the older name kept for backward compatibility, so anything you learn here transfers.
The key word is edge-aware. A naive blur smooths the whole frame and your footage looks soft. This node detects edges with Sobel-style gradient filters and only cleans up around them, with separate controls for how much you blur, how much you protect actual detail, and how much you stabilize the result across frames - so the AA doesn't flicker from one video frame to the next, which is the failure mode that makes video look worse than the original.
How it works
The mechanism is a per-frame (or chunked, for video) edge extraction: compute edge strength from the luminance gradient, feather the treatment at edge boundaries so you don't get a hard "halo" line, blur along edges, then re-inject protected detail and do optional chroma cleanup for the red/blue fringing that video VAEs love to leave on high-contrast edges. temporal_stability spreads the treatment across consecutive frames so edges stay put instead of dancing.
You almost never tune this by hand. The preset dropdown does the work: Auto, Preview, Light, Balanced, Strong, Crisp Lines, Low VRAM. The presets map to real values - e.g. Balanced is edge threshold 0.10, radius 1, temporal 0.12, detail protection 0.50 - and the pack's own web UI keeps the widget values in sync with the chosen preset, so switching presets visibly rewrites the manual sliders. Negative sentinel values (-1) mean "let the preset/auto decide," which is why the manual fields default to -1 instead of a number.
Inputs and outputs
Inputs: images plus preset, hardware_mode (auto/low_vram/balanced/quality/cpu_safe), aa_strength (0–2, overall intensity), edge_threshold, blur_radius (0–4), temporal_stability, detail_protection, chroma_cleanup, and max_frames_per_chunk (0 = process all at once; raise only if you're OOMing on long clips). Outputs: the processed images and a report JSON with what it did.
The few worth knowing by name: aa_strength is your master intensity if a preset is close but too strong; max_frames_per_chunk is the Low-VRAM lever; everything else is preset territory until a specific shot misbehaves.
Installing it
Part of the IAMCCS-nodes pack. ComfyUI Manager → search IAMCCS, or:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart ComfyUI; it appears under IAMCCS/Cine-PP/Postproduction. No extra dependencies, no model files - it's pure torch ops on the frames you feed it. README floor: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8.
Where people get burned
- Running it on a batch that's larger than VRAM with
max_frames_per_chunkat 0. Set 2–4 for long clips; the "Low VRAM" preset does this for you. - Cranking
blur_radiusto 4 and wondering why detail died. This is a 1:1 post pass, not a fixer - if a frame is genuinely soft, AA won't restore it; if it's merely aliased,BalancedthroughStrongis the sane range. - Expecting it to fix temporal flicker it wasn't asked to:
temporal_stabilitydefaults to auto via the preset, and onPreviewit's essentially off. For final video use, at leastLightorBalanced.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| preset | COMBO | Auto | 7 options: Auto, Preview, Light, Balanced, Strong, Crisp Lines, +1 |
| hardware_mode | COMBO | auto | 5 options: auto, low_vram, balanced, quality, cpu_safe |
| aa_strength | FLOAT | 1.000–2 | — |
| edge_threshold | FLOAT | -1.00-1–1 | — |
| blur_radius | INT | 00–4 | — |
| temporal_stability | FLOAT | -1.00-1–0.75 | — |
| detail_protection | FLOAT | -1.00-1–1 | — |
| chroma_cleanup | FLOAT | -1.00-1–1 | — |
| max_frames_per_chunk | INT | 00–128 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| report | STRING | — |