Nodes/ComfyUI-CUP/OpenPoseMediaPipeFace
ComfyUI Node

OpenPoseMediaPipeFace

Google's 468-point face mesh, loaded into your graph

By AIGODLIKE·Created 2 years ago·Updated 10 months ago· 61
OpenPoseMediaPipeFace
    • IMAGE
    • MASK
    image
    frame0

    OpenPoseMediaPipeFace is the CUP pack's loader for MediaPipe face control images - the dense 468-landmark face mesh that's far more detailed than the ~70 points of a standard openpose face map. If you're doing lip-sync or micro-expression work in the AIGODLIKE Blender pipeline and the coarse landmark set isn't cutting it, this is the one you want.

    A word on what MediaPipe is here, since the name keeps confusing people: Google's MediaPipe is the open-source (Apache 2.0) face-landmark library this community often reaches for when it needs clean, commercially-usable detection. But - and this is the same song as every node in this pack - this node doesn't run MediaPipe. It's an OpenPoseBase subclass with posetype = "MediaPipe_face", so it just reads a control image that Blender already rendered: <image-dir>/MediaPipe_face/ImageNNNN.png. The MediaPipe detection itself happens in the Blender addon.

    How it works

    The inputs are the CUP standard:

    • image (STRING) - directory of rendered control images (filled by the Blender addon).
    • frame (INT, default 0) - which frame's mesh to load.

    Outputs: IMAGE (the dense face mesh drawing → Apply ControlNet with a mediapipe_face model) and MASK (from the PNG's alpha, optional). Because the mesh is so dense, the condition captures subtle shape - a mouth curve, cheek position - that a sparse landmark set flattens out. It's the control you reach for when faces need to actually act.

    Install and gotchas

    Ships with ComfyUI-CUP. Manager → search ComfyUI-CUP, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/AIGODLIKE/ComfyUI-CUP.git
    

    Restart, and you're done - no model files, no pip deps beyond what ComfyUI already has.

    Caveats: it's a loader, not a detector, so standalone in the web UI it does nothing useful, and it needs the addon rendering MediaPipe_face frames. Missing frame → 64×64 black placeholder instead of an error, which then poisons a ControlNet silently. If face control dies mid-shot, that's the first thing to check - not your sampler settings.

    CategoryOpenPose

    Inputs (2)

    NameTypeDefaultDescription
    imageSTRING
    frameINT0-2147483648–2147483648

    Outputs (2)

    NameTypeDescription
    IMAGEIMAGE
    MASKMASK