Nodes/SimpleSyrup/Load Ultralytics Model
ComfyUI Node

Load Ultralytics Model

One YOLO file, three detector sockets

By Artificial-Sweetener·Created 3 months ago·Updated 12 days ago· 2
Load Ultralytics Model
    • detector_model
    • bbox_detector
    • segm_detector
    model_nameNo local Ultralytics models found

    Ultralytics YOLO models are the detection layer under half of ComfyUI's detailing workflows - the face_yolov8n.pt your face detailer runs is an Ultralytics model, even if you never think of it that way. SimpleSyrup.LoadUltralyticsModel is the loader for that ecosystem, and its trick is that one file in produces three detector outputs, so the same YOLO can drive whatever you plug it into.

    The single input is model_name, a dropdown of .pt files in ComfyUI's models folder (the pack looks in the standard ultralytics location - drop face_yolov8n.pt, hand_yolov8n.pt, or a custom one there and it appears). The default text when nothing is found - "No local Ultralytics models found" - is a straight hint to go fetch a model first, rather than a bug.

    The three outputs are the whole point:

    • detector_model - the SimpleSyrup-native detector socket, for the pack's own SEGS detection nodes.
    • bbox_detector - a bounding-box detector, for nodes that expect that shape (this is the Impact Pack BBOX_DETECTOR convention).
    • segm_detector - a segmentation detector, for nodes that expect a mask-capable detector (the Impact Pack SEGM_DETECTOR convention).

    One loader, all three types. Since SimpleSyrup is built around Impact-compatible SEGS - regions that move freely between this pack and Impact workflows - this tri-output is the adapter that makes "load once, use anywhere" literal. Grab a segmentation-capable YOLO (*-seg.pt) and you get real masks; a plain bbox model gives you boxes and leaves the masking to SAM downstream.

    Two things worth knowing about the dependency before you build a life on it:

    • The ultralytics package is a heavy, AGPL-licensed dependency that ships with the pack's requirements. If you're shipping anything commercially, the AGPL reach into detection weights is the kind of thing to answer before it's load-bearing.
    • It has a documented supply-chain history. In December 2024 a compromised Ultralytics release shipped a cryptominer, and it reached ComfyUI users specifically through the Impact Pack route. The remediation was to uninstall and reinstall clean. Nothing wrong with using Ultralytics - the entire ecosystem does - but it's a package worth updating deliberately and installing from PyPI, not from random mirrors.

    Install: the pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Artificial-Sweetener/SimpleSyrup
    cd SimpleSyrup && pip install -r requirements.txt
    

    or ComfyUI Manager → search SimpleSyrup → Install → restart, with a current ComfyUI (v3 extension API). ultralytics comes in via the pack's requirements - that's expected, not an error. If your dropdown is empty, the model isn't in the folder ComfyUI scans, so double-check the path rather than blaming the node.

    CategorySimpleSyrup/Detection

    Inputs (1)

    NameTypeDefaultDescription
    model_nameCOMBONo local Ultralytics models foundUltralytics model file in the ComfyUI models folder.

    Outputs (3)

    NameTypeDescription
    detector_modelDETECTOR_MODELDetector model for SimpleSyrup SEGS detection nodes.
    bbox_detectorBBOX_DETECTORBounding-box detector output for nodes that expect a bbox detector.
    segm_detectorSEGM_DETECTORSegmentation detector output for nodes that expect a mask-capable detector.