Nodes/Civitai Gallery Explorer/🖼️ Civitai Gallery Explorer
ComfyUI Node

🖼️ Civitai Gallery Explorer

Browse Civitai and steal its prompts without leaving ComfyUI

By fabwaseem·Created 6 months ago·Updated 6 months ago· 3
🖼️ Civitai Gallery Explorer
    • positive_prompt
    • negative_prompt
    • image
    • info
    • lora_data
    selection_data{}
    positive_prompt
    negative_prompt
    lora_data[]

    ComfyUI is great at generation and genuinely bad at discovery. The Civitai tab stays parked next to your canvas because every workflow starts the same way: find something nice, copy the prompt, then go hunt down whatever LoRAs it used. Civitai Gallery Explorer is a custom node by fabwaseem (Waseem Anjum) that collapses that whole loop into a panel docked right on the node. It renders an infinite-scroll gallery of Civitai images with filters, and clicking one drops its prompt, negative prompt and LoRA list straight into your graph.

    One honest note on provenance: this is a young, one-person project. The author announced it on r/StableDiffusion in March 2026, it sits at v1.0.2, and there's no community war story yet - no thread of hard-won gotchas, because not many people have run it. That isn't a reason to skip it, but go in with expectations set. Treat it as a convenience, not a workflow cornerstone.

    How it works

    The node itself is mostly a dumb terminal. The smarts live in the frontend (a js/ widget that draws the gallery inside the node) and in routes the pack registers on ComfyUI's own server under /civitai_gallery/.... Those routes proxy Civitai's public API - civitai.com/api/v1/images - paging through it up to 50 calls per request so the infinite scroll keeps feeding you thumbnails. No API key, no account, no model downloads just to browse; it's the same public API your browser tab hits.

    Click an image and the JS writes a JSON payload into the selection_data widget; the node's is_changed reacts to that string, so ComfyUI re-runs it on every selection. execute then splits the image's generation metadata: prompts go to the prompt outputs, LoRA resources (entries with type "lora" and a modelVersionId or hash) get serialized to lora_data, and everything else - sampler, CFG, seed, model - goes out the info output.

    The inputs and outputs that matter

    You touch almost none of the inputs. selection_data is set by the UI, not by you. The three you'll see auto-fill on click and remain editable - positive_prompt, negative_prompt (both multiline) and lora_data (JSON). The outputs are the point:

    • positive_prompt / negative_prompt → wire straight into your CLIP Text Encode nodes.
    • image → the actual gallery image, fetched over HTTP into a tensor. Here's the trap: it's an empty 1×1 tensor unless you connect the output. The frontend only sets a download_image flag in the selection payload when the image output has a wire on it, so if you expected the node to always carry the picture you clicked, connect the output first - then it starts downloading.
    • info → the leftover metadata as JSON, handy for reproducing an exact setting.
    • lora_data → feed it to the pack's companion Civitai LoRA Loader, which resolves and auto-downloads anything you don't have locally, or to whatever LoRA-stack node you already use.

    Install

    ComfyUI Manager, search "CivitAI Gallery Explorer", install, restart. Or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/fabwaseem/ComfyUI-Civitai-Gallery-Explorer.git
    cd ComfyUI-Civitai-Gallery-Explorer
    pip install -r requirements.txt
    

    Dependencies are light - numpy, Pillow, aiohttp, tqdm. No models to fetch. One real requirement hides in the code: it imports comfy_api.latest and registers through the newer ComfyExtension API, so you need a fairly recent ComfyUI. If the node fails to load on an old install, update ComfyUI before you chase anything else.

    Troubleshooting

    • Node won't load - almost always the ComfyUI version issue above. Update, restart, re-check.
    • Image output looks broken - you haven't connected it, so it's intentionally empty. Wire it up and re-run.
    • Higher NSFW filters dry up - remember the platform split: since April 2026 the public civitai.com surface is SFW-only, so crank the filter above that on the default endpoint and the feed thins out fast. The backend also has an international_version parameter that can swap the upstream to the mirror domain civitai.work - the route you'd want from the UK or Australia, where the main site blocks you - but it isn't exposed in the UI, so flipping it means touching the code.
    • Auto-download fails on a gated LoRA - that's the companion loader's job, and it accepts an optional Civitai API key for authenticated downloads. The gallery itself never needs one.

    For a node with zero hype attached, this one is built thoughtfully: the download-only-when-connected behavior and the metadata extraction are both done right. Just remember it's young software from a single author, so if a workflow you love starts depending on it, keep a fallback path in mind.

    Category💡fabwaseem/Civitai

    Inputs (4)

    NameTypeDefaultDescription
    selection_dataSTRING{}JSON payload set by the UI (selected item + flags).
    positive_promptSTRINGPositive prompt (editable).
    negative_promptSTRINGNegative prompt (editable).
    lora_dataSTRING[]LoRA data (editable JSON).

    Outputs (5)

    NameTypeDescription
    positive_promptSTRING
    negative_promptSTRING
    imageIMAGE
    infoSTRING
    lora_dataSTRING