Nodes/AnimateDiff Evolved/View Options◆Looped Uniform 🎭🅐🅓
ComfyUI Node Runs on cloud

View Options◆Looped Uniform 🎭🅐🅓

The view-window setting for clips that need to loop

By Kosinkadink·Created 3 years ago·Updated 8 days ago· 3,520
View Options◆Looped Uniform 🎭🅐🅓
    • VIEW_OPTS
    view_length16
    view_stride1
    view_overlap4
    closed_loopfalse
    fuse_method
    use_on_equal_lengthfalse

    Displayed as View Options◆Looped Uniform, this configures how the motion module itself slides its attention window across your frames - a separate, nested layer from Context Options, which govern the sliding window at the U-Net level. View Options only matter once you're generating more frames than a motion module's native training window (16, for the classic SD 1.5 modules), and this particular variant adds one thing the others in this trio don't: closed_loop, which biases the windowing so your clip can actually loop back on itself cleanly instead of the end just stopping.

    If you don't need a loop, ADE_StandardUniformViewOptions or ADE_StandardStaticViewOptions do the same core sliding-window job without the loop-specific overhead. Reach for this one specifically when you want the clip to play seamlessly back into its own start.

    How it works

    The motion module was trained on fixed-length clips (16 frames, for the original SD 1.5 modules); to handle longer generations, it processes overlapping windows of that length and blends the results, the same sliding-window idea Context Options apply at the U-Net level, just one layer deeper. "Uniform" means the window slides at a constant view_stride across the whole sequence. "Looped" adds closed_loop, which treats the sequence as cyclical for windowing purposes - so the motion module's attention naturally connects your last frames back to your first, rather than treating the end as a hard stop.

    The inputs and outputs that matter

    Required: view_length (default 16, max 128 - match this to your motion module's native training length unless you have a specific reason not to), view_stride (default 1, max 32 - how far the window moves each step), view_overlap (default 4, max 128 - how much consecutive windows share), and closed_loop (boolean, default false - the whole reason to pick this node over its siblings).

    Optional: fuse_method - how overlapping windows get blended together - and use_on_equal_length (boolean, default false), which forces view windowing to apply even when your total frame count exactly equals view_length, a case where it would otherwise be skipped as unnecessary. Output is VIEW_OPTS, which plugs into the view-options slot on a Context Options node or a motion-model-settings input, depending on how your graph is built.

    How to install it

    Standard for the pack - ComfyUI Manager, search AnimateDiff Evolved by Kosinkadink, or:

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

    No model download for this node - it's pure windowing configuration on top of whatever motion module you've already loaded.

    Common issues & troubleshooting

    Enabled closed_loop but the clip still doesn't loop cleanly when you play it back-to-back. View Options only affect how the motion module processes frames internally - they don't guarantee a perfect visual loop on their own. Combine this with matching start/end content in your prompt or init frames if you need a genuinely seamless cut; the windowing gives the motion module a fair shot at coherent looping, it doesn't force it.

    Confused about View Options vs Context Options. They're not the same thing, and it's an easy mix-up. Context Options control the sliding window the whole U-Net uses across a long generation; View Options control a separate, nested window inside the motion module itself. Most workflows need Context Options for length; View Options is a finer-grained knob most people leave at defaults or skip entirely unless they specifically need looping or are chasing motion quality on longer clips.

    Not sure this is worth the extra node. For a short clip near or under your motion module's native length, it usually isn't - View Options mainly earn their keep on longer generations or specifically when you want the loop behavior closed_loop provides.

    CategoryAnimate Diff 🎭🅐🅓/context opts/view opts

    Inputs (6)

    NameTypeDefaultDescription
    view_lengthINT161–128
    view_strideINT11–32
    view_overlapINT40–128
    closed_loopBOOLEANfalse
    fuse_methodoptCOMBO9 options: pyramid, flat, overlap-linear, 🔬delayed reverse sawtooth, 🔬pyramid-sigma, 🔬pyramid-sigma inverse, +3
    use_on_equal_lengthoptBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    VIEW_OPTSVIEW_OPTS