ComfyUI Node

(Down)Load My Model

The name is a lie — this loader downloads nothing and loads even less

By jhj0517·Created 2 years ago·Updated 2 years ago· 44
(Down)Load My Model
    • my_model
    model
    device
    compute_type

    Let's be upfront: (Down)Load My Model doesn't download anything, and "loading a model" means setting a variable to 1 and printing a message. The example workflow that ships with this pack labels it, in the author's own words, "just a mocking node, it doesn't actually do anything." So why does it exist, and why should you care?

    Because it's a teaching prop. This node lives in ComfyUI-CustomNodes-Template, a "Use this template →" starter repo for writing your own custom nodes, from jhj0517 - the developer behind Whisper-WebUI and the finetuning-notebooks Colab trainers, a genuinely respected name in the local-AI scene. The loader is the template's demo of how a real model-loader node is structured, minus the actual model.

    How it works

    Open the source and you'll see every convention a serious loader uses, with nothing behind it:

    • model (required dropdown: Model A / Model B / Model C) - a fake list of available models. In the source this is just a Python list of three strings, and ComfyUI renders any list-of-strings as a dropdown. That's the lesson.
    • device (required dropdown: cuda / cpu / auto) - passed to the mock load_model() and then ignored. You can pick anything; nothing touches a GPU.
    • compute_type (optional dropdown: float32 / float16) - the same story. It's there to show you how an optional dropdown is declared, and that's all it does.
    • Output my_model (MY_MODEL) - a custom type invented by this pack, so the template can show how your own object types travel through a graph.

    The one part that actually runs is a demo of comfy.utils.ProgressBar: the loader spins up a 5-step progress bar and sleeps through four of them, so a real "downloading / loading" feel appears even though nothing is happening. In the source header you'll also see the two lines every serious loader needs - folder_paths.models_dir to locate models and get_output_directory() for outputs - with the path my-custom-nodes appended. Strip out the mock, drop in real torch weight-loading, and this skeleton becomes an actual loader.

    When you'd reach for it

    Only two honest reasons: you're reading it to learn node authoring, or you forked the template and are replacing the mock with real code. If you saw the name and hoped for a downloader, skip it - there's no model file, no Hugging Face call, nothing cached. For real "give me a model" needs, use ComfyUI's built-in loaders or one of the many downloader utilities in the community.

    Installing it

    ComfyUI Manager won't find this pack in its index - the template isn't listed there, only jhj0517's functional packs (Moondream-Gaze-Detection, Kokoro-Onnx). Clone it directly:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jhj0517/ComfyUI-CustomNodes-Template
    

    Restart ComfyUI and the nodes appear under the CustomNodesTemplate category. Zero dependencies - requirements.txt is empty - so no pip install and no model downloads. Don't copy the README's clone command; it's the template's own placeholder (replace-this-with-your-github-repository-url.git).

    Common issues

    • It looks frozen for ~4 seconds. That's the fake progress bar sleeping. It's not a hang.
    • Nothing appears in your models folder. Correct - the mock never writes a file, and device/compute_type genuinely do nothing. If you expected a real model, you misread the name.
    • The example workflow needs rgthree. workflows/example-1.json ends in a Display Any (rgthree) node, so load it only if rgthree-comfy is installed, or swap in your own display/preview node.
    CategoryCustomNodesTemplate

    Inputs (3)

    NameTypeDefaultDescription
    modelCOMBO3 options: Model A, Model B, Model C
    deviceCOMBO3 options: cuda, cpu, auto
    compute_typeoptCOMBO2 options: float32, float16

    Outputs (1)

    NameTypeDescription
    my_modelMY_MODEL