IAMCCS Cine Board Duration Lock
LTX won't take your shot length — this node makes the math cooperate
- cine_linx
- model_length_frames
- target_frames
- duration_seconds_exact
- frame_rate_int
- report
Ever loaded an LTX video workflow, set an 8-second shot at 24fps, and gotten a confusing error about the latent length? That's the classic LTX gotcha: the number of frames a model will actually sample isn't just duration × fps. LTX video latents need specific lengths, and the IAMCCS Cine system is built on that being exact. Cine Board Duration Lock is the little utility that does the arithmetic for you and hands you a frame count you can trust.
It's part of IAMCCS-nodes, the big LTX-focused pack by Carmine Cristallo Scalzi ("IAMCCS"), and it lives in the "00 Utilities" section of the Cine tools. These Cine nodes all orbit a shared bit of state called cine_linx - a metadata blob that carries your board, timeline, and dialogue info from node to node. This node's whole job is to reconcile the duration you want with the length the model will actually accept.
How it works
Give it a duration and a frame rate, and it computes raw_frames = duration × fps, then rounds to a model-compatible count. The default ltx_round_mode is up_8n_plus_1 (round up to 8n+1, the LTX-compatible pattern), with nearest_8n_plus_1 and none as alternatives. Nice detail: it isn't a dumb widget calculator. If you wire in a timeline_data string from a Cine Shotboard, or a cine_linx connection, those override the widget values - so your shot length stays locked to whatever the board actually says, not what you typed yesterday and forgot to update.
Inputs that matter
duration_secondsandframe_rate- your starting point, used only if no timeline/linx overrides them.ltx_round_mode- leave it onup_8n_plus_1unless you know why you'd change it.timeline_data/cine_linx(optional) - the authoritative source when present.
Outputs
model_length_frames- the number you feed into your latent/length setup. This is the one that matters.target_frames- same value, pre-rounded result on the way there.duration_seconds_exact(float) - the true duration after rounding, so you can see the drift.frame_rate_intandreport(JSON) - the resolved fps and a full breakdown of the math.
Installing it
This node ships inside IAMCCS-nodes, so you install the whole pack:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Then restart ComfyUI. Or open ComfyUI Manager and search "IAMCCS". The pack wants a modern stack - ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8 - and there are no extra model files to download for the Cine utilities themselves (they wrap models you already load).
The trap to watch
One honest warning: this pack has overlapping utilities, and picking the wrong one bites. Cine Board Duration Lock deliberately locks production length without guide-tail padding - that's what IAMCCS_CineFLFLengthCompensator exists for. If your workflow is adding FLF reference guides, you want the compensator, not this node, or the guide tail gets chopped. For a plain shot with no keyframe guides, this is the one you reach for. The report output tells you what it actually did, so when your video comes back the wrong length, read it before guessing.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| timeline_data | STRING | — | |
| duration_seconds | INT | 81–36000 | — |
| frame_rate | INT | 241–120 | — |
| ltx_round_mode | COMBO | up_8n_plus_1 | 3 options: up_8n_plus_1, nearest_8n_plus_1, none |
| cine_linxopt | IAMCCS_SUPERNODE_LINX | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| model_length_frames | INT | — |
| target_frames | INT | — |
| duration_seconds_exact | FLOAT | — |
| frame_rate_int | INT | — |
| report | STRING | — |