Random Prompter JK🐉
A prompt generator with 13,000 style options — and the disable switch you'll actually need
- prompt
Random Prompter JK is a categorized random-prompt generator with a truly absurd amount of content behind it - thousands of scene options, over thirteen thousand style entries (artists, painters, forms, genres), hundreds of expressions, facial actions, lighting and camera descriptions. The point isn't to make you pick from 13,000 artists. The point is that when you want variety, it picks for you - from a database that doesn't repeat, because it's that big.
How it works
Every category (scene, motion, facial_action, expression, audio, lighting, camera, style, description) has a dropdown with the same five-ish states: disable (exclude it), enable (use your custom value), random (surprise me), or a specific entry. Under the hood it reads from the pack's prompt_data folder - plain text files per category - and randomly assembles a prompt from whatever you've enabled. auto_fill (default on) writes the result into the editable fields so you can see and tweak it, and remove_prompt_emphasis strips stray (word:1.5) weight syntax from your subject so it doesn't leak into the final prompt.
The three inputs a beginner actually sets:
- custom_subject - the anchor. Put your main subject here (or pipe in a Portrait Master output, which the pack's own workflows do). Everything else dresses it up.
- prompt_priority - the ordering of the assembled prompt (
subject + scene,description + style, etc.). This genuinely changes how a model reads the prompt, so it's worth playing with. - exp_str - an expression-intensity modifier ("slightly," "quite," "hardly") that pairs with the expression category.
The seed input controls the randomness; 0 means "new random seed every run."
The output
One STRING, prompt, ready to feed a CLIP Text Encode. You'll notice the dropdowns also list use image 1/2/3 entries, but this node has no image input of its own - those options are plumbing for the pack's larger auto-prompt workflows where an image reference feeds the prompt generation. On this standalone node, the categories and your custom values are what do the work.
Where it shines (and where it doesn't)
It shines for character/portrait variation - same subject, endless scene/lighting/camera combos, which is exactly how Jake uses it in the Portrait Master + Random Prompter imgen workflow. It's less useful if you want a consistent style: random selection is random, so for reproducible batches you're better off locking the categories you care about and only randomizing the ones you don't. And 13,000 styles means you should curate - drop your own text files into prompt_data if you want to narrow the pool. The config (in config.ini, [RandomPrompterConfig]) controls which folders it reads and the probability knobs for how often it uses custom values versus empty.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/jakechai/ComfyUI-JakeUpgrade
pip install -r requirements.txt
Restart and it's under the pack's Prompt section. It shares its slot with a sibling: the pack's config.ini has a RANDOM_PROMPTER_ABC flag that swaps between this standard version and the ABC-strategy implementation - both named Random Prompter. If the node behaves differently than a tutorial describes, that flag is why.
Inputs (24)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | 00–18446744073709550000 | Random seed for prompt generation. Use 0 for random seed each time. |
| auto_fill | BOOLEAN | true | Automatically fill custom fields when menu selections change. |
| prompt_priority | COMBO | subject + scene | Determine the order of components in the generated prompt. |
| custom_subject | STRING | Main subject description. You can obtain the subject's auto-prompt from LLM/VLM or custom nodes, such as Portrait Master. | |
| scene | COMBO | disable | Scene setting and background options. Choose 'disable' to exclude, 'enable' to use custom value, 'random' for random selection, or specific scene options. |
| custom_scene | STRING | Custom scene description. Used when scene is set to 'enable' or specific options are selected, or is set to 'random' and is one of the possible options. | |
| motion | COMBO | disable | Character motion and pose options. Choose 'disable' to exclude, 'enable' to use custom value, 'random' for random selection, or specific motion options. |
| custom_motion | STRING | Custom motion description. Used when motion is set to 'enable' or specific options are selected, or is set to 'random' and is one of the possible options. | |
| facial_action | COMBO | disable | Facial action details. Choose 'disable' to exclude, 'enable' to use custom value, 'random' for random selection, or specific facial action options. |
| custom_facial_action | STRING | Custom facial action description. Used when facial_action is set to 'enable' or specific options are selected, or is set to 'random' and is one of the possible options. | |
| exp_str | COMBO | quite | Expression intensity modifier. Combined with expression selection to create nuanced emotional descriptions. |
| expression | COMBO | disable | Character expression options (use with caution in video prompts). Choose 'disable' to exclude, 'enable' to use custom value, 'random' for random selection, or specific expression options. |
| custom_expression | STRING | Custom expression description. Used when expression is set to 'enable' or specific options are selected, or is set to 'random' and is one of the possible options. Combines with exp_str when applicable. | |
| audio | COMBO | disable | Audio and sound effect options. Choose 'disable' to exclude, 'enable' to use custom value, 'random' for random selection, or specific audio options. |
| custom_audio | STRING | Custom audio description. Used when audio is set to 'enable' or specific options are selected, or is set to 'random' and is one of the possible options. | |
| lighting | COMBO | disable | Lighting options. Choose 'disable' to exclude, 'enable' to use custom value, 'random' for random selection, or specific lighting options. |
| custom_lighting | STRING | Custom lighting description. Used when lighting is set to 'enable' or specific options are selected, or is set to 'random' and is one of the possible options. | |
| camera | COMBO | disable | Camera angle and shot composition options. Choose 'disable' to exclude, 'enable' to use custom value, 'random' for random selection, or specific camera options. |
| custom_camera | STRING | Custom camera description. Used when camera is set to 'enable' or specific options are selected, or is set to 'random' and is one of the possible options. | |
| style | COMBO | disable | Artistic style and visual treatment options. Choose 'disable' to exclude, 'enable' to use custom value, 'random' for random selection, or specific style options. |
| custom_style | STRING | Custom style description. Used when style is set to 'enable' or specific options are selected, or is set to 'random' and is one of the possible options. | |
| description | COMBO | disable | Overall description template options. Choose 'disable' to exclude, 'enable' to use custom value, 'random' for random selection, or specific description templates. |
| custom_description | STRING | a masterpiece of work with insane detail and best quality, featuring a masterfully balanced composition and harmonious colors, presenting a groundbreaking concept | Custom description template. Used when description is set to 'enable' or specific templates are selected. Follows the format: 'a [sensory] of work with [detail] and [quality], featuring a [composition] and [color], presenting a [creativity]' |
| remove_prompt_emphasis | BOOLEAN | true | Remove emphasis symbols and weight markers from custom_subject (e.g., (word:1.5) -> word, [A:B:0.5] -> A-B) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |