Nodes/H3 Motion Context/H3 Motion Context Load Latent
ComfyUI Node

H3 Motion Context Load Latent

Loading the previous H3 clip's latent, without the quality tax

By NikoDemon80·Created about a month ago·Updated 8 days ago· 947
H3 Motion Context Load Latent
    • LATENT
    latent_pathh3_context
    clip_index0

    This is the "read" half of the H3 Motion Context pack's latent pair: it loads the previous clip's saved AV latent off disk and hands it to the Motion Context node's context_latent input. That single wire is the difference between a chain with no visible seam and the old lossy way - the previous clip's tail gets sliced straight out of its latent rather than decoded to pixels, resized, and re-encoded, which is where colour drift and softening down a long chain come from. Nothing to configure on the Motion Context side; the loader just makes the file available.

    Why does it need a dedicated node instead of stock Load Latent? Because stock Save/Load Latent can't handle H3's paired video/audio latent - H3 generates picture and sound together, and the file this loader reads holds both streams side by side. It's saved by the matching Save Latent node (tagged h3_motion_context_av_v1), which also knows how to write it.

    Inputs

    Two inputs, and clip_index is the one you'll actually touch:

    • latent_path - a saved latent file or a folder, default h3_context. Relative paths resolve against the ComfyUI output directory. Pointing at a specific file always loads that file, ignoring the index entirely.
    • clip_index - the clip you want to continue from. Making clip 2 from clip 1: set 1 here and 2 on the Save node. Re-rolling clip 2 changes nothing - it reloads slot 1 and overwrites slot 2's reject, which is exactly what you want. Set it to 0 and the loader grabs the newest file in the folder instead. Simpler, but not retry-safe: a re-roll then loads its own rejected audio. Don't use 0 for anything you're going to re-run.

    The filename convention is the part that trips people up. Indexed slots use the natural names - clip_00002.safetensors is clip 2. Auto-saved files (clip_index 0) carry a trailing underscore, clip_00002_.safetensors, because they're numbered by run, not by clip, and indexed loading skips them on purpose so a rejected attempt can't masquerade as a clip slot. If you get a "no saved latent for clip N" error and there's an underscored file sitting right there, the README tells you the fix: rename it to drop the trailing underscore, and it becomes a valid slot.

    Output is a single LATENT. Two constraints worth memorizing. First, it's only for the Motion Context node's context_latent input - don't wire it into a VAE decode. The loader deliberately returns a structure that can't be mistaken for a decodable latent, so the failure mode if you try is loud, not silent. Second, the latent carries the previous clip's resolution, and a latent can't be resized: if you change resolution mid-chain, the Motion Context node refuses and names both resolutions. Regenerate the previous clip at the new size, or start a fresh chain there.

    Install

    Same as the rest of the pack: ComfyUI Manager (search "H3 Motion Context") or git clone https://github.com/NikoDemon80/ComfyUI-H3-Motion-Context into ComfyUI/custom_nodes, then restart. No models to download - it leans on safetensors, which ComfyUI already ships. Leave context_latent unwired entirely for clip 1 of a chain; the loader only enters the picture from clip 2 onward.

    Categoryconditioning/minimax

    Inputs (2)

    NameTypeDefaultDescription
    latent_pathSTRINGh3_contextA saved latent file, or a folder (relative paths resolve against the ComfyUI output directory). Pointing at a specific FILE always loads that file when clip_index is greater than 0, ignoring the index. clip_index 0 never reads a file.
    clip_indexINT00–9999The clip to CONTINUE FROM: that clip's slot is loaded. First clip: 0 here and 1 on the Save node (nothing is loaded). Clip 2 from clip 1: 1 here and 2 on the Save node.

    Outputs (1)

    NameTypeDescription
    LATENTLATENT