MediaPipe Face Short
The tighter face mask, for edits that shouldn't wander
- image
- image
If the full-face MediaPipe node is the sledgehammer, this is the scalpel. "Face Short" is the same cloud MediaPipe family but with a tighter face region mask - it hugs the face proper instead of reaching for the whole head. When you want to fix skin texture, smooth a forehead, or rework the mid-face without the model wandering into the hairline, that extra restraint is exactly what you want.
What you get
An imageMasking task: send in an image, get back a soft-edged image mask of the face region, computed by MediaPipe on Runware's cloud. Same output contract as the other MediaPipe nodes in the pack - an IMAGE tensor that you convert to MASK (core ImageToMask) for a sampler, or feed into a Runware inpaint node that takes IMAGE masks.
The practical difference vs. the plain face mesh is coverage. "Short" cuts the region tighter, so it's the right pick when a full-face mask would let an inpaint reach into the forehead, ears, or neck - the classic "I just wanted smoother skin, why did it touch my hair" complaint. Pair the tight mask with modest settings.maskPadding and the edit stays put.
Settings
Only four matter, and they're shared across the MediaPipe nodes:
settings.confidence(default 0.5) - detection threshold. Lower if faces are missed, raise if it's over-detecting.settings.maskBlur(default 5) - feather on the mask edges. This one matters more here, since a tight mask with hard edges produces visible seams on skin.settings.maskPadding(default 10) - extend or shrink the region. Negative padding on a short face mask gives you a very contained edit.settings.maxDetections(default 6) - how many faces to process.
The ttl, ttl_value, and outputFormat widgets are pack plumbing you can leave alone.
Install and key
It's part of ComfyUI-Runware, so one install covers all of it:
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Restart (or ComfyUI Manager → search "Runware"). No model files download - the model runs in the cloud, so any machine works. You do need a Runware API key: paste it in Settings → Runware API key, set RUNWARE_API_KEY, or run runware auth login.
Gotchas
Each run costs a little and hits the network - the title bar shows the per-run cost and a NSFW flag when a content check runs. And one honest caveat: the pack doesn't document exactly which landmarks "short" traces, so if your mask comes back tighter than you expected, that's the feature - compensate with maskPadding rather than fighting it.
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 | — |