Nodes/ComfyUI_HelloMeme/Load Face Toolkits
ComfyUI Node

Load Face Toolkits

Load Face Toolkits — the mandatory first node of every HelloMeme graph

By HelloVision·Created 2 years ago·Updated about a year ago· 374
Load Face Toolkits
    • face_toolkits
    gpu_id0
    deployment

    You can't skip this one. Every HelloMeme workflow starts here: Load Face Toolkits spins up the entire face-analysis stack the pack depends on - face detection and alignment, the ARKit blendshape expression predictor, the 3DMM head model, the PD-FGC motion module used by the V2 expression extractor, and an IP-Adapter CLIP image encoder. All of it comes back as a single FACE_TOOLKITS bundle that every other "Get…" node takes as an input.

    In the wider ecosystem this is the same move LivePortrait or a talking-head rig makes - load your face models once, reuse them across the graph - except HelloMeme bundles it into one node so you can't forget a dependency in the middle of building a graph.

    How it works

    It calls the pack's toolkit loader, which downloads and instantiates the models and parks them in a dict keyed by what they do. The important practical bit: this is where the first-run downloads happen. The models come from HuggingFace repos (songkey/pd_fgc_motion, songkey/IP-Adapter's image encoder, plus the alignment/expression models) unless you switch deployment to modelscope, which pulls the same weights from ModelScope instead.

    The inputs and output that matter

    Just two inputs, both worth understanding:

    • gpu_id - which GPU to run face analysis on, default 0 (range -1 to 16). -1 means CPU, which technically works and is much slower. The toolkits feed the whole graph, so put them on the same GPU you'll sample on.
    • deployment - huggingface (default) or modelscope. Pick ModelScope if HuggingFace is blocked or slow on your network; the weights are the same.

    Output: face_toolkits (FACE_TOOLKITS), which wires into GetFaceLandmarks, GetHeadPose, GetExpression and GetExpression2. It's not a list - there's exactly one of these per graph, and one is all you need.

    Installing it

    Part of the HelloMeme pack. ComfyUI Manager, search hellomeme-api, install, restart. Manual route:

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

    The pack's requirements.txt is a serious diffusers-stack install - transformers, diffusers, accelerate, onnxruntime, opencv-python, peft, scikit-image, modelscope - and Manager handles it. A manual clone into a bare ComfyUI will try to pull all of that on first use, so be ready for a long startup. The model downloads on this node's first run are multi-gigabyte territory on top of that.

    Common issues

    • "Why is my first run hanging?" Because it's downloading the toolkits and HM modules with little feedback. Subsequent runs are much faster. If it's wedged repeatedly, try deployment = modelscope - some users get stuck on HuggingFace.
    • Out-of-memory in the middle of a graph. The toolkits are models too; they hold VRAM. If you're close to your limit and face analysis is fine but sampling dies, the toolkit models are part of the pressure. Nothing here to tune directly, but it's worth knowing where the memory goes.
    • One toolkit node per workflow. If you see two face_toolkits wires going into one downstream node, you've probably duplicated the loader by accident; delete the spare.
    Categoryhellomeme

    Inputs (2)

    NameTypeDefaultDescription
    gpu_idINT0-1–16
    deploymentCOMBO2 options: huggingface, modelscope

    Outputs (1)

    NameTypeDescription
    face_toolkitsFACE_TOOLKITS