PostFx Theme
The chain-starter nobody reaches for first
- look
Let's be honest about this one up front: PostFx Theme is not the node you'll use the most, and its own docs say so. Its entire job is to load one of the pack's 31 built-in themes - real film stocks like Portra 400, Cinestill 800T, Kodachrome, plus industry-grade looks like teal-orange and bleach bypass - and hand it out as a look you can pipe elsewhere. If you just want a theme on your image, skip this node entirely and pick the theme on PostFx Apply's dropdown. You reach for PostFx Theme only when you want to chain a named theme through other look-building nodes before it hits Apply.
That's because in ComfyUI-PostFx, a look is a thing that flows: the pack defines a POSTFX_LOOK link type, and the look-producing nodes (Theme, Custom Look, LUT) all accept an optional look input so they can stack in any order. PostFx Theme is the anchor at the start of such a chain - it's what turns "I want the Portra 400 grade" into a value flowing through your graph, rather than a dropdown selection buried inside Apply.
Mechanically it's about as simple as a node gets. You pick a theme from a dropdown of 31 entries (default 01_portra_400), and the node resolves that name to the full YAML-defined look dict and outputs it. One input, one output:
- theme (required) - the 31 built-in themes, named
01_portra_400,02_gold_200,03_pro_400hand so on. - look (output) - type POSTFX_LOOK. Wire it into PostFx Apply, or into a PostFx LUT to layer a .cube on top, or a PostFx Custom Look to tweak a couple of knobs over the theme.
The classic chain the README shows:
PostFx Theme (portra_400)
→ PostFx LUT (my_look.cube)
→ PostFx Custom Look (grain up)
→ PostFx Apply (condition = neon_night, strength = 1.0)
Install is the pack install - ComfyUI Manager, search ComfyUI-PostFx, or the manual clone plus pip install -r requirements.txt, then restart. No models to download; this pack is CPU-only and the dependency footprint is a single postfx package.
The one trap worth knowing: because the theme only exists once you wire the output somewhere, an unconnected PostFx Theme does nothing at all. If you're new to the pack and your chain is mysteriously unchanged, check whether the theme look actually made it into Apply - a dangling Theme node is the usual culprit. And remember the override rule: whatever look arrives at Apply's look input replaces the theme dropdown, so connecting a chain from this node is an all-or-nothing switch, not a blend. Keep it for the layered workflows; for a one-theme job, the dropdown on Apply is the friendlier path.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| theme | COMBO | 01_portra_400 | 31 options: 01_portra_400, 02_gold_200, 03_pro_400h, 04_ektar_100, 05_cinestill_800t, 06_superia_xtra, +25 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| look | POSTFX_LOOK | — |