H3 Studio Clip
The Node That Makes Two Scenes Look Like One Take
- render
- images
- audio
- latent
- video
Continuation in H3 Studio works by anchoring the previous scene's last frames (and its sound) at frame 0 of the next one, then having H3 regenerate over them. Which means the new scene's head is a re-draw of frames you already have. H3 Studio Clip is the node that cuts that head off, so scene two starts clean where scene one ended.
It's also the loop's hinge, and, quietly, the thing that stops you re-rendering half your film.
Inputs
render comes from H3 Studio and is what tells the node how much head to trim - the studio knows what this scene was anchored to.
images is the scene's decoded frames from your VAE decode. audio is optional: the scene's decoded audio.
latent is optional and a nice bit of engineering: the scene's sampled latent. If you wire it, the next scene continues from those last tokens directly, without decoding them and re-encoding them. Slightly less work, slightly less error.
Then two booleans with real consequences:
keep(default on) - saves the clip tooutput/h3studio, so the studio's Render view can play it and it survives a restart.reuse(default on) - when this scene's saved clip was rendered from the same scene, models, sampler and seed, play that clip instead of rendering again. Needskeep. Turn it off to force a re-render.
There's a mechanism detail worth appreciating here. Those three inputs are declared lazy, and the node's check_lazy_status returns an empty list when the clip can be reused. That means the upstream decode and, crucially, the sampler itself never execute. It's not "render and throw it away" - the work genuinely doesn't happen.
Output
One output: video, and the node is marked as an output node, so a loop that ends at End Loop still has something to save. The film saves itself after a full render.
In a loop, it wires two ways at once - next_iteration_value on End Loop (so the next scene continues from this clip) and output_value with accumulate on (every scene, for Concatenate Video or H3 Studio Join).
Install
Same pack, same three lines:
cd ComfyUI/custom_nodes
git clone https://github.com/Nynxz/ComfyUI-NynxzH3
Restart, ComfyUI 0.30.0+, H3 models in place. Hand-cloning needs pnpm install && pnpm build for the editor frontend; the Manager package ships it built.
Where people get stuck
"I changed one scene and the whole film re-rendered." Check reuse and keep are both on. With reuse off, or keep off (which makes reuse impossible), every scene samples every pass.
"My film re-rendered even though nothing changed." The fingerprint covers the compiled scene, its media files, the clip it continued from, and the model and sampler chain. Change the sampler or swap a LoRA and everything downstream is legitimately different. The per-scene state marks in the editor (✓ / ⟳) will tell you which one the pack thinks is stale.
"Scene two starts with a repeated beat." That's the continuation head - the frames H3 regenerated over the anchor. Either this node isn't in the chain, or the scene isn't actually set to Continue in the studio.
"A partial render errors about a skipped scene's sampler." You're feeding a per-scene Save Video or preview from the decoded frames on End Loop's terminations. Feed it from this node's video - a skipped scene plays its saved clip there.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| render | NYNXZ_H3_STUDIO_RENDER | From H3 Studio — says how much head to cut. | |
| images | IMAGE | The scene's decoded frames. | |
| keep | BOOLEAN | true | Save the clip to output/h3studio, so the studio's Render view can play it (and it's still there after a restart). |
| reuse | BOOLEAN | true | When this scene's saved clip was rendered from the same scene, models, sampler and seed, play that clip instead of rendering it again. Needs keep. Turn off to re-render (or change the seed). |
| audioopt | AUDIO | The scene's decoded audio. | |
| latentopt | LATENT | The scene's sampled latent. The next scene continues from its last tokens directly, without decoding and re-encoding them. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |