Nodes/ComfyUI-Nudenet/Nudenet Model Loader
ComfyUI Node

Nudenet Model Loader

Nudenet Model Loader — ComfyUI Node Guide

By phuvinh010701·Created 2 years ago·Updated 11 months ago· 63
Nudenet Model Loader
    • NUDENET_MODEL
    model

    What it is

    This is the boring but necessary first node in any NSFW-filtering graph built with ComfyUI-Nudenet. It doesn't detect anything or censor anything itself - all it does is find the NudeNet ONNX model file on disk and hand you back a loaded model object that ApplyNudenet can actually run inference with. Think of it the same way you think of a checkpoint loader: one node, one job, and everything downstream depends on it working first.

    The pack (built on top of notAI-tech/NudeNet and vladmandic's earlier sd-extension-nudenet) exists to do one thing - flag and locate exposed body parts in an image so you can automatically blur, pixelate, or otherwise cover them. That's a real, common need in this ecosystem: anyone running a public-facing generation app, a Discord bot, or a gallery that needs to keep thumbnails SFW ends up building some version of this pipeline. Rolling your own with a general-purpose detector (YOLO + Impact Pack's bbox tools, for instance) works, but it's more assembly than most people want to do for what is fundamentally a "is there nudity here, and where" question. This node is the on-ramp to the pre-built version.

    The one input that matters

    There's exactly one field: model, a dropdown populated from whatever .onnx files you've dropped into models/Nudenet/ in your ComfyUI install. Pick one, and the node outputs a single NUDENET_MODEL - a loaded, ready-to-run model object. Wire that straight into ApplyNudenet's nudenet_model input and you're done with this node.

    How to install it

    1. Search "ComfyUI-Nudenet" in ComfyUI Manager, or clone it by hand:
      cd ComfyUI/custom_nodes/
      git clone https://github.com/phuvinh010701/ComfyUI-Nudenet
    2. Install the pack's Python dependencies: pip install -r requirements.txt (run this in whatever environment ComfyUI itself runs in).
    3. This is the step people skip and then get stuck on: create a models/Nudenet/ folder under your ComfyUI root, and download the actual model weights into it - the README links a CloudFront-hosted nudenet.onnx, or a HuggingFace copy under Perfectfox256/hotscreen-detection-models. Neither of those ships with the node pack itself; the git clone only gets you the code.
    4. Restart ComfyUI so it picks up both the new custom node and the new model folder.

    Common issues

    The model dropdown is empty. This is the failure mode almost everyone hits first, and it's always the same cause: the models/Nudenet/ folder either doesn't exist or doesn't have an .onnx file in it. ComfyUI Manager installs the node code but has no idea it also needs to fetch a model - that part is manual, per the README. Create the folder, drop the file in, restart.

    You made the folder but the model still doesn't show up. Double-check you actually restarted ComfyUI rather than just refreshing the browser tab - model folders are scanned at startup, not on every graph load. Also check the folder name is exactly Nudenet (capital N, rest lowercase) - ComfyUI custom-node model paths are usually hardcoded by the author rather than auto-discovered from any arbitrary directory, so a typo here just silently finds nothing.

    Dependency install errors from pip install -r requirements.txt. This is the generic ComfyUI custom-node tax rather than anything specific to this pack - every node's requirements.txt installs into the same shared Python environment, and with roughly a hundred packs commonly stacked in a single ComfyUI install, version conflicts between them are a known, structural annoyance in this ecosystem rather than a sign you did something wrong. If it fails, read the actual error for which package collided before assuming the node is broken.

    Once the model loads cleanly, the rest of the pack - FilterdLabel to pick which body parts count, ApplyNudenet to actually run the censoring - is where the real configuration happens. This node's whole job is just getting you a valid NUDENET_MODEL to plug into that.

    CategoryNudenet

    Inputs (1)

    NameTypeDefaultDescription
    modelCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    NUDENET_MODELNUDENET_MODEL