Nodes/ComfyUI-Allegro/Allegro TextImage2Video Sampler
ComfyUI Node

Allegro TextImage2Video Sampler

Sampling video around pinned frames (the image-to-video denoiser)

By bombax-xiaoice·Created 2 years ago·Updated about a year ago· 5
Allegro TextImage2Video Sampler
  • pipe
  • ref_latents
  • ref_masks
  • positive
  • negative
  • latents
◄frames88►
◄width1280►
◄height720►
◄steps100►
◄guidance8.0►
◄seed0►
◄low_vram_modefalse►

This is AllegroSampler's cousin for the image-to-video path, and the difference between them is exactly one idea: instead of denoising from pure noise, it denoises around reference latents that are locked in place by masks. Your input image becomes frame 0 (or frame 0 and frame 87, or any keyframes you set), and everything in between gets generated to bridge them. If you've used Wan or Hunyuan's I2V, the shape of this will feel familiar - but Allegro was doing the masked-video trick back in early 2025, and it's honestly one of the more interesting parts of the pack.

How it works

The sampler consumes the outputs of AllegroTI2VEncoder (ref_latents + ref_masks) along with the same conditioning pair from AllegroTextEncoder, then runs the TI2V transformer's denoising loop. The ref masks tell the model which latent positions are fixed ground truth; those stay frozen through every step while the rest of the latent video is denoised against them. The result is a latent video that has to pass through your reference frame(s), which is what makes it image-to-video instead of just "video with a seeded start."

Everything else matches the plain sampler: Euler ancestral scheduling, 100 steps by default, the same low_vram_mode toggle that shuttles the 2.8B transformer through memory block-by-block on 8GB cards, and the same latent preview integration if you've configured one in ComfyUI Manager. The one number that differs is guidance - the TI2V default is 8.0 rather than the T2V sampler's 7.5. Small bump, same dial to turn if you want more or less prompt adherence.

The inputs that matter

  • pipe (AllegroPIPE) - from LoadAllegroTI2VModel. Required.
  • ref_latents (LATENT) and ref_masks (MASK) - the encoder's outputs. Required, and wire both; this node does not generate them itself.
  • positive / negative (CONDITIONING) - from AllegroTextEncoder. Required.
  • frames / width / height - defaults 88 / 1280 / 720, and in the example workflow these get overridden by the encoder's own frames/width/height outputs, so your reference image's resolution drives the video. Same 88-frame warning applies: stick to it unless you enjoy mosaics.
  • steps / guidance / seed / low_vram_mode - same semantics as the T2V sampler.

It returns latents (LATENT) → wire into AllegroDecoder.

Install & wiring

cd ComfyUI/custom_nodes
git clone https://github.com/bombax-xiaoice/ComfyUI-Allegro
cd ComfyUI-Allegro && pip install -r requirements.txt

Full chain: LoadAllegroTI2VModel → AllegroTI2VEncoder + AllegroTextEncoder → this sampler → AllegroDecoder → VHS_VideoCombine.

Common issues

The classic mistake is feeding it a ref_latents/ref_masks pair that came from a different frames count or resolution than the frames/width/height widgets - the shapes won't agree and you'll get a mismatch error. The clean fix is to wire the encoder's frames/width/height outputs into the sampler's inputs (as the example workflow does) so they can't drift. And on low-VRAM cards, remember this is a second transformer load on top of everything else: low_vram_mode on, batch encodes modest, and expect a long, patient run.

CategoryAllegro

Inputs (12)

NameTypeDefaultDescription
pipeAllegroPIPE—
ref_latentsLATENT—
ref_masksMASK—
positiveCONDITIONING—
negativeCONDITIONING—
framesINT88—
widthINT1280—
heightINT720—
stepsINT1001–200—
guidanceFLOAT8.00–20—
seedINT0—
low_vram_modeBOOLEANfalse—

Outputs (1)

NameTypeDescription
latentsLATENT—