Nodes/ComfyUI_HelloMeme/Get Face Expression V2
ComfyUI Node

Get Face Expression V2

Get Face Expression V2 — the PD-FGC expression extractor

By HelloVision·Created 2 years ago·Updated about a year ago· 374
Get Face Expression V2
  • face_toolkits
  • images
  • landmarks
  • expression

GetExpression2 is the V2 of GetExpression with an identical interface and a different engine under the hood. Where the original pulls expression parameters from the ARKit blendshape and 3DMM predictors inside the face toolkits, V2 runs the frames through the PD-FGC motion module - the same module the pack uses in its newer "HMControlNet2" path. It returns the same EXPRESSION object and plugs into the same sockets, but the motion signal it extracts is the one the pack's newer versions expect.

It was added in the pack's 11/14/2024 update, when the author restructured the interface and introduced the HMControlNet2 module using PD-FGC to extract the driving expression (drive_exp2). Since then, the current workflows lean on V2 for the drive side. If the graph you're building copies the pack's own video or image workflow, it'll want GetExpression2 for the driving expression.

The inputs and output that matter

Identical to GetExpression:

  • face_toolkits - from HMFaceToolkitsLoader. The PD-FGC motion model actually lives in this bundle, which is why the loader has to download it.
  • images - the reference frame or driving frames.
  • landmarks - FACELANDMARKS222 from GetFaceLandmarks on the same frames.

Output: expression (EXPRESSION), wired into ref_expression or drive_expression on the pipeline nodes.

Which one do you use?

Rough rule: the original GetExpression still gets used for the reference image's expression in many workflows, while GetExpression2 handles the driving video - because the PD-FGC signal is what the newer HMControlNet2 conditioning path is tuned to. When in doubt, follow the pack's example workflow for your version rather than swapping them. If a workflow that used to work starts misbehaving after you updated the pack, check whether it needs the V2 extractor on the drive side; the author moved the defaults for good reason.

Installing it

Part of the HelloMeme pack - ComfyUI Manager (hellomeme-api) or:

cd ComfyUI/custom_nodes
git clone https://github.com/HelloVision/ComfyUI_HelloMeme
# restart ComfyUI

No extra model of its own to fetch: the PD-FGC motion model downloads as part of the face toolkits on the loader's first run.

Common issues

  • Same failure modes as V1. Any driving frame without a detectable face aborts upstream at the landmark node; keep the face on screen.
  • Mixing versions. GetExpression2 output fed where the workflow expects the V1-style signal (or vice versa) generally isn't an error - it's a subtle quality regression you might not spot for a while. If output looks off after editing a graph, check which extractor each socket is fed from.
Categoryhellomeme

Inputs (3)

NameTypeDefaultDescription
face_toolkitsFACE_TOOLKITS
imagesIMAGE
landmarksFACELANDMARKS222

Outputs (1)

NameTypeDescription
expressionEXPRESSION