Nodes/Comfyui_TTP_Toolset/LTX First Last Frame Control (TTP)
ComfyUI Node Runs on cloud

LTX First Last Frame Control (TTP)

Pin the start and end of an LTX video

By TTPlanetPig·Created 2 years ago·Updated 30 days ago· 1,028
LTX First Last Frame Control (TTP)
  • vae
  • latent
  • first_image
  • last_image
  • latent
first_strength1.00
last_strength1.00

If you've generated more than a handful of LTX clips, you already know the model's weakness: it's blindingly fast and often has no idea where it's going. You get a great opening frame and then the video wanders off somewhere unrelated by the end. LTX First Last Frame Control is TTPlanetPig's answer to that - you hand it an image for the start, an image for the end (or just one of them), and it anchors the latent so the sampler has to build a video that actually connects the two.

How it works. You feed it your vae and an already-created latent (the same one you'd normally hand a KSampler for an LTX run). The node VAE-encodes first_image and/or last_image and writes them into the corresponding frame positions of that latent, weighted by first_strength and last_strength. Both strengths run 0.0 to 1.0: the author's own tooltip is blunt about it - 1.0 means the frame is fully replaced by your image, 0.0 means it isn't embedded at all. You can use just first_image, just last_image, or both; they're optional, so a half-anchored video (start pinned, end free) is a legitimate use case. The output is a latent you pass straight into your sampler.

Worth knowing before you install this: LTX-2 shipped native first/last-frame support around the same time this node got attention on Reddit (a 197-point post titled "TTP Toolset: LTX 2 first and last frame control capability"), and the top comment on that thread points out you don't strictly need a custom node anymore - vanilla ComfyUI's LTXVAddGuide node does it out of the box, and can even place guide frames at arbitrary points mid-video, not just start/end. So if you're on a recent LTX-2 setup, it's worth trying the built-in path first. What this node buys you over hand-wiring LTXVAddGuide is convenience: one node, two strength dials, done - instead of assembling the VAE-encode-and-latent-write plumbing yourself.

Install. Easiest route is ComfyUI Manager - search "Comfyui_TTP_Toolset" and install. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/TTPlanetPig/Comfyui_TTP_Toolset, then restart ComfyUI. No extra model downloads for this specific node - it just needs the vae from whatever LTX checkpoint you're already sampling with, so make sure that VAE actually matches your model (mixing an LTX-2 VAE with an LTX-2.3 latent, or vice versa, will not go well).

Where people get burned. From the same Reddit thread, a couple of real, useful signals. First: cranking first_strength/last_strength to 1.0 gives you a hard anchor, and hard anchors on any first/last-frame video model tend to produce what one commenter called a "video transition" rather than continuous motion - the clip looks like it cuts to the end frame instead of arriving there naturally. If your output feels like a jump cut, back the strength off to something like 0.7–0.85 and let the model have a little more freedom, or just try a few more seeds - as one reply put it, that "transition" look is a known problem with first/last-frame conditioning generally, not a bug specific to this node, and it responds to a better prompt or a luckier seed as much as to settings.

Second: general LTX-2 first/last-frame workflows in that thread produced some genuinely bad output for people - static frames, morphing artifacts, characters that just don't move. That's not this node's fault specifically (it showed up on the native LTXVAddGuide path too), but it's a fair warning that FLF conditioning on LTX-2 is still a bit finicky as a category. Adding "static frame, static image, still frame" to your negative prompt is the community's go-to mitigation if you're getting frozen clips.

One more practical note: this node lives in the conditioning/video_models category, so if you can't find it, check there rather than under Image or Sampling - it's easy to go looking in the wrong menu on a pack this large.

Categoryconditioning/video_models

Inputs (6)

NameTypeDefaultDescription
vaeVAE
latentLATENT
first_strengthFLOAT1.000–1首帧嵌入强度 (1.0=完全替换, 0.0=不嵌入)
last_strengthFLOAT1.000–1尾帧嵌入强度 (1.0=完全替换, 0.0=不嵌入)
first_imageoptIMAGE首帧图像(可选)
last_imageoptIMAGE尾帧图像(可选)

Outputs (1)

NameTypeDescription
latentLATENT