Nodes/ComfyUI-JH-PixelPro/Look: Select Preset
ComfyUI Node

Look: Select Preset

Six Grading Looks in One Dropdown (No LUT Files Required)

By jetthuangai·Created 5 months ago·Updated 4 months ago· 5
Look: Select Preset
  • image
  • IMAGE
presetcinematic-teal-orange
intensity0.70
protect_skinfalse

JHPixelProLookSelect is the pack's "looks" node, and honestly it's the laziest way to grade an image in ComfyUI. One dropdown, six photographer-style color looks, a blend knob, and you're done. Want teal-and-orange without building a five-node grade chain? This is it.

It lives in ComfyUI-JH-PixelPro, JH's GPU retouching suite - the same pack that ships the luminosity masks, tone curves, LUT tools and face pipeline. What's interesting about LookSelect is that it is the refactor: the pack's v0.10 release collapsed six separate per-preset nodes into this single dropdown. That's genuinely easier to A/B, but it comes with one migration gotcha - workflows saved against v0.9.0 with the old nodes won't load. Recreate them from the pack's workflows/S-19-look-select-single.json or S-20-look-select-compare-6up.json. One-time annoyance, then it's better.

How it works: each preset is a JSON file of "compose_ops" - a chain of pure-tensor operations like LAB color shifts, tone curves, and hue/saturation moves. The node runs that chain on your image, then linearly blends the result with the original by intensity. No LUT files, no API, no model downloads. The whole thing runs on the GPU, which fits the pack's "pure tensor, never leaves VRAM" philosophy.

The inputs that matter:

  • preset - six choices: cinematic-teal-orange, warm-skin-tone, moody-green, faded-film, golden-hour, desaturated-pop. Defaults to the teal-orange.
  • intensity - the blend, 0.0–1.0, default 0.7. This is the knob you'll actually fiddle with. 0.7 is a sensible starting point; 1.0 is the full look, ~0.4 is a whisper.
  • protect_skin - a boolean. When on, the node masks out skin tones so the grade doesn't turn faces orange or green. It costs a little compute, but for portraits just leave it on.

Output is a single IMAGE. Wire it into a save node, an upscaler, or a compositor - it's a finishing step, not a source.

Install is pack-level, so it's the same for every PixelPro node. ComfyUI Manager → search "ComfyUI-JH-PixelPro" → Install → Restart, or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/jetthuangai/ComfyUI-JH-PixelPro.git
cd ComfyUI-JH-PixelPro
pip install -r requirements.txt

Restart ComfyUI and the node appears under ComfyUI-JH-PixelPro/looks. Dependencies are kornia ≥ 0.7.0, OpenCV ≥ 4.8, SciPy ≥ 1.10 - the pack targets an NVIDIA GPU with ≥ 8 GB VRAM, with a correctness-only CPU fallback.

Troubleshooting: if the whole pack fails to import at startup, the usual suspect is a kornia version clash with another custom node - this is a recurring ComfyUI pain point. Reinstall kornia at 0.7.x in your ComfyUI environment and restart. And remember what this node isn't: it grades color, it doesn't do anything spatial, so pair it with the pack's masks if you want the look applied only to midtones or only to skin.

Verdict: it won't replace a careful manual grade, but for "make this look like a movie poster," it's the fastest path in the pack. The one I'd grab first from the looks group.

CategoryComfyUI-JH-PixelPro/looks

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
presetCOMBOcinematic-teal-orange6 options: cinematic-teal-orange, warm-skin-tone, moody-green, faded-film, golden-hour, desaturated-pop
intensityFLOAT0.700–1
protect_skinBOOLEANfalse

Outputs (1)

NameTypeDescription
IMAGEIMAGE