Nodes/ComfyUI_Isulion Random Prompt Generator/๐Ÿ” Isulion Civitai Model Explorer
ComfyUI Node

๐Ÿ” Isulion Civitai Model Explorer

Search Civitai's model catalog without leaving your graph

By IsulionยทCreated 2 years agoยทUpdated 3 days agoยท 41
๐Ÿ” Isulion Civitai Model Explorer
    • model_info
    โ—„search_queryโ–บ
    โ—„sort_byHighest Ratedโ–บ
    โ—„nsfw_filterHide NSFWโ–บ
    โ—„model_typeAllโ–บ
    โ—„page1โ–บ
    โ—„api_keyโ–บ

    The Isulion Civitai Model Explorer is a thin, honest wrapper around Civitai's public API. You give it a search query - "flux lora", "SDXL realism", whatever - and it hits https://civitai.com/api/v1/models and returns a formatted text block with the top matches: model name, type, the version hash, and the rest of the listing metadata. It's a research node, not a downloader. It exists to answer "what should I be looking at" without tabbing out of ComfyUI.

    The name oversells it slightly. It's not an explorer in the browse-forever sense; it's a search box with one page of results at a time. But as a prompt-tool it's genuinely useful for the "I want to use a LoRA, what exists?" moment, especially when paired with the other Civitai nodes in the pack to pull reference images.

    What you set

    • search_query - the only thing that matters. Free text, same terms you'd type in Civitai's search bar.
    • sort_by - Highest Rated, Most Downloaded, or Newest. "Highest Rated" is the sane default; "Newest" is for hunting fresh stuff before the herd.
    • nsfw_filter - Hide NSFW / Show All / Only NSFW. Maps straight onto Civitai's nsfw parameter.
    • model_type - Checkpoint, LORA, Embedding, or All. If you only want LoRAs, say so.
    • page - 1 to 100. The API paginates; you're looking at one page of results.
    • api_key - the gotcha. This node requires a Civitai API token. Leave it blank and you get back Error: No API key provided. Paste a token in, or set the CIVITAI_API_TOKEN environment variable and it picks that up automatically. You can grab a token from your Civitai account settings; it's free.

    Output is a single model_info STRING - one formatted block per match with Model:, Type:, Hash:, and friends, separated so you can read them in the node's preview. It's text you read, not data you wire onward, so treat this node as the end of a research branch, not a feeder into your pipeline.

    How it behaves

    Two implementation details are worth knowing. The node has a result cache keyed on (query, sort, nsfw, type, page), so re-running the same search doesn't hammer Civitai twice. But it also returns float("NaN") from IS_CHANGED, which tells ComfyUI to always re-execute it on every queue run - the cache is in-process only, so you can't accidentally skip a fresh search by forgetting to change a value. That also means it'll re-hit the API every single generation if it's upstream of your sampler, which is pointless. Wire it as a leaf you run once and read, not as something feeding the sampler directly.

    Install

    Standard pack install - ComfyUI Manager, search "Isulion", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Isulion/ComfyUI_Isulion
    

    then restart ComfyUI. No extra dependencies beyond requests, which ComfyUI already ships.

    Troubleshooting

    The error messages are unusually honest for a custom node. "Error: No API key provided" means exactly that. "Warning: No results found" means the query genuinely returned nothing - try loosening it or dropping the model_type filter, because a filter plus a weak query is the usual cause of empty results. And if you're hitting Civitai repeatedly in a loop, that's the IS_CHANGED behavior above, not a bug - disconnect the node from anything that re-runs on every queue.

    It's a small, single-purpose tool: Civitai search as a node. Not glamorous, but it'll save you the Alt-Tab.

    CategoryIsulion/Prompt Tools

    Inputs (6)

    NameTypeDefaultDescription
    search_querySTRINGโ€”
    sort_byCOMBOHighest Rated3 options: Highest Rated, Most Downloaded, Newest
    nsfw_filterCOMBOHide NSFW3 options: Hide NSFW, Show All, Only NSFW
    model_typeCOMBOAll4 options: Checkpoint, LORA, Embedding, All
    pageINT11โ€“100โ€”
    api_keySTRINGโ€”

    Outputs (1)

    NameTypeDescription
    model_infoSTRINGโ€”