ComfyUI Node

MediaPipe Face Mesh Eyes Only

An eyes-only face mask, via the API — the boring node that earns its keep

By Runware·Created 2 years ago·Updated about a month ago· 140
MediaPipe Face Mesh Eyes Only
  • image
  • image
settings.confidence0.50
settings.maskBlur5
settings.maskPadding10
settings.maxDetections6
ttlfalse
ttl_value60
outputFormatJPG

Sometimes the most useful node in a pack is the one that does one tiny thing well. Runware_mediapipe_face_mesh_eyes_only detects faces in an image, runs MediaPipe's face mesh landmarking, and returns a mask isolating just the eyes - with controls for how tight, blurred, and padded that mask is. It's a preprocessing utility (runware:35@9, task type imageMasking), and it exists so you don't have to install MediaPipe, wire up face-landmark nodes, and hand-tune the geometry yourself.

Where does this slot into a real workflow? An eyes-only mask is the classic input for eye-focused inpainting or img2img - regenerating just the eyes (the part of a face everyone looks at first) without touching skin, hair, or mouth. It's also handy for eye color edits, gaze adjustments, and any pipeline where you want a precise face-region mask and the local MediaPipe stack is more overhead than you want. Because it runs on Runware's cloud, there's nothing to install beyond the pack itself.

Inputs and controls

  • image (required) - the face image, as an IMAGE socket.
  • settings.confidence - detection threshold, 0–1, default 0.5. Raise it to reject weak detections.
  • settings.maxDetections - 1–20, default 6. More faces in frame = consider raising it; fewer, tighter = lower it so the strongest faces win.
  • settings.maskBlur - 0–100, default 5. Blur radius on the mask edges; a few pixels stops hard, crunchy boundaries when you inpaint.
  • settings.maskPadding - 0–200, default 10. Extend (or with a negative, shrink) the masked area. The tooltip calls out the negative range - padding isn't just "more," it's also "tighter."

The image output is a mask in IMAGE form - the classic white-on-black segmentation output you'd feed into an inpainting node or a mask-aware generation.

What's worth knowing

  • It's a mask, not an edit. The output is the segmentation, not a "fixed eyes" result. The node's job ends where the eyes-only region is isolated; what you do with that region is the next node's job.
  • This is the package-deal version of a local task. If you already run Impact Pack + face-detection locally, this duplicates capability. If you don't, it's a one-node replacement for a whole dependency tree.
  • Toggles and tooltips are your friends - confidence, maxDetections, blur, and padding are all settings under the pack's standard pattern, and the tooltips spell out each one's behavior precisely.
  • Face size matters. A tiny face in a big group shot will be under the confidence threshold; crop or raise... no, lower the threshold, and watch maxDetections.

It's not glamorous, and that's the compliment. When you need an eyes-only mask without building a MediaPipe pipeline from scratch, this is the node you'll quietly reach for every time.

CategoryRunware/Image/runware

Inputs (8)

NameTypeDefaultDescription
imageIMAGE
settings.confidenceoptFLOAT0.500–1Confidence threshold for detections. Only detections above this score are included.
settings.maskBluroptINT50–100Blur radius for mask edges, creating smooth transitions.
settings.maskPaddingoptINT100–200Pixel amount to extend (positive) or shrink (negative) the mask area.
settings.maxDetectionsoptINT61–20Maximum number of detections. Prioritizes highest confidence scores if exceeded.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOJPGFile format for the generated image.

Outputs (1)

NameTypeDescription
imageIMAGE