π¨ Photo Filter FX
Photoshop's photo filter, minus the Photoshop β warm it up or cool it down
- image_in
- fx
- image
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 optionalimage_in. - Outputs:
fx(COLOR_FX) for the chain, andimage(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_luminosityoff; flip it on. - Want the effect in a multi-effect grade? Don't wire
image_in- leave it empty, connectfxinto a Color Pro Receiver'sfx_1slot, and stack more emitters onfx_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.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| enabled | BOOLEAN | true | β |
| label | STRING | Photo Filter | β |
| color_hex | STRING | #EC8A3C | β |
| density | FLOAT | 250β100 | β |
| preserve_luminosity | BOOLEAN | true | β |
| image_inopt | IMAGE | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| fx | COLOR_FX | β |
| image | IMAGE | β |