Nodes/ComfyUI/ARVideoI2V
ComfyUI Node Runs on cloud

ARVideoI2V

Seed an autoregressive video model with a start frame

By Comfy-Org·Created 4 years ago·Updated about 5 hours ago· 130,652
ARVideoI2V
  • model
  • vae
  • start_image
  • MODEL
  • LATENT
width832
height480
length81
batch_size1

Autoregressive video models are the streaming generation path in ComfyUI - instead of denoising a whole clip at once, they generate frame-by-frame or block-by-block, which is what makes first-frame latency near-instant possible. ARVideoI2V is the node that turns one of those models into an image-to-video model. You give it a start image, it gives you back a model that knows what the first frame should be, plus an empty latent to sample.

It landed in core in May 2026, and it works with the Causal Forcing / Self-Forcing AR checkpoints - the community Self-Forcing fine-tunes built on Wan 2.1 1.3B being the ones most people actually run.

How it works

The trick is in the mechanism, and the source spells it out: the node VAE-encodes your start_image and stores it in the model's transformer options, so the AR sampler can seed its KV cache before denoising begins. That's the whole game - the first frame is already in the model's memory when it starts predicting, rather than being painted in as a condition at the end. And because it's a T2V checkpoint with the image baked into the cache, there's no separate I2V architecture or extra weights to find.

Inputs

  • model - your AR video model.
  • vae - the matching VAE (the Wan family's 3D causal VAE for the 1.3B Self-Forcing checkpoints).
  • start_image - the first frame. This is the required input that makes it I2V rather than T2V.
  • width / height / length / batch_size - the standard video dimensions. Defaults are the usual 832×480, 81 frames.

Outputs

  • MODEL - the patched model with the start image tucked into its transformer options. This is what you feed to the sampler.
  • LATENT - an empty latent with the correct shape for the video. Feed it to the KSampler alongside the model.

Building the rest of the graph

You'll also want EmptyARVideoLatent for the latent and SamplerARVideo for the actual autoregressive loop. That sampler has a num_frame_per_block setting (1 = framewise, 3 = chunkwise), and the tooltip carries the warning that matters: it must match the checkpoint's training mode. Get that wrong and your "I2V" generates garbage from frame one even though the start image encoded fine.

The other honest gotcha: the AR ecosystem is small. The quality bar is "streaming video you can watch as it renders," not "best frame quality available" - you're trading per-frame polish for low latency and long-generation feasibility. If you just want a nice 5-second clip, the standard diffusion video path is still the higher-quality default. If you want video that starts generating almost instantly and streams, this is the setup.

Ships with ComfyUI core, no install.

Categorymodel/conditioning/autoregressive

Inputs (7)

NameTypeDefaultDescription
modelMODEL
vaeVAE
start_imageIMAGE
widthINT83216–8192
heightINT48016–8192
lengthINT811–1024
batch_sizeINT11–64

Outputs (2)

NameTypeDescription
MODELMODEL
LATENTLATENT