Nodes/IAMCCS-nodes/IAMCCS Cine Board Duration Lock
ComfyUI Node

IAMCCS Cine Board Duration Lock

LTX won't take your shot length — this node makes the math cooperate

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
IAMCCS Cine Board Duration Lock
  • cine_linx
  • model_length_frames
  • target_frames
  • duration_seconds_exact
  • frame_rate_int
  • report
timeline_data
duration_seconds8
frame_rate24
ltx_round_modeup_8n_plus_1

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_seconds and frame_rate - your starting point, used only if no timeline/linx overrides them.
  • ltx_round_mode - leave it on up_8n_plus_1 unless 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_int and report (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.

CategoryIAMCCS/Cine/00 Utilities

Inputs (5)

NameTypeDefaultDescription
timeline_dataSTRING
duration_secondsINT81–36000
frame_rateINT241–120
ltx_round_modeCOMBOup_8n_plus_13 options: up_8n_plus_1, nearest_8n_plus_1, none
cine_linxoptIAMCCS_SUPERNODE_LINX

Outputs (5)

NameTypeDescription
model_length_framesINT
target_framesINT
duration_seconds_exactFLOAT
frame_rate_intINT
reportSTRING