ADAnimateDiffSampler
AnimateDiff video, split across your GPUs — ADAnimateDiffSampler
- model
- motion_adapter
- config
- control_net
- ip_adapter
- image
- IMAGE
ADADSampler is the pack's AnimateDiff video sampler: an SD 1.5 checkpoint plus a temporal motion module in, a video clip out, with the denoising split across your GPUs by AsyncDiff. It's the node that the original AsyncDiff paper demoed - ~1.8x faster on AnimateDiff with two devices - and it's the one place in this pack where all the optional adapters actually plug in.
So the honest positioning up front: AnimateDiff is the old guard. It made SD 1.5 produce motion-coherent video by injecting a temporal attention module into the frozen UNet, and the whole SD 1.5 ecosystem - LoRAs, ControlNets, IP-Adapters - kept working untouched because the motion module never touched the spatial weights. That was a superpower in 2023. By now, Wan and the other video models have taken the quality crown, and the community verdict is that AnimateDiff survives as a look and a migration path, not a capability leader. If you have the GPU budget for a modern video model, use it. If you're here, it's because you're working the SD 1.5 angle - and this sampler is a real way to do that across multiple cards.
How it works
AnimateDiff injects temporal transformer blocks that attend across the time axis of your frames, learning motion without retraining the base model. The motion_adapter input is that temporal module - the thing that turns a still-image model into a video model. AsyncDiff then parallelizes the denoising of all those frames across your GPUs: the denoiser is split into model_n components, and after a warm-up phase each component predicts its next input and computes ahead of the chain, so the serial denoising loop becomes a pipeline.
Inputs that matter
- model and motion_adapter - both
AD_MODEL, both from ADModelLoader. Model is your SD 1.5 checkpoint; motion_adapter is the AnimateDiff motion module. Two loaders, two wires, easy to swap the wrong one in - don't. - config - mandatory
AD_CONFIGfrom ADPipelineConfigurator. - positive_prompt / negative_prompt - your prompt, and with AnimateDiff, negative matters more than usual.
- num_frames (default 25) - frames of video. AnimateDiff's native training context is 16 frames, and the pack doesn't bring the sliding-context-window machinery that AnimateDiff-Evolved uses for arbitrary length - so keep this modest.
- width / height (default 512) - SD 1.5 native res. seed, steps (default 60), guidance_scale (default 3.5) - 3.5 is a low CFG, which is normal for AnimateDiff.
The optional inputs are where this node shines: control_net (from ADControlNetLoader) steers spatial structure across frames - keeping a subject placed, locking a pose; ip_adapter (from ADIPAdapterLoader) pulls style or identity from a reference image; image conditions generation on an input frame. Wire these in and you're doing character-consistent, structurally-guided animated video on SD 1.5.
Output is IMAGE - a batch of frames. Send it to a video-combine node for an mp4.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/SlackinJack/asyncdiff_comfyui.git
cd asyncdiff_comfyui
./clone_asyncdiff_repo.sh # required - pulls the upstream AsyncDiff framework
Restart ComfyUI, or ComfyUI Manager (search "asyncdiff_comfyui"). Multi-GPU NVIDIA, CUDA >= 12.0, distributed/diffusers deps - the pack standard.
Where people get burned
First, multi-GPU or nothing - one card and this is a slower AnimateDiff than the native ComfyUI path. Second, the README's support note says the pack's tested lane is stable-video-diffusion-img2vid; this AnimateDiff sampler is real but sits outside that tested lane, so treat yourself as the QA. Third, if the output comes out visibly noisy, the configurator's time_shift toggle exists precisely for that. And keep num_frames honest - this pipeline doesn't do infinite-length AnimateDiff; short clips are its comfort zone.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| model | AD_MODEL | — | |
| motion_adapter | AD_MODEL | — | |
| config | AD_CONFIG | — | |
| positive_prompt | STRING | — | |
| negative_prompt | STRING | — | |
| width | INT | 5128–4294967295 | — |
| height | INT | 5128–4294967295 | — |
| seed | INT | 00–4294967295 | — |
| steps | INT | 601–4294967295 | — |
| guidance_scale | FLOAT | 3.50–4294967295 | — |
| num_frames | INT | 251–4294967295 | — |
| control_netopt | AD_CONTROLNET | — | |
| ip_adapteropt | AD_IPADAPTER | — | |
| imageopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |