Prompt Composer Custom Lists
Build your own dropdown prompt libraries from text files
- text_out
Every other node in this pack ships with a fixed, hard-coded set of choices. Custom Lists is the one exception: it's file-driven. Drop a .txt file - one entry per line - into the pack's custom-lists folder, and this node grows a dropdown-plus-weight-slider pair for it automatically. It's how you turn a list you keep retyping (a cast of recurring characters, a palette of ten specific lighting setups, your own house style vocabulary) into something you pick from a menu instead of copy-pasting into a text box every time.
How it works
Out of the box, the node ships with four category pairs already populated: effect (Vintage, High Key, Low Key, HDR, Cross Process, Infrared, Lomography, and more - 20 choices), painting_style (Renaissance, Baroque, Impressionism, Cubism, Surrealism, and 16 more), lens_type (wide-angle, macro, fisheye photo), and photo_style (color, black and white, sepia, duotone). Each has a matching (weight) slider next to it. Pick - on any of them and that category contributes nothing - that's the normal "off" state, not a bug.
Add your own .txt file to the custom-lists folder and, per the pack's own docs, a new selector/weight pair appears for it too - but only after a full ComfyUI restart, because the node builds its list of categories when it loads, not live.
The inputs and outputs that matter
effect,painting_style,lens_type,photo_style- enum dropdowns, each defaulting to-(off). Any.txtfile you add tocustom-listsshows up as an additional dropdown alongside these after a restart.effect (weight),painting_style (weight),lens_type (weight),photo_style (weight)- one weight slider per category (0 to 1.95, step 0.1, default 1), same(text:weight)wrapping rule as the rest of the pack once you move off 1.active(boolean, defaults on here, unlike most of the pack's other nodes) - bypass switch.text_in_opt(optional string) - chain input from an upstream node.text_out- the combined result of whatever you've selected, wired onward.
How to install it
ComfyUI Manager: search florestefano1975, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/florestefano1975/comfyui-prompt-composer
restart ComfyUI. No model downloads, minimal dependencies - but this is the one node in the pack where the install step matters less than knowing where the custom-lists folder lives inside it, since that's where your own lists go.
Common issues & troubleshooting
Added a new .txt file and no dropdown showed up. You need a full ComfyUI restart, not just a browser refresh - the pack's own README calls this out explicitly. The node reads the folder contents at load time.
Updated the pack and your custom lists are gone. This is the pack's single loudest warning: back up the .txt files in your custom-lists folder before running git pull to update. An update can overwrite that folder, and there's no separate backup mechanism - it's on you.
Weight slider doesn't seem to do anything. Same story as every weighted node here: (text:weight) is CLIP-only syntax. It's live on SD1.5, SDXL, Illustrious, NoobAI and similar. It's inert - literal punctuation, not weighting - on Flux, Z-Image, Anima and other LLM-encoded checkpoints.
Everything's blank even with entries selected. Check that you actually moved a dropdown off -. Left at the default, that category is deliberately silent, which is the expected behavior for an unselected slot, not a failure.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| effect | COMBO | - | 20 options: -, Vintage, High Key, Low Key, High Dynamic Range, Cross Process, +14 |
| effect (weight) | FLOAT | 1.00–1.95 | — |
| painting_style | COMBO | - | 21 options: -, Renaissance, Baroque, Impressionism, Cubism, Surrealism, +15 |
| painting_style (weight) | FLOAT | 1.00–1.95 | — |
| lens_type | COMBO | - | 4 options: -, wide-angle photo, macro photo, fisheye photo |
| lens_type (weight) | FLOAT | 1.00–1.95 | — |
| photo_style | COMBO | - | 5 options: -, Color photo, Black and white photo, Sepia photo, Duotone photo |
| photo_style (weight) | FLOAT | 1.00–1.95 | — |
| active | BOOLEAN | true | — |
| text_in_optopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text_out | STRING | — |