Nodes/comfyui-primeia-prompts/🎨 PrimeIA Prompts Library (Skool)
ComfyUI Node

🎨 PrimeIA Prompts Library (Skool)

A card browser over 7,500 curated prompts

By BarbuPrimeΒ·Created 7 months agoΒ·Updated 3 months agoΒ· 0
🎨 PrimeIA Prompts Library (Skool)
    • positive_prompt
    • negative_prompt
    • tags
    • safety_level
    • score
    • prompt_id
    β—„api_keyβ–Ί
    β—„prompt_index0β–Ί
    β—„safety_filterallβ–Ί
    β—„search_queryβ–Ί
    β—„sort_byscoreβ–Ί
    β—„limit200β–Ί
    β—„refresh_cachefalseβ–Ί

    This is the node the pack is built around: a full card-based prompt browser that lives inside your ComfyUI graph. PrimeIAPromptsLibrary loads prompts from PrimeIA's library - the "7500 prompts at Primeia" the one-line README brags about - shows them as clickable cards in a 420x700 window, and turns your pick into positive_prompt and negative_prompt strings you can wire straight into a CLIP Text Encode. It's the most polished thing in the pack, and it's also the one with the steepest gate: it's locked to paying Skool members.

    The gate, up front

    The node hits a Supabase edge function (juriolrfbcebhpkfaqws.supabase.co/functions/v1/prompts-api) with your API key in an x-api-key header. The pack's own docstring is blunt: this is only for Skool members at the skool_standard or skool_premium tier. You get the key from primeia.app β†’ your profile β†’ "API Key Personal", and it looks like primeia_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. No key, no browse - the server answers 401 for a bad key and 403 for a key that isn't a Skool membership. There's no local fallback here.

    This is the subscription-gated API pattern the community is famously skeptical of, and the skepticism is earned: your search query and your key leave your machine on every fetch, and the whole library disappears the day the membership does. What you're paying for is curation - the actual prompts and their quality scores - and that's something you can only judge once you're inside.

    How it works

    The backend fetches once and caches hard. fetch_prompts caches keyed on (api_key, safety_filter, search_query, sort_by, limit), so flipping search_query from "cyberpunk" to "portrait" re-fetches, but re-running the same params hits cache and not the network. refresh_cache forces a real refetch when the library's changed on their end.

    The frontend is where the magic lives: a JS extension injects a card UI with a Cargar Prompts (load) button, filter chips for safety level, and a search box. Clicking a card sets the prompt_index widget on the node, and when the graph runs, the backend picks that index out of its cached list and emits the strings.

    Inputs and outputs that matter

    Only api_key is required. The optional inputs are where the filtering lives:

    • safety_filter - all / sfw / nsfw / suggestive. Server-side filter, so it changes what comes back.
    • search_query - text or tag search against the library.
    • sort_by - score or created_at. Defaults to score.
    • limit - 50 to 500 in steps of 50, default 200. This is the cap on how many prompts the node can reach, not just how many it displays.
    • prompt_index - the currently selected card, 0 to 999.
    • refresh_cache - force a re-fetch.

    Outputs: positive_prompt, negative_prompt, tags (comma-joined), safety_level, score as an INT, and prompt_id - a STRING that's handy if you want to log which prompt produced an image.

    Installing and common issues

    ComfyUI Manager β†’ search "comfyui-primeia-prompts", or cd ComfyUI/custom_nodes && git clone https://github.com/BarbuPrime/comfyui-primeia-prompts, then restart. The only Python dependency is requests (already bundled), and there are zero model downloads - the prompts live on their server, not your disk. The JS frontend ships in the pack's js/ folder, so don't install a partial copy or you lose the cards and get a bare node.

    Failure modes to know: empty outputs with safety_level set to "error" means the fetch failed - check the ComfyUI console for the [PrimeIA] line, and expect either a bad key (401), a non-member key (403), or a 30-second timeout if their edge function is slow. And remember the key lives in the workflow file: don't share a .json workflow with your key baked in, or you're handing out your membership for free.

    CategoryPrimeIA/Prompts

    Inputs (7)

    NameTypeDefaultDescription
    api_keySTRINGβ€”
    prompt_indexoptINT00–999β€”
    safety_filteroptCOMBOall4 options: all, sfw, nsfw, suggestive
    search_queryoptSTRINGβ€”
    sort_byoptCOMBOscore2 options: score, created_at
    limitoptINT20050–500β€”
    refresh_cacheoptBOOLEANfalseβ€”

    Outputs (6)

    NameTypeDescription
    positive_promptSTRINGβ€”
    negative_promptSTRINGβ€”
    tagsSTRINGβ€”
    safety_levelSTRINGβ€”
    scoreINTβ€”
    prompt_idSTRINGβ€”