YOLOv8n Face
The tiny detector that feeds your face workflows
- image
- image
YOLOv8n is the nano model in Ultralytics' object-detection family - the one that runs on a toaster and still finds things - and here it's pointed at faces. This node detects the faces in an image and hands the result back as an IMAGE, with the detection tuned by a few quality settings. It's not a generator and it's not a beauty filter; it's the utility step that tells you where the faces are.
The thing to understand first: this node runs as an imageMasking task on Runware's cloud, and its settings - maskPadding, maskBlur, confidence, maxDetections - make clear it's producing face regions/masks, not just bounding boxes. That makes it a support node for face-centric pipelines: detecting which faces to target, generating face masks for selective editing or inpainting, or pre-processing before a face-aware model. On a local setup you'd wire this job into FaceDetailer territory; here it's a hosted call that costs a few cents.
Inputs that matter
image is required. The settings that actually shape the output:
settings.confidence- detection threshold, 0–1, default 0.5. Only detections above this score come back. If you're missing half the faces, drop it to ~0.3; if you're getting garbage detections, raise it.settings.maxDetections- cap on how many faces to return, default 6. The model keeps the highest-confidence ones beyond the cap. For group-photo work, raise it.settings.maskPadding- pixels to extend (positive) or shrink (negative) the face region, default 10. Positive gives the mask a little hair/neck context - useful before a face-region inpaint - and it's the "inclusive vs tight" knob.settings.maskBlur- blur radius on the mask edges, default 5. Higher = softer, more compositing-friendly transitions.
outputFormat is the one file knob; ttl/ttl_value are the standard pack tail.
How it works
The node sends runware:35@1 as an imageMasking task through the Runware SDK, with your image uploaded as part of the request. The returned face mask(s) come back as a native IMAGE tensor. Since the output is an IMAGE, you can feed it straight into other Runware nodes - as a maskImage for inpaint/outpaint work, or into an ultralytics-aware step - or save it. The title bar logs cost per run.
Install and gotchas
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Restart; API key via Settings → "Runware API key", RUNWARE_API_KEY, or runware auth login. Paid per call, minimum top-up.
The honest expectations: the "n" in YOLOv8n means it trades accuracy for speed - it's the fastest, cheapest detector, not the most precise one. On hard angles, heavy occlusion, or tiny faces in crowd shots, it'll miss some. And this is a face-masking node in a cloud pack: it's the right tool when you're already renting inference and need a quick region map, and the wrong tool if you need a detailed keypoint/landmark model or want to run detection for free on your own GPU (any local Ultralytics install does that better). It's a plumbing node - wire it in where a mask or a detection feed is what your graph is missing.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| settings.confidenceopt | FLOAT | 0.500–1 | Confidence threshold for detections. Only detections above this score are included. |
| settings.maskBluropt | INT | 50–100 | Blur radius for mask edges, creating smooth transitions. |
| settings.maskPaddingopt | INT | 100–200 | Pixel amount to extend (positive) or shrink (negative) the mask area. |
| settings.maxDetectionsopt | INT | 61–20 | Maximum number of detections. Prioritizes highest confidence scores if exceeded. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | JPG | File format for the generated image. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |