IAMCCS Cine AllInOne FLF Engine
Your LTX timeline, condensed into one conditioning node
- positive
- negative
- vae
- latent
- multi_input
- positive
- negative
- latent
- report
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_secondsandframe_ratemust 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.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| vae | VAE | — | |
| latent | LATENT | — | |
| multi_input | IMAGE | — | |
| timeline_data | STRING | Edited by the Cine FLF timeline UI. JSON or lines: second | ref | strength | label | camera note | |
| duration_seconds | INT | 191–36000 | — |
| frame_rate | INT | 241–120 | — |
| fallback_num_images | INT | 21–50 | — |
| fallback_strength | FLOAT | 0.820–1 | — |
| tail_safety_frames | INT | 10–256 | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| latent | LATENT | — |
| report | STRING | — |