APNext Keywords
Bolt quality and style keywords onto a prompt from category banks
- prompt
- random
KeywordsPromptNode (APNext Keywords) is a purely offline prompt builder - no API, no key, no model. You give it a base prompt and it appends keywords drawn from a stack of curated category banks: style modifiers, genres, "epic" adjectives, glitch terms, quality boosters, trending tags. Set a dropdown to a specific value to force it, or to Random / Multiple Random to let it roll the dice each queue. It's the classic Auto Prompter mechanic this whole pack grew out of, and it's genuinely useful for churning out varied prompts fast.
That said, read this next part before you go wild with it, because the keyword-spam era is over on a lot of models.
How it works
The node keeps JSON lists of keywords by category and stitches your selections onto your base prompt with the separator (default ,). Everything's local and instant. The category dropdowns each offer None, Random, Multiple Random, or a specific pick:
modifiers- art styles (afrofuturism, anime, avant-garde, anaglyph…).genres- aesthetic genres (art deco, cyber-gothic, cyber-steampunk…).epic,detailed,unusual- adjective banks for grandeur, precision, weirdness.prayersandtrending- the quality-booster lists:4k, 8k, cinematic, award winning, andtrending on artstation-style tags.glitchandnegatives- databending terms, and a bank of negative-prompt keywords.
seed makes the random rolls reproducible; the attributes toggle pulls in the extra descriptor attributes some category entries carry. Two outputs - prompt (your base with the picks appended) and random (a randomized selection) - wire whichever you want into your text encode.
The honest take on those keyword banks
Here's where a beginner gets misled. On SDXL-lineage models (Illustrious, Pony, NoobAI, plain SDXL), quality tags and style keywords still work - that's what these banks were built for, and they're handy.
But on modern LLM-encoded models (Flux, Z-Image, Qwen, and most 2026 releases), masterpiece, 8k, ultra detailed does close to nothing - the vocabulary was never trained in, and it just eats attention that should go to your actual description. trending on artstation in particular is a 2022 SD 1.5 relic. So use this node's style and genre banks (those name real aesthetics the model can move toward), and go easy on the prayers/trending quality-spam banks unless you're on an SDXL checkpoint that actually rewards them.
Installing it
ComfyUI Manager: search comfyui_dagthomas, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/dagthomas/comfyui_dagthomas
cd comfyui_dagthomas
pip install -r requirements.txt
The pack's requirements.txt is heavy (it bundles a dozen LLM providers), but this node needs none of that - it's pure Python string assembly. It'll work even if the API-dependent nodes in the pack can't reach a provider.
Common issues
Output is keyword soup. Turning on five categories at Multiple Random stacks a lot of terms, and each one dilutes the others. Pick two or three banks, not all of them.
The negatives bank went into my positive. These are just keyword lists; the node appends what you select to the output string. If you want those in a negative prompt, route the output to your negative encode - the node doesn't know the difference.
No effect on a Flux/Z-Image render. Expected for the quality-booster banks - those keywords are inert on LLM-encoded models. Lean on style/genre names and your own description instead.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| separator | STRING | , | — |
| stringopt | STRING | — | |
| seedopt | INT | 00–18446744073709550000 | — |
| attributesopt | BOOLEAN | false | — |
| negativesopt | COMBO | None | 72 options: None, Random, Multiple Random, 3d, artifacts, asymmetry, +66 |
| genresopt | COMBO | None | 48 options: None, Random, Multiple Random, ancient, art deco, cyber gothic, +42 |
| modifiersopt | COMBO | None | 71 options: None, Random, Multiple Random, 60s kitsch and psychedelia, abstract illusionism, afrofuturism, +65 |
| unusualopt | COMBO | None | 47 options: None, Random, Multiple Random, abnormal, amazing, atypical, +41 |
| detailedopt | COMBO | None | 43 options: None, Random, Multiple Random, accurate, artistically-detailed, carefully-detailed, +37 |
| epicopt | COMBO | None | 112 options: None, Random, Multiple Random, admirable, apotheotic, artistic, +106 |
| glitchopt | COMBO | None | 41 options: None, Random, Multiple Random, anomaly, artifact, banding, +35 |
| prayersopt | COMBO | None | 52 options: None, Random, Multiple Random, 4k, 8k, advanced, +46 |
| trendingopt | COMBO | None | 21 options: None, Random, Multiple Random, featured on 500px, featured on cgsociety, featured on conceptartworld, +15 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| random | STRING | — |