Nodes/IAMCCS-nodes/Start Images To Video Latent ??
ComfyUI Node

Start Images To Video Latent ??

Inject start frames into your LTX latent so every segment continues cleanly

By IAMCCS·Created 11 months ago·Updated 7 days ago· 113
Start Images To Video Latent ??
  • start_images
  • vae
  • latent
  • latent
  • frames_loaded
  • report
modeall
count9
insert_at_pixel_frame0
strength1.00
preprocesstrue
preprocess_crf33

The whole trick of LTX-2 long-video extension is making segment N+1 start where segment N ended. IAMCCS_StartImagesToVideoLatent is the node that makes that mechanical: you hand it the last frames of the previous segment (as an IMAGE batch), your VAE, and the next segment's latent, and it encodes those frames, splices them into the latent at the right position, and sets a noise mask so the sampler treats them as given rather than regenerating them.

Without this kind of injection, extension workflows either regenerate the boundary frames (flicker and drift) or hand-roll latent math, which is exactly the "frame math everywhere, one wrong value breaks everything three segments later" mess the pack's author built this whole family to remove.

How it works

It takes the start_images, optionally runs them through ComfyUI's LTXVPreprocess (with preprocess_crf, default 33, applying the standard CRF-based conditioning preprocessing that LTX video conditioning uses), resizes to the latent's pixel dimensions if needed, encodes with your vae, and writes the encoded frames into latent["samples"] starting at insert_at_pixel_frame. The strength control (0–1, default 1) sets how strongly the injected frames are held: strength 1 writes a full conditioning mask (frames are fixed), lower strength lets the sampler modify them. mode (all/from_start/from_end) with count (default 9) trims which of the start frames you feed, so you can inject just the last 9 frames instead of everything.

The output is the same latent dict with a noise_mask - that's what signals the sampler to keep the injected frames fixed.

Inputs and outputs

  • start_images (IMAGE) - the frames to carry forward (typically the last N frames of the previous segment).
  • vae - your LTX video VAE.
  • latent - the empty latent for the segment you're about to generate.
  • insert_at_pixel_frame - where in the segment timeline to inject (0 = very start).
  • strength, mode, count, preprocess, preprocess_crf - injection control.

Outputs: latent (the modified latent + mask), frames_loaded, report.

Installing

ComfyUI Manager → search "IAMCCS", or

cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git

Restart. It depends on ComfyUI's native LTXV nodes (comfy_extras.nodes_lt) for preprocessing - if LTXVPreprocess is missing it falls back to no preprocessing with a log warning, so keep ComfyUI current.

Gotchas

Two common traps. First, insert_at_pixel_frame is in pixel frames but the latent is time-downsampled (LTX uses a time factor of 8), so the node floors it to the nearest latent slot - pick a value aligned to the time factor or you'll inject one slot off. Second, the injected frames and the target latent must agree on aspect and resolution or you pay for a resize at every segment; the pack's planner nodes keep this consistent, but if you're hand-wiring, use the same width/height everywhere. And lower strength than 1.0 means the boundary isn't locked - great for deliberate motion at the seam, wrong tool if you want a hard cut.

CategoryIAMCCS/LTX-2

Inputs (9)

NameTypeDefaultDescription
start_imagesIMAGE
vaeVAE
latentLATENT
modeCOMBOall3 options: all, from_start, from_end
countINT91–512
insert_at_pixel_frameINT00–100000
strengthFLOAT1.000–1
preprocessBOOLEANtrue
preprocess_crfINT330–100

Outputs (3)

NameTypeDescription
latentLATENT
frames_loadedINT
reportSTRING