Add Random Artists
Random danbooru artist tags in one node
- artist_list
- final_prompt
Bored of staring at the same prompt while you hunt for a seed? Add Random Artists is the lazy person's style variation: it picks a few danbooru artist usernames at random and drops them into your prompt, so every run gets a slightly different look without you typing a thing. On Illustrious and NoobAI models, artist tags are effectively style tags - name the artist and the model shifts toward their aesthetic. Randomizing them is like rolling a style dice, which is exactly what you want when you're moodboarding or batch-generating and don't care which particular flavor of good shows up.
It's from a tiny, near-unknown pack called artist_randomizer by lonelyowl13. No community reputation to lean on, no stars to quote - so judge it on the mechanism, which is simple and honest. One STRING goes in, one STRING comes out, no torch, no models, nothing to break.
How it works
When you run it, the node loads a bundled artists.json - 15,000 danbooru artists, each with a post count harvested from the board - then filters to artists with at least your min_post_count, seeds random with your seed, and picks num_artists names without replacement, so no duplicates in a run. Each selected name is escaped (parentheses become \(), and the whole list is spliced into your prompt.
The splice is the part to understand. If your prompt contains the placeholder __random_artists__, it gets replaced by the generated tags. If not, the tags get appended to the end. Use the placeholder. Appending glues the tag list straight onto whatever your prompt ends with, so if your prompt doesn't end in a comma, your last token and the first artist name merge into one garbage word - 1girl, solo becomes 1girl, soloathena_art. That's not a model quirk, it's plain string concatenation, and it's easily avoided.
Two optional behaviors are worth knowing. weight_noise, when above 0, gives each artist roughly a coin-flip chance of being emitted as (name:weight) with weight in 1 ± noise - a light attention roulette on top of the name roulette, handy in the 1.0–1.3 range. And lumina_style prefixes every tag with @, the syntax Lumina-style prompts expect. Both default off, which is the right default.
The inputs that matter
prompt- your base text; put__random_artists__where the tags should land.num_artists- 1 to 10. Two is a sane start; more than that and the style signal fights your actual content.min_post_count- filters to artists with at least N danbooru posts. 0 includes everyone (yes, including the artist literally namedbanned_artist, top of the list at ~80k posts - a fun first-generation). Bump it to a few hundred if you want more recognizable styles.seed- makes the pick reproducible. Same seed, same artists, every time.artist_list- optionalARTIST_LISTfrom Load Artists; wire it in and it uses your list instead of the bundled one.
Output is final_prompt, a STRING - feed it straight into the CLIP Text Encode node's text input. If you want to see what it actually produced before it hits the sampler, run it through a Show Text node; that's the author's own suggestion and a good one.
Install
ComfyUI Manager works - search "artist_randomizer" and install. Otherwise clone it in:
cd ComfyUI/custom_nodes
git clone https://github.com/lonelyowl13/artist_randomizer
Then restart ComfyUI. There are no Python dependencies beyond the standard library, no model downloads - the 15k-artist list ships inside the repo, so it works offline. comfy node install artist_randomizer from the registry also works if you prefer the CLI.
Gotchas
- The placeholder path is the reliable one; appending can merge tokens (see above).
- Artist tags are a danbooru-ecosystem trick. Pony removed artist tags during training, and Flux-style prose models don't meaningfully resolve danbooru usernames, so this node shines on Illustrious/NoobAI family checkpoints and does little elsewhere.
- If no artist passes your
min_post_count, the node doesn't fail - it returns your prompt plus# [No eligible artists found]as plain text. That's a filter-too-high signal, not an error.
It won't replace a curated style LoRA, but for cheap, seedable style variation on anime checkpoints it's a fun, friction-free tool.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| num_artists | INT | 21–10 | — |
| min_post_count | INT | 0 | — |
| weight_noise | FLOAT | 0.000–1 | — |
| seed | INT | 0-9999999999999–9999999999999 | — |
| lumina_style | BOOLEAN | false | — |
| artist_listopt | ARTIST_LIST | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| final_prompt | STRING | — |