ADSVDSampler
The pack's main event — image-to-video with Stable Video Diffusion, split across GPUs
- model
- config
- image
- IMAGE
ADSVDSampler is the node this pack is actually about. The README says it in so many words: currently only supports stable-video-diffusion-img2vid. Everything else in asyncdiff_comfyui is scaffolding and bonus lanes; this is the supported, tested path. You feed it a single image, and it animates it into a short video clip using Stable Video Diffusion, with the denoising model split across your GPUs by AsyncDiff so the clip comes out faster than running SVD on one card.
This matters because SVD is a slow model. Stability's image-to-video model works by conditioning video generation on a single starting frame and denoising a stack of frames all at once - which is exactly the kind of heavy, latency-bound workload where AsyncDiff's multi-GPU pipelining pays off. On two cards you're getting meaningful wall-clock savings; on four, more. This is the one lane in the pack where the multi-GPU requirement isn't a nuisance, it's the whole point.
The inputs that matter
- model -
AD_MODELfrom ADModelLoader, pointed at the stable-video-diffusion-img2vid (SVD-XT) model. config - the mandatoryAD_CONFIGfrom ADPipelineConfigurator. - image - required. This is your starting frame, the thing the video is animated from. Wire in any image loader.
- num_frames (default 25) - how many frames of video. SVD's native sweet spot is around 14–25; beyond that you're asking a lot of a model built for short clips.
- motion_bucket_id (default 180) - the amount of motion in the clip. Higher = more movement. 180 is on the energetic side; the diffusers default for SVD is ~127, so if your clips feel frantic, drop this before you touch anything else.
- noise_aug_strength (default 0.01) - how much noise gets added to the input before generation. Near-zero keeps the video glued to your source image; higher values let the model drift and reimagine. For faithful animation of a still, keep it low.
- decode_chunk_size (default 8) - how many frames get decoded at once. Lower it if you're hitting VRAM limits during decode.
- width / height, seed, steps (default 60), guidance_scale (default 3.5) - the standard kit.
Output is IMAGE - but that's a batch of frames, not a video file. In ComfyUI, video is just an image batch, so wire it into a video-combine node (like the ones in VideoHelperSuite) to get an mp4, or save the frames directly.
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 use ComfyUI Manager (search "asyncdiff_comfyui"). You need NVIDIA multi-GPU, CUDA >= 12.0, and the pack's distributed/diffusers dependencies.
Where people get burned
Most "it's broken" moments here trace back to the config: model_n not matching your GPU count, or nproc_per_node set wrong - check nvidia-smi before blaming the sampler. If clips come out too noisy, that's your time_shift hint (flip it on in the configurator only when output is visibly noisy). If output looks nothing like your input, raise noise_aug_strength understanding you're paying for it with faithfulness. And one honest word on expectations: SVD gives you a couple of seconds of video. It's the tested lane of this pack, but it's still short clips, not a film.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| model | AD_MODEL | — | |
| config | AD_CONFIG | — | |
| image | IMAGE | — | |
| width | INT | 5128–4294967295 | — |
| height | INT | 5128–4294967295 | — |
| seed | INT | 00–4294967295 | — |
| steps | INT | 601–4294967295 | — |
| guidance_scale | FLOAT | 3.50–4294967295 | — |
| decode_chunk_size | INT | 81–4294967295 | — |
| num_frames | INT | 251–4294967295 | — |
| motion_bucket_id | INT | 1801–4294967295 | — |
| noise_aug_strength | FLOAT | 0.010–4294967295 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |