RedNode Post FX (standalone)
Grade images in physical camera order, with zero extra diffusion passes
- image
- depth
- image
The "AI look" is rarely the model's fault. It's that you render a frame and ship it straight out the door, where a real shoot gets a grading pass. RedNode Post FX is that pass: a whole post chain - denoise, colour, clarity, sharpen, haze, distortion, depth of field, chromatic aberration, bloom, light wrap, diffusion, vignette, halation, highlight roll-off, grain - in one node, on any image, with no Studio Workspace required. You point it at the tail of your generation, dial in what you want, and get a graded image out without ever touching a second sampling pass.
The key word in the description is standalone. This is the same chain the Workspace's Post tab runs, but everything lives on the node itself. No workspace, no bundle wire, no settings hidden in another panel. That makes it the version to reach for when you just want a graded frame on an ordinary workflow - or when you want to drop grading onto a batch of images from a folder loader and never think about the Studio rig at all.
How it works
The effects are applied in the order light actually meets a physical camera, which is the difference between this chain and a random pile of filter nodes. Repair and grade first (denoise, colour, clarity, sharpen), then the air in front of the lens (haze), then the lens itself in light-path order (distortion, depth of field, chromatic aberration, bloom, light wrap, diffusion), then the film behind it (halation, highlight roll-off, grain). The order matters mechanically, not just aesthetically: sharpen before depth of field so you don't re-sharpen the defocus, grain after the vignette because grain is the emulsion and vignetting is light falling off before it reaches the film.
Two of the effects read the image themselves. Depth of field and haze work out what's near and far on their own, so a flat illustration gets a sensible falloff instead of nothing. The depth input is optional for exactly this reason - wire in your own depth map if you have one and want the blur to follow it, skip it otherwise.
The inputs that matter
image- any image: a Load Image, a batch from a folder, or the tail of a generation. The only thing this node actually needs.config- the panel's settings, stored as JSON. You edit it through the node's own UI, not by hand; leave it alone if you're not sure.depth(optional) - your own depth map, if you want depth of field and haze to follow it exactly instead of the node's own guess.
The single output, image, is the graded frame. Wire it into whatever consumes your finished image - a save node, a video encoder, a compare view. Everything is off by default, so the node is a no-op until you start switching effects on, which makes it safe to drop into a chain and dial up slowly.
Installing it
Post FX ships in the RedNode Studio pack, so you install the whole thing:
git clone https://github.com/RedNodeAI/ComfyUI-RedNodeStudio.git ComfyUI/custom_nodes/ComfyUI-RedNodeStudio
Then restart ComfyUI. Or search RedNode Studio in ComfyUI Manager and let it handle the clone. There are no pip dependencies and no model files to download - this is deterministic pixel work, so it runs on whatever ComfyUI already installs. Python 3.10 or newer, and you don't need the recent ComfyUI versions the Krea 2 nodes demand; this node works with any model on any reasonably current install.
Where people get tripped up
Because everything defaults to off, the most common "problem" is that you wire it in and see no change - you haven't turned anything on yet, which is by design. The other trap is grain. It's the cheapest single move for breaking the flat, generated look (there's a reason film grain gets its own section in any post-processing discussion), but at high strength on a clean illustration it reads as sensor noise on something that was never photographed. Dial it up slowly and check at 100%. Start with bloom and a touch of vignette for a pleasant, quick win; add halation and grain when you want the "shot on film" finish.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | any image: a Load Image, a batch from a folder, or the tail of a generation | |
| config | STRING | {} | — |
| depthopt | IMAGE | OPTIONAL. The node makes its own depth map, set up on the panel's Depth card; wire this only to supply a map of your own |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |