Nodes/ComfyUI Civitai MCP/Civitai Get Current Challenge
ComfyUI Node

Civitai Get Current Challenge

Auto-build a workflow around Civitai's daily challenge

By daceheg·Created 3 months ago·Updated 3 months ago· 6
Civitai Get Current Challenge
    • challenge_id
    • collection_id
    • title
    • description
    • model_version_id
    • model_id
    • lora_id
    • lora_version_id

    Civitai runs a daily "challenge" - a themed contest where everyone generates toward the same brief and posts entries to a collection. This node fetches the currently active one, no inputs needed, and hands you everything you'd need to build a workflow that generates for it and submits automatically.

    It's a pure-output node. Drop it in, run the graph, and eight typed outputs appear. The useful ones:

    • title and description (STRING) - the challenge name and the theme/rules. The description comes back as HTML, which the node strips to plain text and prefixes with the theme, so you can read it directly or feed it to an LLM for prompt planning.
    • collection_id (INT) - where entries go. This plugs straight into the collection_id input on Civitai Create Post, which is the entire trick of auto-submitting.
    • model_version_id and model_id (INT) - the recommended checkpoint's version and model IDs. The clever part: if the challenge is built around a LoRA, the node looks up the LoRA's base model, then resolves the default checkpoint for that base model from a built-in table (SD 1.5, SDXL, Pony, Illustrious, NoobAI, Flux.1 Dev, Chroma) and outputs that instead - so you can load a sensible starting checkpoint even when the challenge only names a LoRA.
    • lora_id and lora_version_id (INT) - the challenge LoRA itself, or 0 when the challenge is checkpoint-based. That's how you distinguish the two cases.

    How it works

    Under the hood it hits Civitai's internal tRPC endpoints: first challenge.getInfinite filtered to active challenges, then challenge.getById for the winner's full record. Unlike the pack's REST-based read nodes, this one requires your API key - tRPC calls are authenticated, so the key file or CIVITAI_API_KEY env var has to be set or it raises.

    A workflow that actually uses it

    Chain it like this: CivitaiGetCurrentChallenge → wire model_version_id/lora_version_id into your checkpoint/LoRA loader inputs (via primitive nodes or whatever your loader accepts), prompt from the challenge description, sample, then feed the result into Civitai Create Post with collection_id wired from this node. Set publish to false the first time, because the moment you flip it, you're submitting to a real, public, judged collection.

    Installing it

    ComfyUI Manager - search ComfyUI Civitai MCP - or clone:

    cd ComfyUI/custom_nodes
    git clone https://github.com/daceheg/ComfyUI-civitai-mcp.git
    

    Restart ComfyUI. The pack's only dependency is requests; no model files to download. Set your key in civitai_key.txt in the pack folder or via the CIVITAI_API_KEY environment variable before expecting this node to return anything.

    The catch

    The "recommended checkpoint" is a hardcoded lookup table in the pack, not a live query, so brand-new base models won't be in it and will fall back to SDXL. And the challenge data comes from Civitai's internal API, which has been famously unstable through 2025–2026 - if you get no active challenge or a slow response, it's usually the platform, not your setup. It's a young pack, so treat those edge cases as "check Civitai's site directly" moments rather than bugs in your graph.

    CategoryCivitai-mcp

    Inputs (0)

    No inputs

    Outputs (8)

    NameTypeDescription
    challenge_idINT
    collection_idINT
    titleSTRING
    descriptionSTRING
    model_version_idINT
    model_idINT
    lora_idINT
    lora_version_idINT