EchoMimicV2Node
Make a photo talk, sing, and gesture — EchoMimicV2Node turns one image plus audio into a semi-body video
- refimg
- driving_audio
- pose
- VIDEO
Take a single portrait, drop in a voice clip, and this node gives you a semi-body video of that person talking, singing, and gesturing in sync with the audio. It's the ComfyUI port of Ant Group's EchoMimicV2 (released late 2024), wrapped by the AIFSH author - the same person behind ComfyUI-Hallo and a small empire of audio/video model ports. In ComfyUI terms this is the "talking head" node people mean when they ask for digital humans that don't look like a looping JPEG with flapping lips. It's also the node where the actual generation happens; its sibling EchoMimicV2PoseNode just supplies the motion.
What it actually does under the hood
The pipeline is heavier than your average checkpoint. On first use it assembles five components: the SD VAE (sd-vae-ft-mse), a reference UNet (from sd-image-variations-diffusers) that conditions on your image, a 3D AnimateDiff-style denoising UNet with a motion module, a pose encoder for the gesture frames, and a Whisper-tiny audio encoder that turns your voice into motion cues. Everything runs in fp16 with a DDIM scheduler.
Two things make it usable on hardware that shouldn't be able to run it. First, it slices the audio into chunks of duration frames and renders each separately, stitching them back together with overlapping context frames so seams stay invisible. That's the "no limit on audio length" trick the README brags about. Second, if_low_varm quantizes the VAE and reference UNet to fp8/bf16. The raw model was announced with a 24GB GPU in mind; the chunking is what makes the author's "8GB can play too" claim plausible on shorter clips.
Your reference image gets center-padded to 768×768 before encoding - and the padding color is lawn green - that's the "automatic greenscreen" the pack's promo mentions. The output is trivially chroma-keyable for compositing.
The inputs that matter
Most of the defaults are sane; you'll touch these:
- refimg (
IMAGE) - a clear, front-facing, well-lit portrait. The pipeline is a semi-body model, so frame the shot shoulders-up. Cropping tighter beats hoping it figures out your composition. - driving_audio (
AUDIO) - feed this from ComfyUI core's LoadAudio node (the base workflow wires exactly that). This is the voice it lip-syncs to. - pose (
POSE) - fromEchoMimicV2PoseNode. That node decides what the person does; this node only decides how well it does it. - duration - chunk length in frames. The tooltip is the author's own words: "if your frames number too large, this can split it." Default 120 frames ≈ 5 seconds at 24fps. Drop it on 8GB cards; raise it if you're on a 4090 and want fewer stitch points.
- steps / cfg - 30 and 2.5 out of the box. CFG that low is normal for this class of model; don't crank it expecting more "compliance."
- context_frames / context_overlap - the temporal glue between chunks. Defaults (12/3) work for most clips.
- if_low_varm - the VRAM saver. On by default you'd want it; off by default it is.
- store_in_varm - keep the pipeline resident in VRAM between runs. True is right for interactive tweaking; flip it false when you're done or your next ComfyUI session gets memory-hungry.
Output is one thing: VIDEO, a rendered
.mp4saved straight to your ComfyUI output folder. TheVIDEOtype is the VHS convention, so preview it with PreViewVideo or save via VHS's VideoCombine, or just grab the file fromoutput/.
Installing it
Either way, same steps as any custom node:
cd ComfyUI/custom_nodes
git clone https://github.com/AIFSH/EchoMimicV2-ComfyUI
# restart ComfyUI, then let it fetch dependencies (diffusers, decord,
# moviepy, ffmpeg-python, mediapipe, accelerate, torchao, ...)
or search "EchoMimicV2-ComfyUI" in ComfyUI Manager and hit install.
The real cost is the models. The moment EchoMimicV2Node is instantiated it starts downloading from HuggingFace into models/AIFSH/EchoMimicV2/: the BadToBest/EchoMimicV2 bundle (denoising/reference/motion/pose weights, Whisper-tiny, and the DWPose detectors), plus sd-vae-ft-mse and sd-image-variations-diffusers. That's several gigabytes, and it happens at node load - your first run looks frozen. The README also links a Quark cloud-drive zip (EchoMimicV2.zip), which is the workaround if you're in a region where HuggingFace is a pain.
Where people get burned
- First run takes forever and "hangs" - it's the model download, not a crash. Watch the console and your disk usage.
- "only works on high-VRAM systems" - the original announcement said exactly this. If you're under ~12GB, keep
durationsmall and tryif_low_varmon before blaming the node. - Weird hands and stiff shoulders - baked into the model, not your settings. Reddit's verdict on V1's shoulders was "stick up their ass"; V2 improved hands a lot but semi-body animation is still a semi-triumph. Don't fight it with prompts.
- The name is a lie in the best way - no external API, no server, no key. Everything runs locally.
Budget a quiet hour for the download and your first take, and EchoMimicV2 becomes one of the most impressive free things you can run in ComfyUI.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| refimg | IMAGE | — | |
| driving_audio | AUDIO | — | |
| pose | POSE | — | |
| duration | INT | 12012–240 | if your frames number too large,this can split it |
| steps | INT | 30 | — |
| cfg | FLOAT | 2.50 | — |
| context_frames | INT | 12 | — |
| context_overlap | INT | 3 | — |
| if_low_varm | BOOLEAN | false | — |
| store_in_varm | BOOLEAN | true | — |
| seed | INT | 42 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| VIDEO | VIDEO | — |