Nodes/ComfyUI Watermark Detection Node/Load Watermark Detector
ComfyUI Node

Load Watermark Detector

A loader with zero inputs that still does all the work

By lrzjason·Created about a year ago·Updated about a year ago· 51
Load Watermark Detector
    • model

    This node is a glorified open this file. There's not a single input on it, one output, and yet it's the node that actually pulls the model onto your machine. If you're using this pack at all - and there's a good reason to, see below - this is the node you'll drop in first.

    What's actually in that download

    The "Load Watermark Detector" node loads a YOLOv11x model (yolo11x-train28-best.pt, about 110 MB) that was trained by the JoyCaption team. Yes, that JoyCaption - the captioning model that became the community's default for tagging LoRA training sets. Watermark detection was literally built as a sub-project of it: the same people needed to spot watermarked images in their training data, so they trained a detector, then open-sourced it.

    It's a broad definition of "watermark" too. The model catches typical logos and watermarks, but also artist signatures, social media usernames, and the little "© name" text people stamp into corners. The original author reported it at roughly 90% box accuracy for the YOLO model, and it was announced on r/StableDiffusion in January 2025 for exactly the use cases you'd guess: filtering datasets, loss masking during training, and making sure captioners mention watermarks when they're present.

    How it works (such as it is)

    The node has no inputs and one output: model, typed as YOLO_MODEL. The first time you run it, it downloads yolo11x-train28-best.pt from the re-hosted lrzjason/joy_caption_watermark_yolo repo on Hugging Face and stashes it in ComfyUI/models/yolo/. Every run after that is instant - it just loads the local weights and hands the model object to whatever's waiting on the model wire, which in practice is the pack's other node, Detect Watermarks.

    The "no inputs" bit is worth knowing up front. There's no device selector, no model dropdown, no fallback to a smaller variant. One model, hardcoded. That's fine for a tool this small, but if you're on a low-VRAM card you get no choice - YOLOv11x is the biggest variant, and inference happens on whatever ComfyUI's torch has available.

    Installing it

    Same story as any custom node. Easiest is ComfyUI Manager: search for "Watermark Detection" and install, then restart. Or, by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/lrzjason/ComfyUI-Watermark-Detection
    

    Then restart ComfyUI. The weights come down automatically on first use - no manual model download, but also no offline option, so don't be surprised by a few seconds of silence and a progress bar the first time the loader runs.

    One real gotcha: this pack has no requirements.txt and its pyproject.toml declares zero dependencies, so ComfyUI Manager won't install anything for you. The loader needs ultralytics and huggingface_hub in your ComfyUI Python environment. If the node throws ModuleNotFoundError: ultralytics, run:

    pip install ultralytics
    

    That single install drags in a heavy dependency tree (OpenCV, scipy, and friends), and ultralytics loves to bump torch. If your ComfyUI starts misbehaving after installing it, that's the usual suspect - the classic custom-node dependency hell from the ecosystem essay you'll find on this site. Worth pinning or upgrading ComfyUI alongside.

    The bottom line

    It's a thin loader wrapping a surprisingly good open-source detector. If you want to find watermarks in images you already have, this is the unglamorous front half of the job - the interesting half lives in the Detect Watermarks node this feeds.

    Categorywatermark_detection

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    modelYOLO_MODEL