Nodes/IAMCCS-nodes/IAMCCS Cine LTX Keyframer (legacy alias)
ComfyUI Node

IAMCCS Cine LTX Keyframer (legacy alias)

Drop up to 50 stills into an LTX latent as hard keyframes

By IAMCCS·Created 11 months ago·Updated 7 days ago· 113
IAMCCS Cine LTX Keyframer (legacy alias)
  • vae
  • latent
  • multi_input
  • latent
num_images1
insert_frame_10
strength_11.00
insert_frame_20
strength_21.00
insert_frame_30
strength_31.00
insert_frame_40
strength_41.00
insert_frame_50
strength_51.00
insert_frame_60
strength_61.00
insert_frame_70
strength_71.00
insert_frame_80
strength_81.00
insert_frame_90
strength_91.00
insert_frame_100
strength_101.00
insert_frame_110
strength_111.00
insert_frame_120
strength_121.00
insert_frame_130
strength_131.00
insert_frame_140
strength_141.00
insert_frame_150
strength_151.00
insert_frame_160
strength_161.00
insert_frame_170
strength_171.00
insert_frame_180
strength_181.00
insert_frame_190
strength_191.00
insert_frame_200
strength_201.00
insert_frame_210
strength_211.00
insert_frame_220
strength_221.00
insert_frame_230
strength_231.00
insert_frame_240
strength_241.00
insert_frame_250
strength_251.00
insert_frame_260
strength_261.00
insert_frame_270
strength_271.00
insert_frame_280
strength_281.00
insert_frame_290
strength_291.00
insert_frame_300
strength_301.00
insert_frame_310
strength_311.00
insert_frame_320
strength_321.00
insert_frame_330
strength_331.00
insert_frame_340
strength_341.00
insert_frame_350
strength_351.00
insert_frame_360
strength_361.00
insert_frame_370
strength_371.00
insert_frame_380
strength_381.00
insert_frame_390
strength_391.00
insert_frame_400
strength_401.00
insert_frame_410
strength_411.00
insert_frame_420
strength_421.00
insert_frame_430
strength_431.00
insert_frame_440
strength_441.00
insert_frame_450
strength_451.00
insert_frame_460
strength_461.00
insert_frame_470
strength_471.00
insert_frame_480
strength_481.00
insert_frame_490
strength_491.00
insert_frame_500
strength_501.00

LTX Video's keyframe conditioning is how you force a fast video model to hit specific beats: you encode stills, slot them into the latent at chosen frames, and mark them so the sampler treats them as anchors rather than noise. IAMCCS Cine LTX Keyframer (legacy alias) does that insertion - up to 50 images, each with its own frame and strength - and hands back the latent ready for sampling.

What it does

Inputs:

  • vae - the LTX video VAE used to encode the stills.
  • latent - the video latent you're inserting into (usually an EmptyLTXVLatentVideo).
  • multi_input - the batched IMAGE from the Cine Reference Board (IAMCCS_WDC_MultiImageLoader), which has already normalized everything to one size.
  • num_images - how many of the per-image widget sets you want to see. The node has slots for 50; this hides the ones you're not using.

Then, per image (up to 50): insert_frame_N - the frame (in pixel space) where that still gets inserted - and strength_N - how hard the image pins that position (1.0 = full lock, lower = looser suggestion). The tooltip calls these "frame ... in pixel space," which means real frame numbers, not latent slots.

The output is a single latent with the images encoded in and the noise mask updated, so the sampler knows those positions are conditioned rather than free.

How it works

It's the LTX-native keyframe mechanism wrapped in a multi-image batch: encode each still with the video VAE, place it at its frame index in the latent, and mark the mask so the sampler keys off it. The strength per image is the knob that decides whether a still is a hard cut (1.0) or just a nudge in the right direction (0.3). The IAMCCS_WDC_* family is the legacy-compat port of the Cine LTX nodes, so the important thing for you is: this is the node old IAMCCS Cine workflows wire their reference stills into.

Where it fits

Reference Board → Keyframer → sampler (with your LTX conditioning) → VAE decode. If you also want the stills to shape the text conditioning - not just the latent - you want the sibling IAMCCS_WDC_LTXSequencer instead, which does both. The Keyframer is the latent-only version.

Installing it

Part of IAMCCS-nodes. ComfyUI Manager (search "IAMCCS") or:

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

Restart after. It needs a working LTX Video setup (model + video VAE) in ComfyUI - the node itself adds no model files.

Common issues

The usual suspects: a multi_input batch that isn't size-consistent (fix it at the Reference Board), or frame numbers that overshoot the latent's length - the node clamps on the negative side but an insert past the end is a silent no-op, so double-check insert_frame_N against your total frame count. And remember num_images only controls visible widgets; leave it at 1 until you actually need more.

CategoryIAMCCS/Cine/Legacy Compatibility

Inputs (104)

NameTypeDefaultDescription
vaeVAEVideo VAE used to encode the images
latentLATENTVideo latent to insert images into
multi_inputIMAGEBatched images from IAMCCS Cine Reference Board
num_imagesINT10–50Select how many index/strength widgets to configure.
insert_frame_1optINT0-9999–9999Frame insert_frame for image 1 in pixel space.
strength_1optFLOAT1.000–1Strength for image 1.
insert_frame_2optINT0-9999–9999Frame insert_frame for image 2 in pixel space.
strength_2optFLOAT1.000–1Strength for image 2.
insert_frame_3optINT0-9999–9999Frame insert_frame for image 3 in pixel space.
strength_3optFLOAT1.000–1Strength for image 3.
insert_frame_4optINT0-9999–9999Frame insert_frame for image 4 in pixel space.
strength_4optFLOAT1.000–1Strength for image 4.
insert_frame_5optINT0-9999–9999Frame insert_frame for image 5 in pixel space.
strength_5optFLOAT1.000–1Strength for image 5.
insert_frame_6optINT0-9999–9999Frame insert_frame for image 6 in pixel space.
strength_6optFLOAT1.000–1Strength for image 6.
insert_frame_7optINT0-9999–9999Frame insert_frame for image 7 in pixel space.
strength_7optFLOAT1.000–1Strength for image 7.
insert_frame_8optINT0-9999–9999Frame insert_frame for image 8 in pixel space.
strength_8optFLOAT1.000–1Strength for image 8.
insert_frame_9optINT0-9999–9999Frame insert_frame for image 9 in pixel space.
strength_9optFLOAT1.000–1Strength for image 9.
insert_frame_10optINT0-9999–9999Frame insert_frame for image 10 in pixel space.
strength_10optFLOAT1.000–1Strength for image 10.
insert_frame_11optINT0-9999–9999Frame insert_frame for image 11 in pixel space.
strength_11optFLOAT1.000–1Strength for image 11.
insert_frame_12optINT0-9999–9999Frame insert_frame for image 12 in pixel space.
strength_12optFLOAT1.000–1Strength for image 12.
insert_frame_13optINT0-9999–9999Frame insert_frame for image 13 in pixel space.
strength_13optFLOAT1.000–1Strength for image 13.
insert_frame_14optINT0-9999–9999Frame insert_frame for image 14 in pixel space.
strength_14optFLOAT1.000–1Strength for image 14.
insert_frame_15optINT0-9999–9999Frame insert_frame for image 15 in pixel space.
strength_15optFLOAT1.000–1Strength for image 15.
insert_frame_16optINT0-9999–9999Frame insert_frame for image 16 in pixel space.
strength_16optFLOAT1.000–1Strength for image 16.
insert_frame_17optINT0-9999–9999Frame insert_frame for image 17 in pixel space.
strength_17optFLOAT1.000–1Strength for image 17.
insert_frame_18optINT0-9999–9999Frame insert_frame for image 18 in pixel space.
strength_18optFLOAT1.000–1Strength for image 18.
insert_frame_19optINT0-9999–9999Frame insert_frame for image 19 in pixel space.
strength_19optFLOAT1.000–1Strength for image 19.
insert_frame_20optINT0-9999–9999Frame insert_frame for image 20 in pixel space.
strength_20optFLOAT1.000–1Strength for image 20.
insert_frame_21optINT0-9999–9999Frame insert_frame for image 21 in pixel space.
strength_21optFLOAT1.000–1Strength for image 21.
insert_frame_22optINT0-9999–9999Frame insert_frame for image 22 in pixel space.
strength_22optFLOAT1.000–1Strength for image 22.
insert_frame_23optINT0-9999–9999Frame insert_frame for image 23 in pixel space.
strength_23optFLOAT1.000–1Strength for image 23.
insert_frame_24optINT0-9999–9999Frame insert_frame for image 24 in pixel space.
strength_24optFLOAT1.000–1Strength for image 24.
insert_frame_25optINT0-9999–9999Frame insert_frame for image 25 in pixel space.
strength_25optFLOAT1.000–1Strength for image 25.
insert_frame_26optINT0-9999–9999Frame insert_frame for image 26 in pixel space.
strength_26optFLOAT1.000–1Strength for image 26.
insert_frame_27optINT0-9999–9999Frame insert_frame for image 27 in pixel space.
strength_27optFLOAT1.000–1Strength for image 27.
insert_frame_28optINT0-9999–9999Frame insert_frame for image 28 in pixel space.
strength_28optFLOAT1.000–1Strength for image 28.
insert_frame_29optINT0-9999–9999Frame insert_frame for image 29 in pixel space.
strength_29optFLOAT1.000–1Strength for image 29.
insert_frame_30optINT0-9999–9999Frame insert_frame for image 30 in pixel space.
strength_30optFLOAT1.000–1Strength for image 30.
insert_frame_31optINT0-9999–9999Frame insert_frame for image 31 in pixel space.
strength_31optFLOAT1.000–1Strength for image 31.
insert_frame_32optINT0-9999–9999Frame insert_frame for image 32 in pixel space.
strength_32optFLOAT1.000–1Strength for image 32.
insert_frame_33optINT0-9999–9999Frame insert_frame for image 33 in pixel space.
strength_33optFLOAT1.000–1Strength for image 33.
insert_frame_34optINT0-9999–9999Frame insert_frame for image 34 in pixel space.
strength_34optFLOAT1.000–1Strength for image 34.
insert_frame_35optINT0-9999–9999Frame insert_frame for image 35 in pixel space.
strength_35optFLOAT1.000–1Strength for image 35.
insert_frame_36optINT0-9999–9999Frame insert_frame for image 36 in pixel space.
strength_36optFLOAT1.000–1Strength for image 36.
insert_frame_37optINT0-9999–9999Frame insert_frame for image 37 in pixel space.
strength_37optFLOAT1.000–1Strength for image 37.
insert_frame_38optINT0-9999–9999Frame insert_frame for image 38 in pixel space.
strength_38optFLOAT1.000–1Strength for image 38.
insert_frame_39optINT0-9999–9999Frame insert_frame for image 39 in pixel space.
strength_39optFLOAT1.000–1Strength for image 39.
insert_frame_40optINT0-9999–9999Frame insert_frame for image 40 in pixel space.
strength_40optFLOAT1.000–1Strength for image 40.
insert_frame_41optINT0-9999–9999Frame insert_frame for image 41 in pixel space.
strength_41optFLOAT1.000–1Strength for image 41.
insert_frame_42optINT0-9999–9999Frame insert_frame for image 42 in pixel space.
strength_42optFLOAT1.000–1Strength for image 42.
insert_frame_43optINT0-9999–9999Frame insert_frame for image 43 in pixel space.
strength_43optFLOAT1.000–1Strength for image 43.
insert_frame_44optINT0-9999–9999Frame insert_frame for image 44 in pixel space.
strength_44optFLOAT1.000–1Strength for image 44.
insert_frame_45optINT0-9999–9999Frame insert_frame for image 45 in pixel space.
strength_45optFLOAT1.000–1Strength for image 45.
insert_frame_46optINT0-9999–9999Frame insert_frame for image 46 in pixel space.
strength_46optFLOAT1.000–1Strength for image 46.
insert_frame_47optINT0-9999–9999Frame insert_frame for image 47 in pixel space.
strength_47optFLOAT1.000–1Strength for image 47.
insert_frame_48optINT0-9999–9999Frame insert_frame for image 48 in pixel space.
strength_48optFLOAT1.000–1Strength for image 48.
insert_frame_49optINT0-9999–9999Frame insert_frame for image 49 in pixel space.
strength_49optFLOAT1.000–1Strength for image 49.
insert_frame_50optINT0-9999–9999Frame insert_frame for image 50 in pixel space.
strength_50optFLOAT1.000–1Strength for image 50.

Outputs (1)

NameTypeDescription
latentLATENTLatent with images inserted and noise mask updated.