ComfyUI Node

YOLOE-26 Load Model

Why every YOLOE-26 workflow starts at this one boring node

By Rinne414·Created 6 months ago·Updated 2 months ago· 11
YOLOE-26 Load Model
    • model
    model_nameyoloe-26s-seg.pt
    deviceauto
    auto_downloadtrue
    offload_to_cpufalse

    Every workflow in this pack starts here, and it's the least glamorous node you'll ever use. It doesn't segment anything. It doesn't draw boxes. All it does is load a YOLOE-26 model into memory and hand it to the segmentation nodes downstream. But it quietly handles the two things that actually trip people up: downloading the weights the first time, and making sure the model is still loaded when your workflow runs it for the fiftieth time.

    YOLOE-26, in case you haven't met it, is Ultralytics' open-vocabulary segmentation model. Where a normal YOLO detector only finds the classes it was trained on, YOLOE-26 can segment whatever you describe in words - person, red apple, cat, whatever. This loader wraps it for ComfyUI.

    How it works

    The node looks for a .pt file in your ComfyUI model directories. If it's there, it loads it. If it isn't and auto_download is on (it is by default), it pulls the official weights from Ultralytics into models/ultralytics/segm/ and verifies them against pinned SHA256 digests before loading - so you're not silently handed a corrupt or swapped file.

    The important part for workflow design: the model loads once and stays alive for the whole graph. That's the whole reason a separate loader node exists. Any number of Prompt Segment, Instance Masks, or Class Masks nodes can hang off this single output and reuse the same loaded model, instead of each reloading it. The output is a model of type YOLOE_MODEL - not an image, not a tensor. It only plugs into other YOLOE-26 nodes.

    The inputs that matter

    • model_name - the dropdown shows the five official sizes (yoloe-26n/s/m/l/x-seg.pt) plus any .pt files sitting in your model folders. Default is yoloe-26s-seg.pt, which is the sensible starting point. The x is biggest and most accurate but slowest; n is tiny and fast. Drop a custom .pt in a model directory and hit r in ComfyUI to refresh the list.
    • device - auto lets Ultralytics pick, which is usually right. cpu is always there; cuda, cuda:N, and mps appear in the list when those backends are actually available.
    • auto_download - true by default and the recommended setting. Flip it false for fully offline use; then the model must already exist on disk.
    • offload_to_cpu - moves the model to CPU after each segmentation node finishes, freeing VRAM for your diffusion model. Handy when you're sharing a GPU with a big checkpoint; costs a bit of speed because weights shuffle back and forth.

    Installing the pack

    The loader is one of seven nodes in the Rinne414/ComfyUI-YOLOE26 pack, so installing it installs all of them. Easiest way: open ComfyUI Manager, search for YOLOE-26, and click Install. Or do it by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Rinne414/ComfyUI-YOLOE26.git
    pip install -r ComfyUI-YOLOE26/requirements.txt
    

    Then restart ComfyUI. The dependency list is short - just ultralytics>=8.3.200,<9.0.0 - so this is one of the lighter installs in the custom-node zoo. Models land in models/ultralytics/segm/, models/ultralytics/bbox/, models/ultralytics/, or models/yoloe/ (plus whatever you point at via extra_model_paths.yaml).

    Gotchas worth knowing

    The model weights auto-download the first time, but the first text-prompt inference then downloads the MobileCLIP text encoder (~250 MB) through Ultralytics and may install its CLIP dependency, which needs git. So: first run requires network, and it'll feel like the node is hung while that happens. It's not. Run it once online and it's done forever.

    Two failure modes people actually hit: if a download fails SHA256 verification, the file is removed and the node retries - if it fails for every model, Ultralytics republished the release assets and you should update the pack or grab the weights manually. And if a model "won't load," check it's actually in a supported directory - pointing auto_download at a random .pt you renamed won't save you. Old workflows saved with (local)/(downloadable) suffixes in model_name still work; the node normalizes them.

    One more thing to keep in the back of your head: Ultralytics is AGPL-3.0, so if you build something commercial on top of this, that license follows the weights and runtime. Fine for personal workflows, worth knowing before you ship a product.

    CategoryYOLOE26

    Inputs (4)

    NameTypeDefaultDescription
    model_nameCOMBOyoloe-26s-seg.ptYOLOE-26 model file name. Official models are downloaded automatically when auto_download is enabled; other entries are .pt files found in your ComfyUI model directories (press 'r' in ComfyUI to refresh the list after adding files).
    deviceoptCOMBOautoInference device. 'auto' lets Ultralytics choose.
    auto_downloadoptBOOLEANtrueTrue (recommended) = automatically download the model if not found locally. False = local-only; the model must already exist in a supported ComfyUI model directory.
    offload_to_cpuoptBOOLEANfalseMove the model to CPU after each segmentation node finishes to free GPU memory for diffusion models. Slightly slower because weights are transferred back to the GPU on the next run.

    Outputs (1)

    NameTypeDescription
    modelYOLOE_MODEL