H3 Load Clip
Fix scene 7 and restart the loop at scene 7
- latent
- next_index
- report
An H3 video built scene by scene is an extend loop, which means a run always starts at scene 1. That's fine until scene 9 comes out wrong and the only way to change it is to render the eight scenes in front of it again. H3 Load Clip is how you skip that: read a clip you saved earlier, wind it back to the end of any scene, and let the loop carry on from there.
How it works
The saved file - .h3clip - isn't a video. It's a safetensors file holding the latent exactly as the loop kept it: the video latent rows, the audio steps, and the records the extend loop accumulated, including where each scene ends and the frames each cut trimmed. Load Clip reads that back into a live latent, so what you get is a clip the sampler can extend, not a finished file you can only look at.
up_to_scene is the interesting widget. Left at 0 you get the whole clip. Set it to 2 and every scene after the second is dropped, giving you the clip as it stood when scene 2 finished - which means the loop, wired to start from the index this node hands back, renders scene 3 and everything after it. Change scene 3's prompt, run, done. No re-sampling of scenes 1 and 2.
That index is the next_index output: 2 after up_to_scene 2, or the scene count for a whole clip. Wire it into For Loop Open's start, or add it to the index going into a While Loop Open. It comes out of the box as a plain INT, so it works with the pack's own loop nodes rather than requiring a bespoke iterator.
The inputs
clip_file- a dropdown of saved clips across ComfyUI's folders and the ones the pack may read, shown ash3_clips/clip_00001.h3clip [output]. The bracketed[output]is the folder it lives in; if you saved totemp, that's where it is, and note that a clip intempis cleared when ComfyUI restarts.up_to_scene-0for the whole clip,Nfor the clip as it stood when scene N finished. Anything past the last scene is harmless; it just gives you the whole clip.
Three outputs: latent (into the loop's value_1 slot, or straight into a decode if you only want to look at it), next_index, and a report listing the scenes, frames and seconds read, plus the frame range each scene spans. Check the report the first time you do this - being one scene out is the classic mistake, and it's silent.
Installing it
ComfyUI Manager, search WAS Node Suite v3, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
ComfyUI 0.14.0+ and Python 3.10+. Nothing is installed and nothing is fetched; reading and writing .h3clip files is pure Python and torch. If you've been avoiding this pack since 2023 because of its install drama - the version that pip-installed OpenCV, BLIP and friends - that's the old pack. v3 has no default requirements at all.
The node needs the H3 model stack around it, and H3's local weights sit under a Community License that excludes the US, EU, UK and South Korea from its grant. That's a legal constraint, not a technical one, and it applies to the outputs too.
Where it goes wrong
The menu is empty. Save Clip writes to output, ComfyUI's input, or temp by default - those are what Load Clip lists, plus anything under paths.allow_read in the pack's config.yaml. A clip saved to a paths.allow_write folder that isn't also readable won't appear until you add it in both places.
Your resumed run reproduces scenes 1 and 2 anyway. The clip is in the graph but the loop is still starting at zero. You have to wire next_index - it isn't inferred from the latent.
A clip saved to temp disappears. temp is emptied on restart. Anything you might want tomorrow should go to output.
Frames carry through slightly differently on the resumed run. That's the model, not the file: carried frames get re-noised according to the transition into the segment (carry, refresh, handoff). If you want a byte-identical earlier portion, use carry and keep strength where it was.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_file | COMBO | Which saved clip to read, as `h3_clips/clip_00001.h3clip [output]`, written by H3 Save Clip. A clip saved to temp is gone after a restart. | |
| up_to_scene | INT | 00–999 | `0` = the whole clip; `2` = the clip as it stood when scene 2 finished, every later scene dropped, so the loop renders scene 3 onward again. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | The clip with its scene records, for While Loop Open's or For Loop Open's value_1, or for a decode. |
| next_index | INT | Loop index of the first scene still to render, from `0`: `2` after up_to_scene `2`, the scene count for the whole clip. Wire into For Loop Open's start, or add it to a While Loop Open's index. |
| report | STRING | Scenes, frames and seconds read, and the frames each scene spans. |