ADMD_AdditionalModelSelect
Two files in, one training pipeline out — the first node in any MotionDirector graph
- additional_models
This is the node that hands the trainer its motion. ADMD_AdditionalModelSelect picks two files - the AnimateDiff motion module and, usually, its domain-adapter LoRA - and bundles them into a single ADDITIONAL_MODELS output that feeds whichever loader you're using (ADMD_CheckpointLoader, ADMD_DiffusersLoader, or the Comfy-graph variant). Nothing in the training graph works until this one is wired, because those files are what turn a plain SD 1.5 checkpoint into something with temporal awareness.
Why these two files? AnimateDiff works by injecting a temporal motion module into a frozen SD 1.5 UNet - the image weights never move, the module just adds attention across frames. The domain adapter is a LoRA trained to bridge the visual gap between image and video data (and to suppress WebVid's watermarks). On their own they're the standard AnimateDiff inference stack; here they become the starting point for your training run. The pack's config file calls the adapter "highly recommended as a starting point," which is the understated way of saying: leave it on unless you have a specific reason not to.
Inputs you actually set
Only three widgets, and only two of them matter:
- motion_module - a dropdown of
.ckptfiles inComfyUI/models/animatediff_models/. For SD 1.5 that'sv3_sd15_mm.ckpt(grab it from guoyww/animatediff on HuggingFace). Note the folder name: this is the sameanimatediff_modelsfolder AnimateDiff-Evolved uses, so if you already animate with that extension the file is probably there. - use_adapter_lora (default
true) - flip it off and the node stops expecting a second file. You'd do this for a bare motion-module run, which is a worse starting point. - optional_adapter_lora - the domain adapter,
v3_sd15_adapter.ckpt, fromComfyUI/models/loras/.
The output, ADDITIONAL_MODELS, is literally a two-element list: the motion-module path and the adapter path. The loaders unpack it and hand both to the training pipeline.
Install and gotchas
Install is the standard pack dance: ComfyUI Manager → search "ADMotionDirector" (pack title "Animatediff MotionLoRA Trainer"), or git clone https://github.com/kijai/ComfyUI-ADMotionDirector into custom_nodes/ and restart. Then the important bit - the dependencies don't come with ComfyUI:
cd ComfyUI/custom_nodes/ComfyUI-ADMotionDirector
pip install -r requirements.txt
Portable installs use python_embeded\python.exe -m pip install -r ... instead. This pulls in diffusers, transformers, lion-pytorch, peft, loralib, einops, omegaconf, and the imageio stack. The pack was tested with PyTorch 2.1.1+cu121 and 2.2.0+cu121 - older torch builds tend to misbehave.
The one failure mode worth knowing: if the dropdowns are empty, you don't have the files in the right folders, and this node (unlike most) will not silently continue - select_models raises a ValueError naming the missing path. Motion modules go in animatediff_models/, adapter LoRAs in loras/. Get those two files in place first and the whole graph stops complaining.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| motion_module | COMBO | 0 options: | |
| use_adapter_lora | BOOLEAN | true | — |
| optional_adapter_loraopt | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| additional_models | ADDITIONAL_MODELS | — |