EchoMimicV2PoseNode
Feed your talking head any gesture you want
- driving_pose
- POSE
- VIDEO
This node doesn't generate a single pixel of video. What it does is decide what your talking head does with its body - and it's the difference between an EchoMimicV2 output that looks like a news anchor and one that looks like a mannequin. It sits in the AIFSH/EchoMimicV2-ComfyUI pack from the AIFSH author (same person behind ComfyUI-Hallo and a shelf of audio/video model ports), and it produces the POSE that EchoMimicV2Node eats as its gesture source.
The whole concept is borrowed from the pose-conditioned video world: you don't animate the person directly, you animate a skeleton and let the diffusion model follow it. EchoMimicV2 does audio-driven lip-sync and pose-driven motion at the same time, and this node is the pose half of that bargain.
Two modes, one output
The pose input is just a string, and it chooses the mode:
"default"- the zero-setup path. The node skips all detection work and hands you the bundled 336-frame hand-gesture skeleton loop shipped inside the pack (echomimicv2/pose/01). The generator then loops that cycle to match however long your audio is, which is the pack's "动作自循环" (auto-loop) selling point. This is the mode in the official base workflow: LoadImage + LoadAudio + PoseNode(default) + EchoMimicV2Node. You can be generating in minutes.- Any other name - your own gesture. Feed a driving_pose video (a
VIDEO, i.e. the VHS type - record yourself, or grab a clip of someone waving) and the node runs DWPose whole-body detection (YOLOX + adw-ll_ucocopose model, the same stack ControlNet-style pose pipelines use) over every frame, rescales the skeletons to the 768×768 working resolution, and saves the per-frame.npypose files undermodels/AIFSH/EchoMimicV2/DWPose/pose/<yourname>/. That folder is the cache: if it already has enough frames, the node skips re-detection on the next run.
The README's headline feature - "自定义手势" (custom gestures) - is exactly this second mode, pitched as a budget alternative to paying for commercial digital-human services. Point your phone at yourself, and your generated character performs your moves.
The inputs and outputs that matter
- pose (
STRING) -"default"or the name of a previously saved custom pose. The tooltip's the author's own description: "name your pose or use the pose proposed in ['default']". - tgt_fps - 24 by default. The frame rate the pose loop and output will run at. Match it to your audio's expectations; the generator assumes it when turning audio duration into frame counts.
- if_draw_ori_frame (
BOOLEAN, default false) - whether the skeleton preview video is just lines on a background or the original driving frames with the skeleton overlaid. Purely cosmetic, for eyeballing your pose. - driving_pose (
VIDEO, optional) - required only for the custom mode.
It returns two things:
- POSE - the pose dictionary. This is the one that matters; wire it into
EchoMimicV2Node'sposeinput. - VIDEO - a skeleton preview you can check with VHS's PreViewVideo or VideoCombine. In default mode there's nothing to preview, so it just passes through whatever driving video you gave it (or nothing).
Installing and the real costs
Same pack, same steps as the generator node:
cd ComfyUI/custom_nodes
git clone https://github.com/AIFSH/EchoMimicV2-ComfyUI
or install "EchoMimicV2-ComfyUI" via ComfyUI Manager and restart. The pose node's dependencies (decord, moviepy, ffmpeg-python, mediapipe) install with the pack, and the DWPose weights come down as part of the BadToBest/EchoMimicV2 HuggingFace bundle - that multi-GB download happens when the other node loads, so the pose node itself is lightweight to start with. First-time custom pose extraction is slow because it's running DWPose over every frame, but it caches, and the second run is instant.
Gotchas
- No driving video, no custom pose. If you type a name into
poseand leavedriving_poseunplugged, the node chokes - there's nothing to extract from. Use"default"until you have a video. - Quality in, quality out. Your driving video's gestures are what get cloned, so shaky or occluded footage makes garbage skeletons. Well-lit, single-person footage beats anything fancy.
- Aspect is locked. Everything is rescaled to the model's 768×768 square, so extreme aspect-ratio driving videos get squashed or letterboxed.
Use it once with "default" to see the pack work, then spend the ten minutes to film a gesture loop - that's where EchoMimicV2 stops being a demo and starts being your digital human.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| pose | STRING | default | name your pose or use the pose propossed in ['default'] |
| tgt_fps | INT | 24 | — |
| if_draw_ori_frame | BOOLEAN | false | — |
| driving_poseopt | VIDEO | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| POSE | POSE | — |
| VIDEO | VIDEO | — |