Nodes/ComfyUI-MiVolo-V2/Load MiVOLO Detector (YOLO)
ComfyUI Node

Load MiVOLO Detector (YOLO)

The node that finds people so MiVOLO doesn't have to guess

By vdeng-ai·Created 10 months ago·Updated 20 days ago· 26
Load MiVOLO Detector (YOLO)
    • DETECTOR_MODEL
    model_name

    This is the one node in the MiVOLO pack that has nothing to do with age or gender. Its whole job is spatial: look at an image, find the people, find the faces, and hand those boxes to the predictor so it doesn't have to scan the whole frame. The canvas name is Load MiVOLO Detector (YOLO), class MiVOLODetectorLoader, and it's an ultralytics YOLO model under the hood - yolov8x_person_face.pt specifically, a detector trained to output two classes: person (class 0) and face (class 1).

    What it does

    If you've used ADetailer or Impact Pack, you already know this pattern: a YOLO .pt file runs over the image and returns bounding boxes. This loader is the same idea, specialized for the MiVOLO pipeline. It's only needed by the MiVOLO Predictor (with Detector) node - if you're using the from-crops predictor, you can skip this entirely.

    The one real mechanism detail: the x in yolov8x is the extra-large YOLO variant, so it's the accurate end of the speed/accuracy tradeoff. For a single still image that's fine; it's not built for video frame rates.

    The input and the output

    Just like the model loader, this is minimal:

    • model_name - a dropdown. Default is the full path iitolstykh/demo_yolov8_detector/yolov8x_person_face.pt. The loader also scans ComfyUI/models/yolo/ for any local .pt files and lists them, so if you've got your own detector weights sitting there, they show up and you can swap them in.

    Output:

    • DETECTOR_MODEL - a loaded YOLO model object. Wire it into the detector_model input of MiVOLO Predictor (with Detector).

    How to install it

    Same pack install as everything else (ComfyUI Manager, search ComfyUI-MiVolo-V2, or git clone https://github.com/deng-wei/ComfyUI-MiVolo-V2.git into custom_nodes/ then pip install -r requirements.txt). There's no separate model step: the first time you run, the loader checks ComfyUI/models/yolo/, finds nothing, and downloads yolov8x_person_face.pt from Hugging Face automatically. Later runs reuse the local copy. If you're offline, grab the single .pt from iitolstykh/demo_yolov8_detector and drop it in ComfyUI/models/yolo/ yourself.

    Gotchas worth knowing

    • The ultralytics baggage. This pack pulls ultralytics>=8.3.0,<9, and that dependency has history: a compromised Ultralytics release in December 2024 shipped a cryptominer, and it reached ComfyUI users through exactly this kind of detect-crop node pack. The versions pinned here postdate that incident, so you're not in the blast zone - but let ComfyUI Manager resolve the install and don't go running random newer Ultralytics builds with your production environment until you've tested them.
    • First run needs network. No local .pt → it downloads. If the run fails instantly with nothing in the console, it's almost always a blocked Hugging Face download.
    • YOLO class IDs matter if you roll your own weights. The predictor assumes class 0 = person and class 1 = face. A community detector with different class ordering will silently misbehave - check your weights before swapping them in.
    CategoryMiVOLO/AgeGender

    Inputs (1)

    NameTypeDefaultDescription
    model_nameCOMBO1 options: iitolstykh/demo_yolov8_detector/yolov8x_person_face.pt

    Outputs (1)

    NameTypeDescription
    DETECTOR_MODELDETECTOR_MODEL