H3 Infinite - Save AV Latent
H3 Save AV Latent — The Node That Turns Renders Into a Resumable Project
- latent
- handover
- latent_path
- latent_info
After every accepted H3 clip in a long chain, you should save its complete audio+video latent. That's the entire job of H3ContinuousSaveLatent, and it's what makes everything else in this suite - continuing after a reboot, memory-bounded stitching of saved chains, handing a project to another machine - possible. Skip it and your "infinite" chain dies with your ComfyUI session.
It saves the full AV latent, not a decoded video, plus non-destructive metadata: a safetensors file with format h3_continuous_av_v8, frame count, clip index, video/audio shapes, and the handover/head-context info needed later. The file lands in ComfyUI/output under filename_prefix (default h3_continuous/clip).
Inputs:
latent- the sampler output AV latent for the accepted clip.filename_prefix- defaulth3_continuous/clip.clip_index- fixed chain slot. Clip 1 → 1, Clip 2 → 2. Re-rendering a clip overwrites its slot (which is what you want - it's idempotent).0= auto-numbered attempt, for when you don't care about a stable slot.
Optional inputs: handover - the freeze-analysis metadata from the Auto Handover node, which the node stores alongside the latent (and it guards against frame-count mismatches, refusing to save mismatched metadata); head_context_frames - connect actual_head_context_frames from a Continue node for Clip 2+ so the saved file is self-describing for later seamless stitching. Leave it unconnected (0) for Clip 1.
Outputs: latent_path (where it wrote) and latent_info (a summary STRING).
The workflow shape
Start Clip 1 → sample → Save (clip 1). Analyze → Continue → sample → Save (clip 2). Repeat. Then either keep going live or use the Stitch Saved Chain workflow, which decodes one saved latent at a time so peak memory doesn't scale with the whole project - that's the memory-bounded design this save format enables.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/HerrgottMargott/Herrgotts-H3-Infinite-Continuation-Suite.git
Restart ComfyUI, reload. No pip deps, no bundled weights.
Gotchas
The #1 mistake is re-using clip 1's index for clip 2 - the file overwrites and you've silently destroyed the clip-1 latent that clip 2's handover metadata points at. The #2 mistake is forgetting to wire the analyzer's handover in; the latent still saves, but it's a dumb latent with no continuation metadata, and v1.4 Continue will refuse it later. The metadata is the point, not the tensor.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | Sampler output AV latent for the accepted clip. | |
| filename_prefix | STRING | h3_continuous/clip | — |
| clip_index | INT | 10–99999 | Fixed chain slot. Clip 1 -> 1, clip 2 -> 2. Re-rendering overwrites that slot. 0 = auto-numbered attempt. |
| handoveropt | H3_CONTINUOUS_HANDOVER | Optional freeze-analysis metadata. The full latent is still saved unchanged. | |
| head_context_framesopt | INT | Clip 1: leave unconnected (0). Clip 2+: connect actual_head_context_frames from Continue from Latent so the saved file is self-describing for later seamless stitching. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| latent_path | STRING | — |
| latent_info | STRING | — |