Nodes/ComfyUI_Aniportrait/Generate Ref Pose 🎥AniPortrait
ComfyUI Node

Generate Ref Pose 🎥AniPortrait

Generate Ref Pose Is a Ghost Node — Here's What It Did and Why It's Gone

By frankchieng·Created 2 years ago·Updated 2 years ago· 59
Generate Ref Pose 🎥AniPortrait
  • image
  • ref_pose_path
â—„frame_count0â–º
â—„fps0â–º

If you searched for this node because a workflow told you to add it and you can't find it anywhere in your node list, breathe out: you're not blind, and you didn't install wrong. AniPortrait_Generate_Ref_Pose (menu name "Generate Ref Pose🎥AniPortrait") is a ghost in this pack - it's fully written in the source, but the author commented it out of the node registration, so a fresh install of frankchieng/ComfyUI_Aniportrait will not show it at all. That's the honest headline, and it's probably all you needed.

What it was for

In the pack's earlier form, this node was the "reference pose" extractor for face reenactment. Where AniPortrait_Video_Gen_Pose draws a visible skeleton image, this one went deeper: it ran MediaPipe on every frame of a driving video, computed each frame's head pose relative to the first frame (rotation + translation, via the face transformation matrix), interpolated that pose curve up to 30fps, smoothed it, and saved the result as a .npy pose file in ComfyUI's output directory. It then returned that file path as a FILENAMES output named ref_pose_path. The idea was to store the head-motion track once and reuse it to drive renders - a decoupled motion file, similar in spirit to how AnimateDiff-era tooling separated motion from appearance.

Inputs and outputs (as shipped in the brief)

  • image (IMAGE) - the driving video's frames.
  • frame_count (INT) - number of frames of the source to process.
  • fps (INT) - the source video's frame rate, used to interpolate the pose curve correctly.

Output: ref_pose_path (FILENAMES) - path to the saved .npy pose sequence.

Why it's disabled

The author's roadmap notes say the face-reenactment and audio2video workflows were reworked (April 2024, when the audio2pose model landed), and the newer approach computes poses inline inside the generator nodes rather than saving and re-reading a pose file. The commented-out block is right there in nodes.py - look for class GenerateRefPose wrapped in a giant ''' comment, and its registration line in the node mappings also commented out. It's dead code, kept around as a reference.

What this means for you

  • If a tutorial or old workflow references "Generate Ref Pose," it's stale. The pack's current assets/*.json workflows don't use it - they do reenactment through AniPortrait_Audio2Video with images and fps inputs instead.
  • If a workflow fails to load with this node missing, delete the node (or the workflow) and rebuild with the current files. Nothing in the current pack needs it.
  • If you genuinely want the .npy reference-pose workflow, you'd have to check out an old commit of the repo - not worth it. The inline approach works and is less plumbing.

Install

Nothing special, since the pack gives you the six registered nodes and not this one:

cd ComfyUI/custom_nodes
git clone https://github.com/frankchieng/ComfyUI_Aniportrait
cd ComfyUI_Aniportrait && pip install -r requirements.txt

or via ComfyUI Manager ("ComfyUI_Aniportrait") and restart. And when someone asks why their Generate Ref Pose is missing, now you can explain it: the node exists in the code, but the author left it in the trunk.

CategoryAniPortrait 🎥Video

Inputs (3)

NameTypeDefaultDescription
imageIMAGE—
frame_countINT00–18446744073709550000—
fpsINT00–18446744073709550000—

Outputs (1)

NameTypeDescription
ref_pose_pathFILENAMES—