ComfyUI Node

Muse Face Lock

One Image In, a Clean Face Crop Out

By muse-collective-26·Created 3 months ago·Updated about a month ago· 8
Muse Face Lock
  • image
  • face_image
padding_percent25
confidence_threshold0.50
promptface

Small utility, specific job: you give it a reference image - full-body, half-body, whatever - and it hands you back a tight crop of just the face. That's the whole node. MuseFaceLock uses SAM3's text-prompted segmentation to find the face, crops to its bounding box with a configurable margin, and outputs one clean face_image. Its reason to exist is the Muse director family: V3 and V4's Face ID wants a close-up face crop, and this node produces one automatically from any reference.

It's one of those nodes that looks trivial and quietly saves you a lot of manual cropping. And it's the first of the pack's utility nodes to reveal a dependency the README doesn't mention.

How it works

Under the hood it calls the SAM3Segmentation node from the comfyui_sam3 custom node package - lazily resolved from ComfyUI's node registry the first time you actually run it, which is a deliberate design choice so the rest of the pack loads fine even if you don't have SAM3 installed. Give it an image and it segments on the text prompt face, finds the mask's bounding box, pads it by padding_percent of the box's own size, and crops.

The inputs are refreshingly few:

  • image - your reference. Any framing works; that's the point.
  • prompt - the text SAM3 uses to find the region. Defaults to face, which is the normal case, but you can change it to anything ("cat", "logo") and the node becomes a generic object-cropper.
  • padding_percent - extra margin around the detected face box, as a percentage of the box's size. Default 25; raise it if the crop feels claustrophobic, lower it if you're feeding a pipeline that wants a tight face.
  • confidence_threshold - detection confidence (default 0.5). If nothing's detected above the threshold, the node falls back to returning the uncropped image with a logged warning.

Output: a single face_image.

Installing it

Two installs, not one. First the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/muse-collective-26/muse-ltx-timeline

Then, because this node genuinely needs it, the SAM3 package:

cd ComfyUI/custom_nodes
git clone https://github.com/your-repo/comfyui_sam3  # or install via ComfyUI Manager: search "SAM3"

The README for this pack never mentions comfyui_sam3 - it's a lazy dependency that only bites when you use this node. The lazy-loading means the pack still works without it; you just get an error the moment you try to run Face Lock. SAM3 itself is also worth knowing about: it's Meta's promptable segmentation model, and SAM3 is not Apache-2.0 like its predecessors, so mind the license if you're shipping workflows that bake it in.

Gotchas

  • No SAM3, no node. Missing comfyui_sam3 is the #1 "why is this broken" for Face Lock.
  • The fallback behavior (returns the full image when no face is found) can silently feed an uncropped image into a Face ID pipeline. Watch the console for the warning if identity starts drifting.
  • It unloads SAM3 from VRAM immediately after running - a thoughtful touch, since the LTX 2.3 stack is already hogging ~24GB of your card.

Honestly, if you're using Muse Director V3 or V4 for face-consistent long-form, add this node and stop cropping faces by hand. If you're not on the director path, it's still a competent generic SAM3 cropper, just with a single named output.

CategoryMuse Collective

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
padding_percentFLOAT250–200Extra margin added around the detected face box, as a percentage of the box's own size.
confidence_thresholdFLOAT0.500–1
promptSTRINGfaceText prompt SAM3 uses to find the region to crop. 'face' is the default and normal case.

Outputs (1)

NameTypeDescription
face_imageIMAGE