EasyAnimateRun
The node that actually makes the video
- model
- IMAGE
EasyAnimateRun is the payoff node in this pack. Its sibling EasyAnimateLoader assembles the whole EasyAnimate pipeline - PixArt backbone, motion module, video VAE - into one EasyAnimateModel wire; this node takes that wire, your prompt, and a handful of settings, and produces frames. The first thing a beginner needs to know: the output is not a video file. It's an IMAGE batch - in ComfyUI terms, a tensor of all 80 frames stacked together. You save it with VideoHelperSuite's VHS_VideoCombine, which is exactly what the pack's own wf.json does. If you expected an mp4 to pop out, that's the missing piece.
EasyAnimate itself is Alibaba PAI's open-source text-to-video model, a PixArt diffusion transformer with an AnimateDiff-style motion module. Its release thread had to hold off the "sora-like is a stretch" crowd back in June 2024, and they had a point - it's a modest, low-res (512×512) video baseline, not a rival to anything commercial. But it runs locally, needs no API key, and this node is a clean two-node wrapper around it. It's a fine way to learn what T2V generation actually feels like without wrangling a Wan or a Hunyuan install.
How it works
The node hands your prompt to the EasyAnimate diffusers pipeline with video_length, resolution, guidance_scale, num_inference_steps, and a seeded generator, then rearranges the raw output from b c t h w (batch, channels, time, height, width) to b t h w c. That last reshape is what makes ComfyUI see a stack of frames instead of a blob of tensors - and what lets VHS_VideoCombine pick them up as a video.
The inputs that matter
- model - the
EasyAnimateModelwire fromEasyAnimateLoader. This is required, and it's why the loader exists: you can't run this node standalone. - prompt / negative_prompt - both multiline. The defaults are decent starting points; the negative is the standard anti-artifact list ("strange motion trajectory, deformed video, worst quality…"). PixArt conditions on T5, so long, descriptive English sentences work better than comma soup.
- video_length - default 80 frames (about 3 seconds at ~24fps). Keep it even; the motion module chunks frames in pairs, and odd lengths are where things get weird.
- width / height - default 512×512. This model was trained at that size. Pushing it up eats VRAM fast and doesn't buy you much.
- num_inference_steps (30), guidance_scale (6.0), seed - the usual knobs. More steps costs time; the seed is your reproducibility lever.
One detail worth knowing: the sampler was chosen back in the loader, and the loader's sampler dropdown is ignored anyway - the code pins DPM++ unconditionally. So if motion looks mushy, your levers here are steps and guidance, not scheduler swaps.
Installing it
Same pack as the loader, so one install covers both:
cd ComfyUI/custom_nodes
git clone https://github.com/chaojie/ComfyUI-EasyAnimate
or search "EasyAnimate" in ComfyUI Manager, then restart. Then download the two required weights: the motion module (easyanimate_v1_mm.safetensors, 4.1GB) into ComfyUI/models/checkpoints, and the PixArt base (PixArt-XL-2-512x512.tar, 11.4GB) extracted into ComfyUI/models/diffusers. For saving the output you'll also want VideoHelperSuite from the Manager. The pack's requirements (diffusers, transformers, xformers, decord, timm) are heavy but standard - just know they install into your shared Python environment, so a dependency clash with an existing pack is the classic first-run failure.
Common issues
The most common confusion is the missing mp4 - again, wire IMAGE into VHS_VideoCombine, set fps and format there, and it'll write the file. If the node errors at load time with an empty model wire, you forgot the loader or it failed to assemble. And if generation crawls or OOMs, the loader's CPU offload keeps the pipeline modest, but 80 frames at 512×512 is still real work - drop video_length to 40 or the resolution to 448 if your card is struggling.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| model | EasyAnimateModel | — | |
| prompt | STRING | A snowy forest landscape with a dirt road running through it. The road is flanked by trees covered in snow, and the ground is also covered in snow. The sun is shining, creating a bright and serene atmosphere. The road appears to be empty, and there are no people or animals visible in the video. The style of the video is a natural landscape shot, with a focus on the beauty of the snowy forest and the peacefulness of the road. | — |
| negative_prompt | STRING | Strange motion trajectory, a poor composition and deformed video, worst quality, normal quality, low quality, low resolution, duplicate and ugly | — |
| video_length | INT | 80 | — |
| num_inference_steps | INT | 30 | — |
| width | INT | 512 | — |
| height | INT | 512 | — |
| guidance_scale | FLOAT | 6.00 | — |
| seed | INT | 1234 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |