Nodes/h4_Live/h4 - Pixel Press
ComfyUI Node

h4 - Pixel Press

The anti-aliasing cheat that actually works

By m3rr·Created 9 months ago·Updated 10 days ago· 1
h4 - Pixel Press
  • image
  • upscale_model
  • pressed_image
supersample_scale2x
upscale_by1.00
upscale_methodlanczos
sharpness0.3
enable_hdrfalse
tiled_processingtrue
hdr_intensity0.5
shadow_intensity0.25
highlight_intensity0.75
gamma_intensity0.00
contrast0.10
enhance_color0.25
tile_size512

Aliasing is the enemy of clean pixels. Those jagged edges, that moiré in fine patterns - they happen because your image has fewer samples than the detail it's trying to represent. The classic fix is supersampling: render bigger, then shrink. The h4 - Pixel Press automates exactly that pipeline in one node: upscale your image, enhance it while it's big, then downscale to your target size. It's ComfyUI's closest thing to an SSAA (super-sampling anti-aliasing) node, and it sits in h4_Live's image family as "the sharpener."

How it works

The pipeline is upscale → enhance → downscale. First it supersamples the image by supersample_scale (2x, 3x, or 4x). Then it applies the enhancement stack while the image is at full size - that's where enable_hdr, sharpening, contrast, and color enhancement do their work, with tiled_processing splitting large images into tiles so the HDR pass doesn't blow up your VRAM. Finally it downsizes to your real target, set by upscale_by (a multiplier of the original, so 1.0 returns you to the source resolution - just with cleaner edges).

That last detail is the heart of it. If you just wanted a bigger image you'd use an upscaler; Pixel Press is about making the same size image look better. upscale_by below 1.0 even works as a downscaler, which is handy for squashing a 2x render down to a web-friendly size without introducing new aliasing.

The inputs that matter

  • supersample_scale - how big to go internally. 2x is the sweet spot for most work; 4x is slower and hungrier for marginal gains.
  • upscale_by - final output multiplier. 1.0 = same size, cleaner. Above 1.0 you're also upscaling.
  • enable_hdr + tile_size - HDR tone mapping adds pop; if you hit out-of-memory, drop tile_size (default 512) before anything else.
  • upscale_model - optional. Plug in a proper model-based upscaler (like an ESRGAN) for the supersample stage instead of pure interpolation. That turns it from "sharper same-size" into "details rebuilt," at the cost of speed.
  • upscale_method - interpolation method: lanczos is the sharp general-purpose pick.

One output: pressed_image.

Installing it

Part of h4_Live:

cd ComfyUI/custom_nodes
git clone https://github.com/m3rr/h4_Live
# restart ComfyUI

or ComfyUI Manager → search "h4_Live." No extra dependencies.

Where it can bite you

Supersampling is honest work but it's not magic: it can't add detail that isn't in the source, it just preserves more of what's there. If your image is soft, you'll get a soft image with fewer jaggies - for actual new detail you want the upscale_model route or a generative upscale pass entirely. Watch the HDR too; hdr_intensity above 1.0 on a high-key image will bleach highlights, so start low. And tiled processing has a small quality cost at tile boundaries on very fine detail - drop tile_size for VRAM, but know that's the trade. For the common case - "make my 1024 render look less crunchy at the same size" - it's the right tool, and the one h4_Live node you'd reach for without a second thought.

Categoryh4_Live/Image

Inputs (15)

NameTypeDefaultDescription
imageIMAGE
supersample_scaleCOMBO2x3 options: 2x, 3x, 4x
upscale_byFLOAT1.000.1–8Final output multiplier.
upscale_methodCOMBOlanczos5 options: lanczos, nearest-exact, bilinear, area, bicubic
sharpnessFLOAT0.30–2
enable_hdrBOOLEANfalse
tiled_processingBOOLEANtrue
hdr_intensityFLOAT0.50–5
shadow_intensityFLOAT0.250–1
highlight_intensityFLOAT0.750–1
gamma_intensityFLOAT0.000–1
contrastFLOAT0.100–1
enhance_colorFLOAT0.250–1
upscale_modeloptUPSCALE_MODEL
tile_sizeoptINT512256–2048Tile size for HDR processing. Lower if OOM.

Outputs (1)

NameTypeDescription
pressed_imageIMAGE