Nodes/AnimateDiff Evolved/Load Checkpoint w/ Noise Select πŸŽ­πŸ…πŸ…“
ComfyUI Node Runs on cloud

Load Checkpoint w/ Noise Select πŸŽ­πŸ…πŸ…“

The checkpoint loader that also fixes your beta schedule

By KosinkadinkΒ·Created 3 years agoΒ·Updated 12 days agoΒ· 3,519
Load Checkpoint w/ Noise Select πŸŽ­πŸ…πŸ…“
    • MODEL
    • CLIP
    • VAE
    β—„ckpt_nameβ–Ύβ–Ί
    β—„beta_scheduleuse existingβ–Ί
    β—„use_custom_scale_factorfalseβ–Ί
    β—„scale_factor0.1822β–Ί

    Displayed as Load Checkpoint w/ Noise Select, this does exactly what a normal CheckpointLoaderSimple does - loads a .safetensors/.ckpt and hands you back MODEL, CLIP, and VAE - plus one extra dial: beta_schedule. It exists because different AnimateDiff-family motion modules expect their own noise schedule, and the README is explicit that getting this wrong degrades results: HotshotXL wants autoselect or linear (HotshotXL/default), AnimateDiff-SDXL wants autoselect or linear (AnimateDiff-SDXL), AnimateLCM wants autoselect, lcm, or lcm[100_ots], and PIA wants autoselect or sqrt_linear (AnimateDiff). Rather than loading your checkpoint one way and then hunting for a separate node to override its schedule, this node does both in one step.

    You'll mostly meet this as the first node in a Gen1-style AnimateDiff graph, right where you'd otherwise put a plain checkpoint loader.

    How it works

    beta_schedule controls the noise variance curve the sampler uses across timesteps - a property of how the model was trained to denoise, not something you'd normally touch by hand outside of AnimateDiff. Base SD 1.5 checkpoints ship with their own schedule; motion modules were trained expecting a specific one layered on top. This node lets you override the checkpoint's own schedule at load time, so the motion module you plan to apply downstream actually gets the timestep behavior it was trained on.

    The inputs and outputs that matter

    Required: ckpt_name (your checkpoint file, same dropdown as any loader) and beta_schedule (default use existing - meaning it keeps whatever the checkpoint's own config says, and does nothing extra until you pick something else). This default is worth noticing: unlike the Gen2 loader nodes elsewhere in the pack, which default to autoselect, this one defaults to hands-off. If you're using this node specifically for an AnimateDiff workflow, you almost always want to change it away from use existing.

    Optional: use_custom_scale_factor (boolean, default false) and scale_factor (default 0.18215, SD 1.5's standard VAE scale factor) - a niche pair for overriding the VAE's latent scaling, which basically nobody needs to touch. Outputs are the standard three: MODEL, CLIP, VAE.

    How to install it

    Via ComfyUI Manager: search AnimateDiff Evolved, author Kosinkadink, install, restart. Manually:

    cd ComfyUI/custom_nodes && git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved
    

    This node itself needs no extra download - it loads whatever checkpoint you already have. If you're building toward an actual AnimateDiff workflow, you'll separately need a motion module (the README lists mm_sd_v14, mm_sd_v15, mm_sd_v15_v2, v3_sd15_mm and community finetunes via HuggingFace/CivitAI) placed in ComfyUI/models/animatediff_models.

    Common issues & troubleshooting

    Left beta_schedule on use existing and motion looks wrong or glitchy. This is the most common miss with this node specifically - it's opt-in, not automatic. Set it to match whichever motion module family you're loading downstream; the README's own family-to-schedule pairings above are the ground truth, not a guess.

    Not sure whether you even need this over a plain checkpoint loader. If you're not doing AnimateDiff at all, you don't - a regular CheckpointLoaderSimple is simpler and does the same job for ordinary image generation. This node only earns its keep when a motion module downstream cares about the schedule.

    One checkpoint works great with AnimateDiff and another doesn't. Worth a reality check before you chase settings: AnimateDiff motion modules are trained against SD 1.5's architecture specifically. They don't transfer to SDXL or Flux checkpoints at all, and results vary noticeably even across different SD 1.5 finetunes - some communities report certain realistic checkpoints handling motion more cleanly than heavily stylized ones. If a checkpoint swap alone fixes it, that's more likely the real cause than this node's schedule setting.

    CategoryAnimate Diff πŸŽ­πŸ…πŸ…“/extras

    Inputs (4)

    NameTypeDefaultDescription
    ckpt_nameCOMBO0 options:
    beta_scheduleCOMBOuse existing13 options: autoselect, use existing, sqrt_linear (AnimateDiff), linear (AnimateDiff-SDXL), linear (HotshotXL/default), avg(sqrt_linear,linear), +7
    use_custom_scale_factoroptBOOLEANfalseβ€”
    scale_factoroptFLOAT0.18220–1β€”

    Outputs (3)

    NameTypeDescription
    MODELMODELβ€”
    CLIPCLIPβ€”
    VAEVAEβ€”