Nodes/ComfyUI/EmptyARVideoLatent
ComfyUI Node Runs on cloud

EmptyARVideoLatent

Frames one at a time

By Comfy-Org·Created 4 years ago·Updated about 11 hours ago· 130,663
EmptyARVideoLatent
    • LATENT
    width832
    height480
    length81
    batch_size1

    This is a recent addition to core, and it belongs to a different generation of video models than the ones you're used to. Instead of denoising a whole video latent in one shot, autoregressive video models generate frame by frame, conditioning each new frame on what came before - the same "next token" idea that powers LLMs, applied to video. EmptyARVideoLatent hands that sampler the correctly-shaped starting latent.

    What it creates

    [batch_size, 16, t, height/8, width/8] - 16 channels, 8x spatial downscale, and temporal compression of 4x (t = ((length - 1) // 4) + 1). Defaults are 832x480x81 frames, which is a longer canvas than the diffusion-video defaults (81 frames at that size is a few seconds of motion). Width/height step by 16, length steps by 4, batch up to 64.

    It's the sibling of SamplerARVideo, which is where the actual autoregressive loop runs with its "causal forcing / self-forcing" mechanics. This node is deliberately boring: it just allocates the zero latent in the right shape so the AR sampler has somewhere to start. The model that consumes it lives in comfy_extras/nodes_ar_video.py alongside it - core code, so this whole family ships with ComfyUI, no install.

    The conceptual difference that matters

    With a standard diffusion video, you write noise into the whole tensor and iteratively denoise all frames together; the "length" is a fixed latent size. With AR video, the length is more like a context budget - the model looks back at prior frames and extends. That changes how you think about the latent: it's a rolling window more than a final canvas. If you're coming from Hunyuan or Wan workflows, expect the conditioning and the sampler to behave differently even though the input node looks identical to the ones you already know.

    What you'll actually set

    width, height, length, batch_size - same four knobs. For an AR model, length is the one you'll be tempted to push, because more frames means a longer clip. Be realistic: every additional frame is another autoregressive step, and that's sequential by definition - the model can't parallelize across time the way a diffusion sampler can, so long clips get expensive fast. The 81-frame default is a sane middle ground; past that, budget for the runtime before you max the widget.

    Gotchas

    The usual latent-shape rules apply: keep width/height on the 16-step, length on the 4-step, or the AR sampler will reject the tensor. And don't expect this to work with a diffusion video checkpoint - the empty latent is shaped for the AR architecture, and mixing families fails loudly. This is the newest corner of the latent-allocator family (the AR nodes landed in core around mid-2026), so the ecosystem around it is thinner than Hunyuan's or Wan's. If it's in your version of ComfyUI, you're on a recent build, and you're early enough that most people haven't touched it yet.

    Categorymodel/latent/autoregressive

    Inputs (4)

    NameTypeDefaultDescription
    widthINT83216–8192
    heightINT48016–8192
    lengthINT811–1024
    batch_sizeINT11–64

    Outputs (1)

    NameTypeDescription
    LATENTLATENT