🎲 PrimeIA Random Prompt
A slot machine over the top 100 — and its seed trap
- positive_prompt
- negative_prompt
- prompt_info
Every prompt library eventually needs the "I don't know what I want, surprise me" button. PrimeIARandomPrompt is that button for the PrimeIA library - it fetches a batch of prompts, rolls one at random, and feeds its positive and negative prompts into your workflow. Same Skool-membership gate as the rest of the pack, same primeia_ key, and two surprises hidden in the mechanism that you should know before you wire it in.
How it works
On each run the node calls the usual Supabase edge function with your key and safety_filter, then - and this is the first thing to know - it requests only limit=100 prompts, sorted by score. So "random" doesn't mean random across all 7,500 entries in the library; it means a random pick from the top 100 by score. That's a curated slot machine, which is arguably a feature: you're rolling among the library's best-rated prompts, not its long tail. But if you expected full-library randomness, adjust your expectations.
The second thing is the seed trap, and it's the same trap that bites on a KSampler. The node seeds Python's RNG with your seed input - and seed defaults to 0. A fixed seed means a fixed sequence of "random" choices, so a fresh node with the default seed picks the same prompt every single run. The node looks like it's giving you variety; it isn't, until you move the dial. Bump the seed, or set its control_after_generate to randomize, and you actually get rolls.
There's a wrinkle to the randomness worth mentioning: because the node has no IS_CHANGED override forcing a rerun, ComfyUI's cache means a run with unchanged inputs just replays the cached result. Change the seed (or any input) to force a genuinely new pick.
Inputs and outputs that matter
Only api_key is required - the primeia_... key from your primeia.app profile, which needs a Skool membership to be valid. Optional inputs:
safety_filter-all/sfw/nsfw/suggestive, passed server-side.seed- the RNG seed, 0 to 2^64. This is the dial you actually care about.
Outputs are leaner than the other nodes: positive_prompt, negative_prompt, and prompt_info - a formatted string like ID: 3f2a91c8... | Safety: sfw | Score: 87. Note there's no tags, no safety_level socket, no score as an INT - the info is all jammed into one string. If you wanted to filter on tags or feed score into logic downstream, this isn't the node for that; the Library node is.
Installing and common issues
Standard for the pack: ComfyUI Manager → search "comfyui-primeia-prompts", or cd ComfyUI/custom_nodes && git clone https://github.com/BarbuPrime/comfyui-primeia-prompts, then restart. Dependency is just requests (already bundled); no models to download.
Watch for these: if positive_prompt comes back empty and prompt_info starts with Error:, the fetch failed - a bad key, a 403 for a non-member, or a server timeout. And the most common user error is the default-seed surprise: if your "random" prompt feels suspiciously familiar, check the seed before you blame the library. Set it to randomize and let it roll.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| safety_filteropt | COMBO | all | 4 options: all, sfw, nsfw, suggestive |
| seedopt | INT | 00–18446744073709550000 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| positive_prompt | STRING | — |
| negative_prompt | STRING | — |
| prompt_info | STRING | — |