H3 Repair Splice (alpha)
Stitch the repaired frames back in, and prove nothing else changed
- original
- repaired
- audio
- images
- audio
- report
The back half of the repair pair. H3 Repair Plan decides what to regenerate; H3 Repair Splice puts the clip back together. And it's deliberately boring about how: original pixels outside the splice, repaired pixels inside, nothing resampled and nothing blended. Frame-exact reassembly is the entire job, and the node goes out of its way to prove it did it.
How it works
Feed it the original clip, the repaired clip (H3 Exact Recover's output - the same clip, regenerated), and the plan from H3 Repair Plan. It selects frames: everything outside the splice bounds comes from the original, everything inside from the repaired pass. Because the plan already chose the splice bounds - exit on a shot cut when one was near - this node doesn't re-decide anything; it just does the selection and measures the seams.
The measurement is the part worth understanding. It prints entry and exit mean absolute luma deltas, each next to the original clip's own delta at the same frames. That comparison exists because at a hard cut a big number is the right answer - the original clip itself jumps there, so a big seam at the cut isn't damage, it's the edit. The author's validation numbers: entry seam 3.99/255 (0.26x the clip's median frame delta) against an original's own 138.04 at the exit cut, a difference of 1.8%.
It also asserts that every frame outside the splice is bit-identical to the original. That's the contract that makes repair trustworthy: the node fails loudly if the untouched regions drifted at all.
Inputs:
original- the source clip, untouched.repaired- H3 Exact Recover's output.plan- from H3 Repair Plan.audio- optional, passthrough. The README is explicit: a repair does not touch audio, same length, same clock. That's right when the repair didn't change the performance, and it's not a general answer yet.
Outputs: images, audio (passthrough), and a report with the seam numbers.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/matlowai/ComfyUI-MAINodes
or ComfyUI Manager → ComfyUI-MAINodes, restart. Category MAINodes/alpha.
Common gotchas
If the assert fails - a frame outside the splice differs from the original - the upstream graph changed something it shouldn't (a non-deterministic node, a changed seed, an edited baseline). Fix that before trusting the output. And don't expect audio repair: the passthrough is honest about being a work in progress. For the repair pass itself, remember the pair is plan-then-splice; using H3 Repair Splice without the plan node feeding it means it has no splice bounds to respect.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| original | IMAGE | the source clip, untouched | |
| repaired | IMAGE | H3 Exact Recover's output: the same clip, regenerated | |
| plan | STRING | from H3 Repair Plan | |
| audioopt | AUDIO | passthrough. A repair does not touch audio: same length, same clock |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| audio | AUDIO | — |
| report | STRING | — |