Nodes/Orion4D_MetaNode/🎨 Photo Filter FX
ComfyUI Node

🎨 Photo Filter FX

Photoshop's photo filter, minus the Photoshop β€” warm it up or cool it down

By orion4dΒ·Created 5 months agoΒ·Updated 5 months agoΒ· 5
🎨 Photo Filter FX
  • image_in
  • fx
  • image
β—„enabledtrueβ–Ί
β—„labelPhoto Filterβ–Ί
β—„color_hex#EC8A3Cβ–Ί
β—„density25β–Ί
β—„preserve_luminositytrueβ–Ί

The Photo Filter FX is the pack's translation of one of Photoshop's oldest tricks: wash the whole image in a single color, gently, like you dropped a tinted lens over the camera. Want the scene warmer? Throw an orange wash over it. Cooler and moodier? Go blue. It sounds trivial, but it's the kind of cheap, deterministic color move that solves "the whites are too stark" or "this render reads too cold" without touching the generation - exactly the sort of primitive the KB's post-processing doc tells you to reach for before you ever consider a diffusion re-pass.

The default color says it all: #EC8A3C, a warm orange - the README notes this mirrors Photoshop's classic "Warming Filter (85)" preset. The node even ships a clickable color swatch in its UI that opens your system color picker, which is a small quality-of-life touch you don't usually get in ComfyUI.

How it works

This is one of the pack's Color Pro emitters: instead of being a simple image-in/image-out filter, it builds a COLOR_FX descriptor - a self-contained description of the effect - and hands it out on its fx output. That descriptor is what makes the chain architecture work: you can stack several emitters (Photo Filter, Vibrance, Channel Mixer, Hue/Sat/Light…) and apply them all in order through the pack's Color Pro Receiver node, each on its own numbered fx_N slot.

But you don't have to use the chain. The node also has an image_in input, and when you connect an image it applies the effect inline and returns the result on its image output - a standalone filter with the same controls. Both modes are always available, and they can even be used at once.

The effect itself is a uniform color tint controlled by density (0 to 100, Photoshop's default is 25). The preserve_luminosity toggle is the important one: on, the tint is applied while keeping the original perceived brightness, so you warm the color without darkening the image. Off, the tint pushes the exposure too.

Inputs and outputs

  • Inputs: enabled (toggle), label (for the chain), color_hex (default #EC8A3C), density (0–100), preserve_luminosity, and optional image_in.
  • Outputs: fx (COLOR_FX) for the chain, and image (IMAGE) for standalone use.

When you'd reach for it

Portrait and product renders that come out sterile and need a touch of warmth, or a mood shift across a whole batch. The density knob is gentle enough that 10–20% on a warm orange is the "make it feel like late afternoon" move. Because it's deterministic, you can bake the exact same tint onto every frame of a batch without variance - which is the whole argument against doing color work with a generator.

Troubleshooting

  • Image too dark along with the tint? That's preserve_luminosity off; flip it on.
  • Want the effect in a multi-effect grade? Don't wire image_in - leave it empty, connect fx into a Color Pro Receiver's fx_1 slot, and stack more emitters on fx_2, fx_3, etc.
  • Color not what you expected? Double-check the hex actually has the # prefix and valid characters; the node normalizes it, but garbage in, garbage out.

Installing it

It's part of Orion4D_MetaNode:

cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/Orion4D_MetaNode

Or via ComfyUI Manager (search "Orion4D_MetaNode") and restart. It appears under Orion4D_MetaNode β†’ ColorGrading. No extra dependencies. Honest context: young, single-developer pack with a modest footprint - and it's worth noting the Color Pro system is the pack's own invention, so the COLOR_FX type only speaks to this pack's Receiver, not to other packs' color nodes.

CategoryOrion4D_MetaNode/ColorGrading

Inputs (6)

NameTypeDefaultDescription
enabledBOOLEANtrueβ€”
labelSTRINGPhoto Filterβ€”
color_hexSTRING#EC8A3Cβ€”
densityFLOAT250–100β€”
preserve_luminosityBOOLEANtrueβ€”
image_inoptIMAGEβ€”

Outputs (2)

NameTypeDescription
fxCOLOR_FXβ€”
imageIMAGEβ€”