Nodes/IAMCCS-nodes/LTX-2 Middle Frames (accumulator) ??
ComfyUI Node

LTX-2 Middle Frames (accumulator) ??

Pin a frame in the middle of an LTX-2 clip, not just the ends

By IAMCCS·Created 11 months ago·Updated 7 days ago· 113
LTX-2 Middle Frames (accumulator) ??
  • image
  • middle_frames
  • middle_frames
position0.50
strength1.00

First-frame and last-frame conditioning is the bread and butter of controllable video, but a lot of long-form shots are really about something in the middle - a composition you need to hit at the 60% mark, a specific beat. This node is how you collect those constraints. It's a tiny accumulator: every instance you add to the graph contributes one "middle frame" entry, and they chain together into a single bundle that a downstream control node can consume.

Think of it as the LTX-2-native equivalent of the LTXVMiddleFrame_TTP node from the TTP pack - the code says so explicitly - but written to feed IAMCCS's own first/last/middle control flow. If you're coming from a workflow built around TTP's nodes, this is a drop-in replacement for that one piece.

How it works

Each instance holds one image, a position, and a strength. The middle_frames output is an accumulator input too (anytype, so it can be empty or already hold a list). When you chain instances - A.middle_frames → B.middle_frames → C.middle_frames - each one appends its entry to the growing list, so the final node in the chain carries every frame you pinned.

position is the key field: a float from 0 to 1 representing relative position inside the latent timeline - 0 is the head, 1 is the tail, 0.5 is dead center. That's from the author's own tooltip, and it's worth trusting over your instincts: it's relative, not a frame number, so it stays valid no matter how long the segment ends up. strength (0–1, default 1) controls how hard that frame is enforced when it's finally used.

Inputs and outputs

  • image - the frame to pin (an IMAGE).
  • position - 0.0–1.0, where in the timeline it lands.
  • strength - 0–1, how strongly it's enforced.
  • middle_frames - optional accumulator input for chaining.

Single output: middle_frames (anytype). That bundle is what you feed into the pack's IAMCCS_LTX2_FirstLastLatentControl node, which VAE-encodes the images, splices them into the latent, and applies the strength as a noise-mask lock. If you're using this node, you're almost certainly wiring it there.

Install

ComfyUI Manager → search "IAMCCS", or clone:

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

Restart, done. No dependencies beyond ComfyUI core.

Gotchas

Two things bite. First, position is relative - if you set 0.5 expecting frame 5 of 10, that's not how it works; it scales with segment length. Second, this node only collects constraints. If you chain instances and then forget to feed the final middle_frames into FirstLastLatentControl, you've built a list nobody reads. The accumulator pattern is elegant, but it's also a great way to have dead ends. Keep the chain short, check the last node, and let the middle of your clip finally have a say.

CategoryIAMCCS/LTX-2

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
positionFLOAT0.500–1Relative position inside the latent timeline (0=head, 1=tail)
strengthFLOAT1.000–1
middle_framesopt*Accumulator input (anytype)

Outputs (1)

NameTypeDescription
middle_frames*