SKEBA H3 Motion Context Load Latent
Load the previous clip's latent — carefully — and feed it to Motion Context
- LATENT
SKEBA H3 Motion Context Load Latent is the return half of the latent handoff: it reads back the .safetensors file that SKEBA H3 Motion Context Save Latent wrote, and hands the previous clip's video-and-audio latent to the Motion Context node's context_latent input. One job, done well - but its clip_index semantics are where people trip, and they're worth getting right before you build a chain on them.
It's part of the ComfyUI-H3-Reference-Library pack (a.k.a. ComfyUI-Minimax-H3-Reference-Library), under Skeba AI Nodes - Motion Context.
How it works
Three inputs:
- latent_path - a saved latent file or a folder. Relative paths resolve against the ComfyUI output directory, so the default
h3_contextfinds the folder the Save node's default prefix writes into. Point this at a specific file and it always loads that file, ignoringclip_indexentirely. Point at a folder and the index decides. - clip_index - the clip to continue from: that clip's slot is loaded. Generating clip 2 from clip 1 means 1 here and 2 on the Save node. The numbers are backward-looking on purpose.
- bypass - when on, the node doesn't touch the filesystem. Drive it from the same boolean as Motion Context and Trim so the first clip (which has no previous latent) runs clean.
Output is a single LATENT - the loaded AV latent, destined for context_latent on Motion Context. Nothing else. The README is blunt that this output is for that input only, and you shouldn't wire it into a decode node.
The clip_index 0 trap
Set to 0, the node grabs the newest file in the folder instead of a numbered slot. It's simpler, and the README spells out the cost: it's not retry-safe. A re-roll of the previous clip writes its own rejected audio to the newest slot, and your next continuation loads that rejected take without you noticing. Auto-saved files (numbered by run, trailing underscore) are skipped by indexed loading on purpose - the "newest file" mode is the one that can't tell them apart. Use real indices for anything you're going to retry.
The workflow
this run: SamplerCustomAdvanced -> H3 Motion Context Save Latent (clip_index 2)
next run: H3 Motion Context Load Latent -> context_latent (clip_index 1)
Two passes, one boolean across the Motion Context / Trim / Load nodes. First pass: bypass on, no latent exists. Second pass: bypass off, the saved latent flows in, and the pinned frames come from the latent rather than a lossy decode-and-re-encode round trip.
Installing it
ComfyUI Manager - search "Skeba" or "H3-Reference-Library" - or:
cd ComfyUI/custom_nodes
git clone https://github.com/nikaskeba/ComfyUI-H3-Reference-Library
Restart ComfyUI. No extra dependencies, no model downloads.
Where people get burned
- The mismatch error you want to see. If the loaded latent's resolution or channels don't match the current clip, Motion Context refuses and names both resolutions. Don't fight it - a latent can't be resized, and quietly falling back to the lossy path would be worse.
- Loading the wrong clip is silent and destructive-feeling. If your continuation looks like it continued from the wrong take, check
clip_indexfirst, then check whether the file you loaded was overwritten by a re-roll. This is the node where the fixed-slot discipline pays off. - It only feeds
context_latent. Point it at a decode node and you'll get nonsense or an error - this is a handoff, not a video loader.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| latent_path | STRING | h3_context | A saved latent file, or a folder (relative paths resolve against the ComfyUI output directory). Pointing at a specific FILE always loads that file, ignoring clip_index. |
| clip_index | INT | 00–9999 | The clip to CONTINUE FROM: that clip's slot is loaded. Generating clip 2 from clip 1: set 1 here and 2 on the Save node. 0 = newest file in the folder (NOT retry-safe: a re-roll loads its own rejected audio). |
| bypassopt | BOOLEAN | false | Do not access the latent file. Turn this on for the first clip and drive it from the same boolean as Motion Context and Trim. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |