Nodes/IAMCCS-nodes/IAMCCS Cine AllInOne FLF Engine
ComfyUI Node

IAMCCS Cine AllInOne FLF Engine

Your LTX timeline, condensed into one conditioning node

By IAMCCS·Created 11 months ago·Updated 7 days ago· 113
IAMCCS Cine AllInOne FLF Engine
  • positive
  • negative
  • vae
  • latent
  • multi_input
  • positive
  • negative
  • latent
  • report
timeline_data
duration_seconds19
frame_rate24
fallback_num_images2
fallback_strength0.82
tail_safety_frames1

IAMCCS_CineAllInOneFLFEngine is the "single generation" workhorse of the IAMCCS Cine pipeline: one node that takes your positive/negative conditioning, a set of reference images, a latent, and a text timeline - and produces the conditioned positive/negative/latent for an LTX-2 first/last-frame (FLF) generation. "FLF" is the point: LTX-2 is a first-frame/last-frame model with time-windowed conditioning, which is a genuinely awkward thing to express in stock ComfyUI. This node exists to make "this frame at second 0, that frame at second 19, in between = the model's job" a text field instead of a wiring nightmare.

It's the "AllInOne" version of a family of Cine sequencer nodes, and it's the one you reach for when you want the timeline + reference logic collapsed into a single conditioning hop rather than spread across a ShotPlanner, a relay, and a guide builder.

How it works

The engine takes your timeline_data - edited by the Cine FLF timeline UI, and the tooltip says it plainly: JSON or lines of second | ref | strength | label | camera note - and turns it into a keyframe plan. Each row gets a reference index (which image in your multi_input batch), a frame position computed from duration_seconds and frame_rate, a guide strength, and a label. It then builds the conditioning guides for the LTX-2 sampler from that plan and returns positive/negative/latent ready to feed your KSampler or the Cine second stage.

The fallback logic is what saves you when the timeline is empty: fallback_num_images (default 2) and fallback_strength (0.82) define a sensible default keyframe layout so the node doesn't explode if you hit run before the timeline UI has any rows. tail_safety_frames adds a small tail buffer to keep the last frame clean - the same last-frame boundary concern that plagues every video VAE, and the same reason the pack ships a last-frame fix on its decoder node.

Inputs and outputs

Inputs: positive and negative (CONDITIONING), vae, latent, multi_input (the IMAGE batch of reference frames), timeline_data, duration_seconds (default 19), frame_rate (24), fallback_num_images, fallback_strength, tail_safety_frames.

Outputs: conditioned positive, negative, latent, and a report JSON (which carries a mode tag, v3_clean_conditioning_guide_compat, so you can tell which guide path it took). All four feed downstream sampling - the conditioning outputs go to a text-encode/KSampler path and the latent carries your length/dimensions.

Installing it

Part of the IAMCCS-nodes pack. ComfyUI Manager → search IAMCCS, or:

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

Restart ComfyUI; it's under IAMCCS/Cine/02 Single Generation. No pip requirements, no model files - it orchestrates conditioning for an LTX-2 model you load yourself. README floor: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8.

Where people get burned

  • The timeline is the input, but the reference images come from multi_input. Wiring one and forgetting the other gives you guides that reference nothing - you get a generation, but it ignores your intended keyframes.
  • This node isn't the whole pipeline. It's the conditioning engine for a single LTX-2 pass: you still need the sampler, VAE decode, and a frame-combine step around it. If you're coming from a one-node-does-everything video tool, the Cine SuperNodes are the wrappers that compress those stages - this node sits inside them.
  • duration_seconds and frame_rate must match what your sampler/latent actually uses. The engine derives frame positions from them; a mismatch means keyframes land at the wrong time and you get "why is my reference at second 12 instead of second 6" confusion.
CategoryIAMCCS/Cine/02 Single Generation

Inputs (11)

NameTypeDefaultDescription
positiveCONDITIONING
negativeCONDITIONING
vaeVAE
latentLATENT
multi_inputIMAGE
timeline_dataSTRINGEdited by the Cine FLF timeline UI. JSON or lines: second | ref | strength | label | camera note
duration_secondsINT191–36000
frame_rateINT241–120
fallback_num_imagesINT21–50
fallback_strengthFLOAT0.820–1
tail_safety_framesINT10–256

Outputs (4)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING
latentLATENT
reportSTRING