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