Nodes/xcp_derp-UI/Derp Diffusion Loader
ComfyUI Node

Derp Diffusion Loader

Hot-swap diffusion models from a deck, no dropdown

By lordwedggieΒ·Created 3 months agoΒ·Updated 20 days agoΒ· 0
Derp Diffusion Loader
    • model

    The Derp Diffusion Loader does for diffusion models what the rest of the derp loader family does for CLIP and checkpoints: it puts them on a deck and lets you switch with one click. No dropdown, no scrolling, no typing partial names into a search box. Load your UNet-based diffusion models onto the panel once, and A/B-ing between them becomes clicking a card. It's part of xcp_derp-UI (ComfyUI Manager β†’ search "xcp_derp-UI", by lordwedggie) and lives under derpNodes/Loaders.

    Why you'd use it

    The honest pitch is a deck-of-models workflow: you've got two or three diffusion models you flip between for a project - say a base model and a distilled or fine-tuned one - and you're tired of re-selecting them on every load. The deck holds them all, click to activate, drag to reorder. Combined with the pack's other loaders (CLIP, VAE, Model), you can assemble an entire "loadout" that you switch in one place instead of four.

    One feature earns its keep immediately: Clear VRAM on new model selection, on by default. Pick a different model and the loader unloads the previous one from VRAM before loading the new one - the pack's docs put it as "keeps your 4090 from throwing a fit," which is accurate. That alone makes hot-swapping models mid-session practical instead of an OOM roulette game.

    How it works

    Like every derp loader, this is a pure virtual shell. The Python class's do_nothing returns None from its model output (type MODEL). The actual loading is orchestrated in JavaScript: the frontend pushes a descriptor into the pack's wireless signal registry, and the xcpDerpSignalOut reconstruction engine resolves it into a real loaded model at execution time. That means no input sockets, one output, and - the pack's one hard rule - you need a derpRouter node in the workflow for the signal to go anywhere. Without it, per the docs, the loader is "just a very confident paperweight."

    The deck UI is the same pattern as the other derp loaders: a settings toggle (βš™οΈ) that reveals the file browser, a refresh button so new models show up without restarting ComfyUI, clear/remove, drag-to-reorder, and a search tab to filter your list. The settings panel also has Show Folder Names (display full paths or not) and the Weight Dtype selector - the one technical decision you'll actually make here. Options are default, fp8_e4m3fn, fp8_e4m3fn_fast, and fp8_e5m2. Lower precision uses less VRAM; if you're on a tight card, fp8 is the lever to pull. If you're not short on VRAM, leave it on default and don't think about it.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/lordwedggie/xcp_derp-UI-Release
    

    Restart ComfyUI. No requirements.txt, no pip installs, no model files to fetch - this pack only needs the diffusion models you already have, and it vendors its JS dependencies. Manager users just search xcp_derp-UI.

    Where people get burned

    The recurring derp-UI trap applies here in full force: no Router, no output. If you click a deck entry and nothing reaches your sampler, the Router is the first thing to check. And because the node's output is delivered via wireless signal rather than a physical wire, beginners routinely assume it's broken when it's actually just unrouted.

    Also note the scope: this loader handles diffusion models - the UNet/transformer part. CLIP text encoders go through the separate Derp CLIP Loader, and VAEs through the Derp VAE Loader. If you're trying to load a full checkpoint here, that's the Derp Model Loader's job. It's a modular design, not a bug.

    This is a young pack with essentially no third-party documentation yet, so when something behaves oddly, the bundled node docs in derp_docs/Loader Nodes/ are the ground truth - and they're actually pretty good.

    CategoryπŸ”ž derpNodes/Loaders

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    modelMODELβ€”