LTX-2 Save Latent Bridge ??
Hand the raw latent tail to the next segment, not just a PNG
- latents
- vae
- latents
- report
The PNG last-frame bridge (IAMCCS_LTX2_LastFrameBridgeSave) works, but it's lossy - you're saving the decoded frame and losing all the latent continuity that came with it. This node is the high-fidelity version: instead of writing one frame as an image, it writes the latent tail of the segment as a safetensors file, along with a copy of the full latent, a reference latent, and a running seed offset. The next segment loads that and can continue with genuine latent-level overlap rather than a re-encoded anchor.
If you're chasing seamless long-form continuity - where each segment starts with the actual denoised state of the one before - this is the bridge you want, and it pairs with IAMCCS_LTX2_LoadLatentBridge on the other side.
How it works
Give it latents, a render_id, and a temporal_overlap in pixel frames (converted to latent frames via the VAE's time scale, default 8). It slices the last overlap_f latent frames off the batch and writes a .safetensors payload to:
ComfyUI/output/iamccs_ltx2_bridges/ltx2_latent_bridge_<render_id>.safetensors
The payload carries four things: latent_tail (the overlap slice), latent_full (the whole segment's latent), latent_reference (used for normalization/adaIn on the next pass), and a latent_seed_offset that increments by the non-overlap frame count each save - so consecutive segments get deterministic noise without repeating the same seed.
Two guards mirror the PNG bridge: empty render_id or temporal_overlap of 0 both disable the save (passthrough + report). And it validates the latent is a real 5D tensor before touching disk.
Inputs and outputs
latents- the segment's LATENT.render_id- the chain key; empty disables the save.temporal_overlap- how many pixel frames of the tail to save (default 0 - set it or nothing happens!).vae- optional, used to convert pixel overlap to latent frames (falls back to time scale 8 if omitted).
Outputs: latents (passed through) and report confirming the save path and overlap.
Install
ComfyUI Manager → "IAMCCS", or:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart. Uses safetensors, which ships with ComfyUI.
Gotchas
The easy miss is temporal_overlap: 0 - the default is zero, and with it the save is disabled. Wire the node up, run a segment, and find an empty bridge directory, and this is usually why. Match the render_id exactly with the Load side, or the next segment reads a stale or missing payload. And a genuinely useful detail: because the save also records a seed offset, the order of segments matters - skipping one mid-chain produces a different noise walk, which shows up as a subtle jump in texture even when the content looks fine.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| latents | LATENT | — | |
| render_id | STRING | — | |
| temporal_overlap | INT | 00–4096 | — |
| vaeopt | VAE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| latents | LATENT | — |
| report | STRING | — |