IAMCCS Cine Shotboard V4 Crop Guides
Trims the LTX tail off your latent so output matches the edit
- positive
- negative
- latent
- positive
- negative
- latent
A tiny node, a boring name, and a genuinely important job. IAMCCS Cine Shotboard V4 Crop Guides sits after the backend and before decode, and it does one thing: crops the LTX tail-padding frames off your latent so the decoded video matches the editorial duration you asked for.
The reason this has to exist is the same 8n+1 math that runs through the whole pack. LTX-style models require frame counts of the form 8n+1, so when your plan says "exactly 192 frames," the pipeline rounds up to the next valid length, generates a few extra frames, and pads the end. Decode everything and you get a clip longer than the edit. This node trims those extra latent frames - in latent space, before decode - so you don't carry padding into your output.
How it decides how much to trim. It looks at the conditioning it receives and derives the crop count from the guide keyframes: it reads the explicit nghtdrp_guide_crop_latent_frames value if present, otherwise it counts unique keyframe indices in the conditioning's keyframe_idxs. Then it crops that many frames off the end of the latent (clamped so it never eats the whole clip), and clears the guide/keyframe conditioning values (keyframe_idxs, guide_attention_entries, nghtdrp_guide_crop_latent_frames) from both positive and negative conditioning so no stale guide metadata leaks into the sampler.
Inputs and outputs. Three in, three out, same names both sides: positive, negative (CONDITIONING), and latent (LATENT). You'll notice there's no cine_linx input - this node works purely on the conditioning/latent signals, so you can drop it into the decode path of a V4 pipeline without worrying about plan metadata. It's the practical sibling of the Tail Trim Policy node: that one sets the policy on the plan, this one actually does the cutting.
Install. Part of IAMCCS-nodes: ComfyUI Manager (search "IAMCCS"), or git clone https://github.com/IAMCCS/IAMCCS-nodes into custom_nodes, restart. No extra dependencies, no models.
The honest take. If your V4 workflow uses the backend's own duration handling, this node may be redundant with other trim logic - but it's cheap and harmless to keep in the decode path, and it's the explicit "trim the padded tail" step for graphs that need deterministic output length. Where it won't help: it crops the tail based on guide keyframes, so if your conditioning carries no keyframe info and no explicit crop value, it computes zero and passes everything through. If your clips still come back over-long, that's the first thing to check.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| latent | LATENT | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| latent | LATENT | — |