APNext Scene
A wildcard dropdown for backgrounds and weather
- prompt
- random
If you've ever stared at a prompt and thought "I want a cool environment but I'm out of ideas," this is the node for that. APNext Scene is a dropdown-driven prompt builder: you pick a scene, some weather, a texture, maybe a tree, and it staples those words onto your base prompt. Think of it as A1111 wildcards with a UI instead of a text file - you flip a dropdown to Random, hit generate, and the node rolls a fresh backdrop for you.
It ships in dagthomas's pack, the one the community still calls the SDXL Auto Prompter. That name matters, and we'll come back to it, because it tells you exactly what this node is good at and where it'll bite you.
How it works
No LLM, no API key, nothing to download. The node carries big curated word lists baked into the pack (Scene has 67 environments, 129 weather terms, 152 textures, 143 trees, 89 houseplants, 34 mood modifiers), and every dropdown offers None, Random, Multiple Random, or a specific pick from the list. When you run it, it grabs whatever each dropdown resolved to, joins the terms with your separator, and appends them to your prompt. That's the whole mechanism - string assembly from menus. Because the randomness is seeded, the same seed gives you the same roll, so a scene you like is reproducible.
The inputs and outputs that matter
prompt(required, multiline) - your base text. Everything the dropdowns pick gets tacked on after this.separator(default,) - what glues the terms together. Comma is right for SDXL-style tag prompts.- The category dropdowns -
scenes,weather,textures,trees,houseplants,modifiers- each set toNone(skip), a specific term,Random(one pick), orMultiple Random(several). seed- fixes the random rolls so you can reproduce a result.attributes(boolean, default off) - when a term has extra descriptive adjectives attached in the pack's data, this pulls those in too. Leave it off unless you want longer output.string(optional) - extra text to fold in.
Two outputs, both STRING: prompt is the assembled result, and random hands you the version with the random picks resolved, so you can see exactly what it rolled and reuse it. Wire either into a CLIP Text Encode.
How to install it
Easiest path is ComfyUI Manager - search for comfyui_dagthomas (or "SDXL Auto Prompter"), install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/dagthomas/comfyui_dagthomas
cd comfyui_dagthomas
pip install -r requirements.txt
Then restart ComfyUI. The pack pulls in a chunky requirements list (transformers, decord, the various provider SDKs) because it also contains a whole fleet of LLM and vision nodes - but Scene itself needs none of that. It's pure local text.
Common issues & troubleshooting
The one real trap is the SDXL Auto Prompter name. This node emits comma-separated tag soup, which is exactly what SDXL, Illustrious, Pony and other CLIP-encoded models want. On a 2026 LLM-encoded model - Flux, Z-Image, Anima, Qwen - that same firehose works against you. Those models read your prompt as an instruction and start drifting past roughly 75-100 tokens, so dumping Multiple Random across five categories buries your actual subject in noise. Use it for SDXL-lineage models, or dial it back to one Random category as a spice, not the whole meal.
Beyond that: if a dropdown pick doesn't seem to change anything, remember the model still has to understand the term - an obscure houseplant species is a coin flip on most checkpoints. And keep the pack updated; it's large and actively developed, so a stale copy is more likely to throw an error than a current one. A git pull (or Manager update) has historically been the fix for the pack's occasional install hiccups.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| separator | STRING | , | — |
| stringopt | STRING | — | |
| seedopt | INT | 00–18446744073709550000 | — |
| attributesopt | BOOLEAN | false | — |
| treesopt | COMBO | None | 143 options: None, Random, Multiple Random, Alder, Almond, American holly, +137 |
| modifiersopt | COMBO | None | 34 options: None, Random, Multiple Random, After rain, Apocalyptic, Astounding, +28 |
| scenesopt | COMBO | None | 67 options: None, Random, Multiple Random, Beach, Canopy, Canyon, +61 |
| weatheropt | COMBO | None | 129 options: None, Random, Multiple Random, Altocumulus clouds, Altostratus clouds, Aurora australis, +123 |
| texturesopt | COMBO | None | 152 options: None, Random, Multiple Random, Abstract paint splatters, Antique metal, Antique paper, +146 |
| houseplantsopt | COMBO | None | 89 options: None, Random, Multiple Random, Abutilon, Aechmea, Aeschynanthus, +83 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| random | STRING | — |