Nodes/Herrgotts-H3-Infinite-Continuation-Suite/H3 Infinite - Save AV Latent
ComfyUI Node

H3 Infinite - Save AV Latent

H3 Save AV Latent — The Node That Turns Renders Into a Resumable Project

By HerrgottMargott·Created 14 days ago·Updated 3 days ago· 51
H3 Infinite - Save AV Latent
  • latent
  • handover
  • latent_path
  • latent_info
filename_prefixh3_continuous/clip
clip_index1
head_context_frames

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 - default h3_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.

CategoryHerrgotts H3 Infinite Continuation Suite

Inputs (5)

NameTypeDefaultDescription
latentLATENTSampler output AV latent for the accepted clip.
filename_prefixSTRINGh3_continuous/clip
clip_indexINT10–99999Fixed chain slot. Clip 1 -> 1, clip 2 -> 2. Re-rendering overwrites that slot. 0 = auto-numbered attempt.
handoveroptH3_CONTINUOUS_HANDOVEROptional freeze-analysis metadata. The full latent is still saved unchanged.
head_context_framesoptINTClip 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)

NameTypeDescription
latent_pathSTRING
latent_infoSTRING