Nodes/10S-Comfy-nodes/πŸŒ€ Echo DMD Sampler
ComfyUI Node

πŸŒ€ Echo DMD Sampler

The sampler JoyAI-Echo is distilled for β€” no ancestral noise, no surprises

By TenStripΒ·Created 4 months agoΒ·Updated 26 days agoΒ· 244
πŸŒ€ Echo DMD Sampler
    • sampler

    Echo's LTX-2.3 DMD checkpoints are distilled to follow a specific deterministic trajectory, and this node is the sampler that actually walks it. If you've been running those models through a stock KSampler and scratching your head at why results look softer or noisier than the demos, this is why: a DMD model's 8-step schedule is a straight rectified-flow path, and the vanilla euler variants in ComfyUI don't honor it the way Echo's own inference loop does.

    EchoDMDSampler is a SAMPLER node with no inputs at all - you drop it in where you'd normally pick euler or dpmpp_2m, wire up its sampler output, and it runs a pure deterministic euler loop. Every step is the same rectified-flow update: x_next = t*x + (1-t)*denoised, no ancestral noise injection, no stochasticity. That matters because DMD distillation collapses the full denoising trajectory into a handful of large jumps - throwing random noise at it mid-path is fighting the training.

    How to wire it

    The node is deliberately dumb in the right way. Conditioning happens upstream, so you still need a guider. The standard setup for a distilled LTX-2.3 workflow:

    Load Model β†’ LTX2STGGuider (or CFGGuider) β†’ SamplerCustom
                              ↑                      ↑
                   positive / negative          sampler (from EchoDMDSampler)
                                                sigmas (from EchoDMDSigmas)
    

    Because the sampler takes no parameters, per-step CFG scheduling lives in the guider, not here. For the cheap five-step init cluster in Echo's official schedule (where sigmas sit around 0.975-1.0), you can skip the uncond pass entirely by setting cfg=1.0 for those steps in the STG Guider's per-step list - same compute saving, done at the right layer instead of hacking the sampler.

    The gotcha worth knowing

    This sampler uses the sigmas you give it as-is. Feed it the official 9-value schedule and you're golden. Feed it one of the extended refinement presets (10/11/12 steps) or a custom schedule without remapping, and the model's timestep embedder gets sigma values it was never trained on. That's exactly why this pack ships EchoDMDSigmaRemap - run your sigmas through it (interpolate mode) before they reach both the guider and the sampler, so both see consistent, anchor-aligned timesteps. Don't skip that step if you deviate from the official schedule.

    Install

    Install is shared across all the 10S nodes, so once is enough:

    cd ComfyUI/custom_nodes
    git clone https://github.com/TenStrip/10S-Comfy-nodes.git 10S_Nodes
    

    Restart ComfyUI and it shows up under 10S Nodes/Sampling - or use ComfyUI Manager and search "10S-Comfy-nodes". No extra pip dependencies; the pack runs on ComfyUI's existing PyTorch/comfy environment. Update with git pull in the 10S_Nodes folder.

    One caveat that applies to the whole pack: it's written against LTX2's class structure (LTXAVModel, BasicAVTransformerBlock), so it only makes sense with LTX-2/2.3 and the Echo-family checkpoints built on them - it won't work on vanilla LTX-Video 0.9.x or other DiT video models. For the JoyAI-Echo models it was written for, it's the right tool and the one you should be using.

    Category10S Nodes/Sampling

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    samplerSAMPLERβ€”