ComfyUI Node

Pilgram

40 one-click looks inside ComfyUI

By kinfolk0117·Created 3 years ago·Updated 2 years ago· 8
Pilgram
  • image
  • IMAGE
pilgram_filter

Remember when every photo you took went through a Clarendon filter and suddenly looked like it was shot on film by someone with taste? The Pilgram node is that, but inside ComfyUI. You feed it any image, pick one of 40 filters, and out comes the same image with that look baked in. That's the whole node - no models, no VRAM, no API key, no server. Just a single utility that gives renders an Instagram-era color grade in one click.

The filters come from pilgram2, a pure-Python reimplementation of the classic Instagram filter set - the ones that were actually famous before the algorithm ate them: Clarendon, Gingham, X-Pro II, Nashville, Hefe, Lo-Fi, Earlybird, and friends. Pilgram is a thin wrapper that ships those into the graph.

Why you'd actually use this

Getting a "film look" purely from a prompt is a coin flip; color grading is where the deterministic part of the pipeline lives. You can drop Pilgram right after VAE decode or after an upscale pass, before SaveImage, to push a render toward warm, faded, analog. Or run it on a source photo before img2img so the model inherits the grade instead of fighting it. It's one button, not a workflow - if you want that, WAS Node Suite is the big general toolkit for color correction and effects. This is the opposite end of the spectrum: instant, opinionated, done.

How it works

The mechanism is dead simple and visible in the source. The node squeezes the batch dimension, permutes the tensor from HWC to CHW, converts it to a PIL image via torchvision's ToPILImage, calls the named filter function on it, and converts the result back to a tensor. Everything runs on CPU in numpy and Pillow - no GPU, no weights, no downloads beyond the small pilgram2 package.

The inputs that matter

There are only two inputs, and you'll set both:

  • image - the IMAGE tensor to filter.
  • pilgram_filter - a dropdown of all 40 filters: _1977, aden, amaro, ashby, brannan, brooklyn, charmes, clarendon, crema, dogpatch, earlybird, gingham, ginza, hefe, helena, hudson, inkwell, juno, kelvin, lark, lofi, ludwig, maven, mayfair, moon, nashville, perpetua, poprocket, reyes, rise, sierra, skyline, slumber, stinson, sutro, toaster, valencia, walden, willow, xpro2.

The single output is an IMAGE of the same dimensions, filtered. Wire it to whatever comes next - SaveImage, a blend node, another pass.

Install

The usual two routes, and this one is lightweight - its dependencies are just numpy, Pillow, and pilgram2:

  • ComfyUI Manager: Install Custom Nodes, search "ComfyUI_Pilgram", install, restart.
  • Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/kinfolk0117/ComfyUI_Pilgram
cd ComfyUI_Pilgram
pip install -r requirements.txt

Then restart ComfyUI. No model files to hunt down.

Where people get burned

  • Batch size 1 only. The code calls tensor.squeeze(0), which only drops the batch dimension when it's exactly 1. Feed it a batch of 2+ and you'll hit a shape error deep inside torchvision. Wire one image at a time - don't treat this as a batch node.
  • No strength control. The filter applies at full strength with no opacity or blend input. Want a subtle grade? You have to blend the output with the original yourself using any mix/blend node.
  • The pilgram module error. These style-filter nodes are notorious for ModuleNotFoundError: No module named 'pilgram' when Manager's dependency install quietly fails. The fix is the same as always: pip install pilgram2 (or pilgram) into the exact Python environment ComfyUI runs in.
  • Console spam. The node print()s tensor shapes on every run. Harmless, just noise.

Honest take: this is a novelty utility, not a grading suite. If color is your craft, a proper LUT node or WAS gives you control. But for a quick, unmistakably "that photo app" look on a render, nothing in the graph is faster. It's got basically zero traction on comfy.icu so far, so the fun part is yours to discover - install it, throw all 40 filters at one image, and keep the two you love.

Categoryutils

Inputs (2)

NameTypeDefaultDescription
imageIMAGE
pilgram_filterCOMBO40 options: _1977, aden, amaro, ashby, brannan, brooklyn, +34

Outputs (1)

NameTypeDescription
IMAGEIMAGE