Nodes/ComfyUI-SmolLM3/SmolLM3 Model Loader
ComfyUI Node

SmolLM3 Model Loader

Why 'small' here means a 6 GB download — the SmolLM3 loader, unpacked

By XmYx·Created about a year ago·Updated about a year ago· 5
SmolLM3 Model Loader
    • model
    • tokenizer
    model_nameHuggingFaceTB/SmolLM3-3B
    precisionfp16
    devicecuda

    Every workflow in this pack starts here - and this is also where people hit their first surprise. SmolLM3-3B is called small compared to a 70B model, not compared to your VRAM budget. The first time you hit Queue on this node, it quietly pulls roughly 6 GB off HuggingFace before anything else even happens. Don't panic, just don't run it on a metered connection at the end of the month.

    What it actually does

    The SmolLM3 Model Loader is the pack's checkpoint loader. It generates nothing by itself: it loads HuggingFace's SmolLM3-3B into memory and hands you a model and a tokenizer. Both outputs use pack-private types (SMOLLM3_MODEL, SMOLLM3_TOKENIZER), so they only plug into the two other nodes in this pack - SmolLM3 Sampler (Chat) or SmolLM3 Simple Generate. You can't feed these into some arbitrary LLM node, and vice versa.

    A little context on the pack before you invest in it: it's by XmYx (Miklos Nagy), who also makes the deforum ComfyUI nodes. The author announced this on r/comfyui in July 2025 as a self-described joy project sketched up for personal use and shared out of goodwill. It's a small, single-file pack, so set your expectations accordingly - it does one thing, and one thing only.

    How it works

    Under the hood it's a plain transformers AutoModelForCausalLM.from_pretrained() call. First run downloads the model into HuggingFace's cache, not into your ComfyUI models folder. Here's a gotcha the README never mentions: the code does register a models/smollm3 folder path in ComfyUI - but the loader never reads from it. So don't go hunting for a .safetensors to drop in there; this node only knows how to pull from the Hub.

    The three inputs, and which to touch

    • model_name - two choices: HuggingFaceTB/SmolLM3-3B (instruct-tuned, the default, the one you want for chat) and HuggingFaceTB/SmolLM3-3B-Base (raw continuation).
    • precision - fp16 (default), fp32, bf16. fp16 is roughly 6 GB of weights. fp32 doubles that to ~12 GB for almost no quality gain on a 3B model. bf16 is the same size as fp16 but needs a reasonably new GPU (Ampere or newer) - on older cards, stick to fp16.
    • device - cuda (default, uses ComfyUI's managed torch device) or cpu. CPU works, but a 3B model on CPU is slow. It's the escape hatch when VRAM is out, not the daily driver.

    That's the whole list. Everything else is handled at generation time by the other two nodes.

    Installing the pack

    The README says to pip install -r requirements.txt - but the repo doesn't ship one, so that command is effectively a no-op. What this pack actually needs is a current transformers on top of the torch ComfyUI already has.

    cd ComfyUI/custom_nodes
    git clone https://github.com/XmYx/ComfyUI-SmolLM3.git
    # restart ComfyUI - no extra pip step required
    

    Or try ComfyUI Manager's search for "SmolLM3". It's a small pack and may not be in the registry yet - if the search comes up empty, the clone above is two commands.

    Where people get burned

    • The 6 GB first-run download. It's not stuck, it's fetching the weights.
    • OOM on tight cards. fp16 at ~6 GB plus KV cache doesn't leave much room alongside a diffusion model. Drop to cpu, or just accept that this is a "do text first, then free it" workflow.
    • Transformers version conflicts. ComfyUI runs every node in one shared Python environment with no isolation. If another node pinned an old transformers, this pack can break when you least expect it - the standard dependency-hell story, and the loader won't tell you which node did it.
    • No quantization support. Some LLM packs load GGUF 4-bit/8-bit versions that run on a 6 GB card while generating images. This one is full-model-or-nothing. If VRAM is your wall, that's the trade-off you're signing up for.
    CategorySmolLM3

    Inputs (3)

    NameTypeDefaultDescription
    model_nameCOMBOHuggingFaceTB/SmolLM3-3B2 options: HuggingFaceTB/SmolLM3-3B-Base, HuggingFaceTB/SmolLM3-3B
    precisionCOMBOfp163 options: fp16, fp32, bf16
    deviceCOMBOcuda2 options: cuda, cpu

    Outputs (2)

    NameTypeDescription
    modelSMOLLM3_MODEL
    tokenizerSMOLLM3_TOKENIZER