ComfyUI Node

Echo_Predata

The Preprocessing Node That Makes the Photo Move

By smthemex·Created 2 years ago·Updated 6 months ago· 699
Echo_Predata
  • info
  • image
  • audio
  • clip
  • clip_vision
  • video_images
  • emb
prompt Gesture, Body, Face Expressions and Movements: Hands and Fingers Movements: The person's hands are not visible in the image, so there are no specific hand or finger movements to describe. Body Positions and Posture: The person is standing upright with a straight posture. Body Coverage in Frame: The person is fully visible from the waist up. Face Expressions Change: The person appears to have a neutral expression with a slight smile. Eyes Movement: The eyes are looking directly at the camera. Head Movement: The head is slightly tilted forward. Overall Description: The character is standing in a front-facing shot, wearing a pink knitted vest over a white collared shirt and a white pleated skirt. The background appears to be a studio setting with soft lighting and some blurred elements that suggest a modern, clean environment. The person is adorned with pearl earrings, adding a touch of elegance to their appearance. The overall impression is one of a professional or casual presentation, possibly for a broadcast or a photoshoot.
negative_prompt Gesture is bad. Gesture is unclear. Strange and twisted hands. Bad hands. Bad fingers. Unclear and blurry hands. 手部快速摆动, 手指频繁抽搐, 夸张手势, 重复机械性动作.
pose_dir
width512
height512
fps25.00
facemask_ratio0.1
facecrop_ratio0.8
length100
partial_video_length
draw_mousefalse
motion_sync_false

Echo_Predata is the middle node in ComfyUI_EchoMimic's chain (Echo_LoadModel → Echo_Predata → Echo_Sampler) and the one beginners skip past, which is a mistake - it's where your photo and audio actually become something the diffusion model can animate. Its job: find the face, crop it the way the model wants, encode the voice, and hand the sampler a single emb (MODEL_EMB_E) that carries all of it. Every weird result you get is usually a setting in here, not a broken model.

You feed it the info handle from Echo_LoadModel, an image (the reference portrait - the face that will talk), and an audio file. Then the dials:

  • prompt / negative_prompt - the defaults are already filled with long, descriptive captions, and the negative prompt is tellingly all about hands ("bad hands, bad fingers, unclear and blurry hands"). That's the model's known weak spot in one string.
  • width / height / fps - output frame size (default 512×512, 64-step increments) and playback rate (default 25). Clip duration is just length frames divided by fps, so 100 frames at 25 fps is a 4-second clip.
  • length - total frames. The README's VRAM advice for V3 lives in partial_video_length, the chunk-size dropdown (33/65/97/113/129/193): lower = less VRAM. 12GB cards run 65, 16GB can try 97, more VRAM pushes toward 113+.
  • facemask_ratio (default 0.1) and facecrop_ratio (default 0.8) - the crop math is worth getting right. The magnification factor is 1/facecrop_ratio, so 0.5 gives you a 2× zoom on the face. The README's own advice: only lower it when the face is small in the frame. Set it to 1 or 0 and there's no crop at all.
  • pose_dir - eight built-in pose presets (pose_01pose_04, pose_fight, pose_good, pose_salute, pose_ultraman). For audio mode these give your character some default body motion; in pose mode they're the target.
  • draw_mouse and motion_sync_ - experimental toggles. motion_sync_ is pose-mode magic: with a driving video it writes a .pkl pose file into input/tensorrt_lite and generates the reference video, but you have to restart ComfyUI before you can reuse that pkl. It's the fiddliest option in the pack.

The optional inputs matter depending on version: clip and clip_vision are needed for V3 (it conditions on the Wan text/vision encoders), and video_images is the driving video for pose-driven modes - feed it frames and the node extracts DWPose/Sapiens motion instead of using a preset.

Mechanically, V3 does face detection through the retina-face library; if that call fails, the pack falls back to a default female face as the mask, which is a good way to get an unexpected result - if your output looks like it's animating the wrong face, this is why. V1/V2 use whisper for the audio side, V3 uses wav2vec2, which is also why the Echo_Sampler's sample_rate defaults to 16000 to match.

Install is the pack install, shared by all three nodes - ComfyUI Manager → search "EchoMimic", or:

cd ComfyUI/custom_nodes
git clone https://github.com/smthemex/ComfyUI_EchoMimic.git
pip install -r requirements.txt

Restart, then mind the version-specific extras: V3 wants retina-face==0.0.17 (it downloads retinaface.h5 over the network on first run, so an offline machine will fall back to that default face mask) and optionally mmgp; V1 needs pip install --no-deps facenet-pytorch; and the perennial ffmpeg error clears up with pip uninstall ffmpeg + pip install ffmpeg-python. Model paths under ComfyUI/models/echo_mimic are the other classic failure - V3's tree is the big one (Wan2.1 transformer, VAE, clip vision, wav2vec2, the EchoMimicV3 transformer), and the README spells it out exactly. Get those in place and this node quietly does its job, and the sampler downstairs has something worth animating.

CategoryEchoMimic

Inputs (18)

NameTypeDefaultDescription
infoMODEL_INFO_E
imageIMAGE
audioAUDIO
promptSTRING Gesture, Body, Face Expressions and Movements: Hands and Fingers Movements: The person's hands are not visible in the image, so there are no specific hand or finger movements to describe. Body Positions and Posture: The person is standing upright with a straight posture. Body Coverage in Frame: The person is fully visible from the waist up. Face Expressions Change: The person appears to have a neutral expression with a slight smile. Eyes Movement: The eyes are looking directly at the camera. Head Movement: The head is slightly tilted forward. Overall Description: The character is standing in a front-facing shot, wearing a pink knitted vest over a white collared shirt and a white pleated skirt. The background appears to be a studio setting with soft lighting and some blurred elements that suggest a modern, clean environment. The person is adorned with pearl earrings, adding a touch of elegance to their appearance. The overall impression is one of a professional or casual presentation, possibly for a broadcast or a photoshoot.
negative_promptSTRING Gesture is bad. Gesture is unclear. Strange and twisted hands. Bad hands. Bad fingers. Unclear and blurry hands. 手部快速摆动, 手指频繁抽搐, 夸张手势, 重复机械性动作.
pose_dirCOMBO8 options: pose_01, pose_02, pose_03, pose_04, pose_fight, pose_good, +2
widthINT512128–1024
heightINT512128–1024
fpsFLOAT25.005–120
facemask_ratioFLOAT0.10–1
facecrop_ratioFLOAT0.80–1
lengthINT10012–5000
partial_video_lengthCOMBO6 options: 33, 65, 97, 113, 129, 193
draw_mouseBOOLEANfalse
motion_sync_BOOLEANfalse
clipoptCLIP
clip_visionoptCLIP_VISION
video_imagesoptIMAGE

Outputs (1)

NameTypeDescription
embMODEL_EMB_E