Nodes/was-node-suite-comfyui/H3 Repair Window
ComfyUI Node Runs on cloud

H3 Repair Window

Redraw one bad stretch of a finished clip

By WASasquatch·Created 4 years ago·Updated a day ago· 1,864
H3 Repair Window
  • latent
  • positive
  • prompts
  • window
  • positive
  • model
  • report
◄start_seconds0.00►
◄end_seconds1.00►
◄picture_strength1.00►
◄sound_strength0.00►
◄context_frames34►
◄audio_release8►
◄feather0.00►
◄segment0►

You generated a two-minute H3 video, you're happy with 95% of it, and there's a hand-shaped disaster around the four-second mark. Regenerating the whole clip costs an hour and risks losing what you liked. This node lets you cut that stretch out, redraw it, and put it back - with the frames either side held as they are, so the seam has context to match.

How it works

Give it a start and end in seconds and it opens a window over that part of the clip. Two pieces of housekeeping happen automatically. First, your span widens outward to whole 17-frame blocks - that's H3's clip grid, so a request for 3.0 s to 4.9 s opens on frame 68 (2.83 s) and closes after frame 118 (4.96 s). Second, it surrounds the span with context_frames of the clip either side, kept as they are, which is what stops the redrawn section from arriving with a different colour grade and a different idea about the lighting.

Three things come out for the sampler: the window latent to sample, a positive conditioning, and a model. Two more for you to read: a report naming the frames and seconds being redrawn, and - importantly - the report refuses nothing quietly. A stretch that crosses a scene cut is refused outright, because redrawing across a cut means regenerating across two different prompts and the result is mud.

The inputs that matter

  • start_seconds / end_seconds - the span. They'll snap outward to the block grid; the report tells you where it actually landed.
  • picture_strength - how much of the picture is genuinely redrawn. 1.0 starts from fresh noise, 0.6 renews from what's already there, 0.0 keeps the picture entirely. Use 0.0 when the picture is fine and only the sound is wrong.
  • sound_strength - the same idea for the audio half, and it defaults to 0.0, which is deliberate: redraw the picture in sync under the sound you already have.
  • context_frames - how many frames either side the sampler sees and preserves, in steps of 17. 34 (two blocks) is the default; 0 gives you none, and you'll see the seam.
  • audio_release - audio steps the redrawn sound fades in and out over beyond the span, at 40 steps a second. 8 = 0.2 seconds. Read only when sound_strength is above zero.
  • feather - the strength the one block either side of the span is redrawn at. 0.0 gives hard edges; 0.35 softens the join. Never above picture_strength, and it needs context_frames of at least 17.
  • Optional prompts and segment - wire the segment prompts in from MiniMax H3 Conditioning and the repair reuses that segment's prompt, references, keyframes and model, which is how you get the repair to look like the scene it's inside rather than a generic render. segment picks which one, or 0 for the segment holding most of the span. There's also an optional positive you can wire to write the repair prompt yourself; wired, it replaces the segment's prompt entirely.

Then: sample the window at denoise 1.0, and hand both the result and the original clip to H3 Repair Splice. This node only opens the window; the other one closes it.

Installing it

Part of WAS Node Suite v3 - ComfyUI Manager, search WAS Node Suite v3, or clone it:

cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui.git

ComfyUI 0.14.0+ and Python 3.10+, and there's no pip step at all; the pack's older reputation for install friction came from v2, which installed twenty packages and downgraded your OpenCV behind your back.

Where it goes wrong

"A stretch crossing a scene cut is refused." Split it in two repairs, one per side of the cut. You'll get a cleaner result anyway, since each side samples under its own segment prompt.

The repair looks pasted in. That's feather and context_frames doing too little. Give it 34 or 51 frames of context and a small feather before you blame the prompt.

Denoise isn't 1.0 so nothing happens. The window is built to be sampled from scratch; the strength dials are how you ask for a partial redraw, not the sampler's denoise.

You repaired it, and the clip still looks the same. You're looking at the original latent. The repaired clip is what H3 Repair Splice returns - decode that one.

CategoryWAS Suite/Latent/Video

Inputs (11)

NameTypeDefaultDescription
latentLATENTThe finished H3 clip to repair, from H3 Extend Append or a sampler.
start_secondsFLOAT0.000–3600Where the repair starts, as `3.0` seconds. Widened back to the start of its 17 frame block, so `3.0` opens on frame 68 (2.83 s).
end_secondsFLOAT1.000–3600Where the repair ends, as `4.9` seconds. Widened on to the end of its 17 frame block, so `4.9` closes after frame 118 (4.96 s).
picture_strengthFLOAT1.000–1How much of the picture in the span is drawn again: `1.0` = from fresh noise, `0.6` = renewed from what is there, `0.0` = kept, for a sound-only repair.
sound_strengthFLOAT0.000–1How much of the sound in the span is drawn again: `0.0` = kept, so the picture is redrawn in sync under it; `0.5` = renewed from what is there; `1.0` = from fresh noise.
context_framesINT340–340Frames of the clip either side of the span the sampler sees and keeps, as `34`, in steps of 17, or `0` for none. Widened by up to `34` so the window's sound starts on a whole audio step. Never reaches past a scene cut.
audio_releaseINT80–64Audio latent steps the redrawn sound fades in and out over beyond the span, as `8` for 0.2 seconds at 40 steps a second, or `0` for a hard edge. Read where sound_strength is above `0`.
featherFLOAT0.000–1Strength the 17 frame block either side of the span is redrawn at, as `0.0` for hard edges or `0.35` to soften the seam. Never above picture_strength; needs context_frames of at least `17`.
positiveoptCONDITIONINGPrompt for the repair. Wired, it replaces the segment's prompt from prompts and is used as written.
promptsoptWAS_H3_PROMPTSEvery segment's prompt from MiniMax H3 Conditioning. Wired, the repair reuses its segment's prompt, references, keyframes and model.
segmentoptINT00–24Which segment's prompt the repair reuses, from `1`, or `0` for the segment holding most of the span. Read where prompts is wired.

Outputs (4)

NameTypeDescription
windowLATENTThe window to sample at denoise `1.0`, for the sampler's latent input. Its result goes to H3 Repair Splice.
positiveCONDITIONINGThe repair's prompt, its keyframes moved into the window, for the guider.
modelMODELThe model the segment's row chose on MiniMax H3 Conditioning, for the guider. Blocked with a message where prompts is not wired.
reportSTRINGWhich frames and seconds the window redraws, at what strength, and its context.