Nodes/Snap Style Nodes for ComfyUI/Low Quality Digital Look
ComfyUI Node

Low Quality Digital Look

Make Your AI Photos Look Like They Came From a 2004 Digicam

By SignalCha1n·Created about a year ago·Updated about a year ago· 4
Low Quality Digital Look
  • image
  • IMAGE
presetStandard Snap Low Light
effect_level0.50
seed0

Here's a confession the AI-photography community has been leaning into for a while: the least convincing AI photos are the ones that look too perfect. Too-clean skin, no grain, no compression. The digicam aesthetic - that washed-out, noisy, JPEG-mangled look of an early-2000s point-and-shoot - is genuinely in demand, and people chase it with LoRAs trained on real Sony Mavica shots. LowQualityDigitalLook does the same thing procedurally: no model download, no training, just grain and compression math applied to whatever image you already have. If you've been staring at a too-smooth render and thinking "this needs to look like it was shot in a low-lit kitchen in 2004," this is the node.

How it works

It's a two-stage fake, and it's a good fake because it mimics how real digicam files were actually ruined. First it adjusts color and brightness, then it dumps Gaussian noise on top, then it re-encodes the image through PIL's JPEG encoder at a low quality - which is exactly how real compression artifacts get baked in. The "Early 2000s Digital" preset even forces 4:2:0 chroma subsampling, the thing that gives old JPEGs those smeared color edges.

Every parameter interpolates between "no effect" and "max effect" with effect_level as the dial. A few landmarks from the source so the scale makes sense:

  • 0.0 - original image, returned untouched.
  • 0.5 (default) - the standard look for your chosen preset.
  • 1.0 - about 2.5× the base noise and JPEG quality dropped into the teens. Rough.

The two presets differ in how aggressive they are: "Standard Snap Low Light" is moderate (JPEG quality ~70, mild noise, slight brightness dip), "Early 2000s Digital" is harsher (JPEG quality ~50, more noise, subsampling artifacts).

The inputs you'll actually set

  • preset - pick your era. "Standard Snap Low Light" is the safe first try; "Early 2000s Digital" for the crunchy look.
  • effect_level - the whole game is here. Start at 0.5, nudge down if it's too dirty.
  • seed - seeds the noise so your output is reproducible between runs.

That's the entire interface, which is refreshingly short. It takes one IMAGE and returns one IMAGE, batch-preserved, so it drops straight into a preview node or an upscale chain.

Where it fits in a workflow

Think of it as a post-processing stage after VAE decode - the same place you'd put a film-grain node or a color-grading pass. It plays especially well with the pack's SnapBasicFilters: filter first for the grade, then LowQualityDigitalLook for the grit. It's also a fun counterintuitive trick for photorealism: the KB's tell-detection notes that flawless skin is the #1 giveaway of an AI photo, and adding real sensor noise plus compression is a cheap way to buy back some believability.

Installing it

It ships in the ComfySnap pack, and the pack is not in ComfyUI Manager - search Manager and you'll find nothing. Clone it directly:

cd ComfyUI/custom_nodes
git clone https://github.com/SignalCha1n/comfyui-ComfySnap

Restart ComfyUI and it's under the ComfySnap category. The pack only depends on torch, numpy, and PIL - all already in a stock ComfyUI. One thing not to do: the pack's requirements.txt pins ancient versions (torch==1.13.1), so don't manually pip-install from it and risk downgrading your whole environment. The nodes run fine on whatever modern torch you already have.

Where it bites

This is CPU work - PIL doing JPEG encodes per frame - so a large batch will make you wait, and the README says so itself. effect_level only does something meaningful between ~0.01 and 1.0; at 0.5 you get the preset's stock look, so don't panic that it "isn't strong enough" until you've tried 0.8. And if you need the specific flavor of one particular camera model, a digicam LoRA will always outdo procedural noise - but for a fast, dependency-free "old photo" pass, this is hard to beat.

CategoryComfySnap

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
presetCOMBOStandard Snap Low Light2 options: Standard Snap Low Light, Early 2000s Digital
effect_levelFLOAT0.500–1
seedINT00–4294967295

Outputs (1)

NameTypeDescription
IMAGEIMAGE