WanAnimatePlus EverAnimate Embeds
EverAnimate's segmented conditioning bundle
- vae
- pose_images
- face_images
- anchor_images
- bg_images
- mask
- image_embeds
Most Wan Animate embeds nodes build conditioning for one chunk. This one builds conditioning for a whole run of them. EverAnimate is the fork's segmented-sampling mode: instead of you hand-chaining 81-frame generations and praying the identity survives each seam, this node computes how many segments your target length needs, prepares the pose/face/anchor conditioning for every segment, and hands the sampler one image_embeds bundle for the entire take. The default num_frames of 734 is not a typo - this node is built for minute-scale clips.
How it works. num_frames sets your total output. frame_window_size (default 77, and it must be 1 mod 4 - 77, 81, 85) sets how many frames each segment actually produces, and num_overlap_frame (default 4) sets how much adjacent segments share so the seams have something to blend. The node then slices your pose_images and face_images (the face stream is resized to 512x512 internally) to fit each segment, ping-ponging them when your control video is shorter than the target - that's use_pingpong, on by default, extending pose/face/bg/mask by mirroring rather than stopping.
The anchor system is the identity trick. Each segment gets num_video_anchor_latents (default 4) prepended as anchor slots that pin the character. Where do the anchors come from? use_image_anchor uses generated frames from segment 0 to build anchors for later segments - the model effectively babysits its own identity. use_random_frame_anchor randomly samples those segment-0 frames for the job, and random_anchor_with_user_first reserves the first manual anchor as your user anchor so the character starts from your reference, not a random frame. use_repeat_anchor (off by default) repeats your manual anchor sequence to fill empty slots. The manual inputs themselves go into anchor_images - a sequence of identity frames, or a video treated as an anchor-frame sequence rather than source-video conditioning. That's the deliberate part: EverAnimate is continuity-first, not edit-base.
What you'll actually touch. Keep frame_window_size at 77 unless you know you need longer segments. The default anchors (4 slots, random sampling on) are a reasonable first pass; if your character drifts between segments, your first move is more/better anchor_images, your second is num_video_anchor_latents. pose_strength/face_strength still work as your control multipliers, bg_images + mask give you background/inpaint, and tiled_vae stays off unless VRAM is tight. Output image_embeds goes straight to the WanAnimatePlus Sampler.
The honest caveat. This is the least-proven node in the pack - no real community footprint, so treat the defaults as the author's starting point rather than a tuned recipe. And the fork-wide rule applies harder here: the whole chain must be WanAnimatePlus nodes, because segmented embeds and the sampler's chunk handling have to agree on the latent layout. Install via ComfyUI Manager (search "WanAnimatePlus") or git clone https://github.com/wuwukaka/ComfyUI-WanAnimatePlus into custom_nodes, then restart.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| vae | WANVAE | — | |
| width | INT | 83264–8096 | Width of the video to generate |
| height | INT | 48064–8096 | Height of the video to generate |
| num_frames | INT | 7341–10000 | Total output frames. Segment count is computed from this, frame_window_size, and num_overlap_frame. |
| force_offload | BOOLEAN | true | Offload VAE after encoding to save VRAM |
| frame_window_size | INT | 771–10000 | Effective output frames per EverAnimate segment. Must be 1 mod 4, e.g. 77, 81, 85. |
| pose_strength | FLOAT | 1.0000–10 | Additional multiplier for the pose adapter |
| face_strength | FLOAT | 1.0000–10 | Additional multiplier for the face adapter |
| pose_images | IMAGE | Pose control video | |
| face_images | IMAGE | Face control video. Resized to 512x512 internally. | |
| num_video_anchor_latents | INT | 41–4 | Number of anchor latent slots prepended to each EverAnimate segment |
| num_motion_latents | INT | 10–4 | Number of previous-segment motion latents used for continuity |
| num_overlap_frame | INT | 40–10000 | Overlapping output frames between adjacent segments |
| use_pingpong | BOOLEAN | true | Ping-pong extend pose, face, bg, and mask sequences when more frames are needed |
| use_image_anchor | BOOLEAN | true | Use generated frames from the first segment to build later video anchors |
| use_random_frame_anchor | BOOLEAN | true | Randomly sample generated segment-0 frames for later video anchors |
| random_anchor_with_user_first | BOOLEAN | true | In random-anchor mode, reserve the first manual anchor frame as the user anchor |
| use_repeat_anchor | BOOLEAN | false | When fewer manual anchor frames are provided than anchor slots, repeat the provided sequence to fill the missing slots |
| anchor_images | IMAGE | Manual identity/anchor image frames. Video inputs are treated as an anchor-frame sequence, not as source-video conditioning. | |
| bg_imagesopt | IMAGE | Optional background/inpaint video | |
| maskopt | MASK | Optional mask paired with bg_images | |
| tiled_vaeopt | BOOLEAN | false | Use tiled VAE encoding for reduced memory use |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image_embeds | WANVIDIMAGE_EMBEDS | — |