PromptTermList 1 /noEmbryo
Your reusable prompt terms, one dropdown away
- Term
Remembering good prompt terms is the worst. You know "RAW photograph" or "Kodak Portra 400" are worth adding, but typing them every time - or worse, keeping them straight across a dozen workflows - is exactly the kind of friction that makes you skip them. PromptTermList 1 is the first of six sibling nodes in the noEmbryo pack that turn your favorite prompt fragments into a dropdown. Pick a label, get the full term injected into your prompt. That's the whole loop, and it works.
The author built these back in late 2023 after getting annoyed that pythongosssss's Preset Text nodes all shared one database - he wanted six independent term libraries he could dedicate to different jobs. So the six nodes (PromptTermList 1 through 6) each have their own JSON file and their own dropdown, completely separate. One for photography terms, one for lighting, one for quality tags - whatever buckets you want.
How it works
Each node reads a JSON file of label / value pairs from the pack's TermLists/ folder - PromptTermList 1 uses TermList1.json, PromptTermList 2 uses TermList2.json, and so on. The dropdown (terms) shows the labels; the Term output emits the corresponding value string when you run the graph. The None label is always there if you want no stored term.
The included TermList1.json already ships with a photography term set - "RAW photograph", "Polaroid photograph", "Gothic painting", a whole category system with -- section headers. It's a genuinely decent starting point for SD 1.5-style tag prompting.
The inputs that matter
- terms - the dropdown. Your label pick.
- strength - applies ComfyUI's parenthesis weight format to the term, so at 1.3 your term comes out as
(masterpiece:1.3)instead of flatmasterpiece. Range 0.05–2.0. - text - two jobs: add new terms to the library, or append custom text after the selected term.
- store_input - the switch that decides which job
textdoes. Off = the text just gets appended to the output. On = the text is parsed as a new term and saved to the JSON file.
To save a new term, connect a text box with:
label=My Style
value=masterpiece, artful and cozy
flip store_input on, run once, refresh the page, and "My Style" appears in the dropdown. Leave value= empty to delete a label.
Install and the honest warning
ComfyUI Manager → search "noEmbryo", or:
cd ComfyUI/custom_nodes
git clone https://github.com/noembryo/ComfyUI-noEmbryo.git
Restart. The pack creates the six TermList*.json files automatically on first run - no models, no dependencies.
Here's the honest warning: the author calls these obsolete. The README says flat out that Json Prompt Loader (also in this pack) mostly replaces them, and that they're kept around for compatibility. PromptTermList has one thing the newer node doesn't - the strength weighting - but for building a real prompt library, JsonPromptLoader's cleaner file model is the better bet. If you're starting fresh, go there. If you already love this dropdown flow, PromptTermList 1 is a perfectly fine way to organize one term category, just don't expect it to gain new features.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| terms | COMBO | Choose a term from the TermList with the corresponding number | |
| textopt | STRING | Input text to store in the TermList Use the format: label=... ... value=.... .... ... | |
| strengthopt | FLOAT | 1.000.05–2 | Controls how much the image is allowed to change. 0.0 = almost no change 1.0 = maximum creativity |
| store_inputopt | BOOLEAN | false | Store the input text in the TermList Use the format: label=... ... value=.... .... ... |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Term | STRING | — |