Nodes/ComfyUI-Continuity/Continuity Seam Hold
ComfyUI Node

Continuity Seam Hold

Continuity Seam Hold is the node that fixes the masked seam's two-pass bug — and you'll never add it yourself

By roadmaus·Created about a month ago·Updated about 19 hours ago· 87
Continuity Seam Hold
  • latent
  • source
  • LATENT

The honest answer first: you don't add this node. It's marked is_dev_only, so ComfyUI keeps it out of the node search, and there's nothing to configure - two latent inputs, one latent output, no widgets. You're here because you found ContinuitySeamHold red in a saved workflow, or because you read the graphs your tools emit. It matters because of the bug it repairs, in a workflow you're probably already running.

What it's for, in workflow terms

ComfyUI-Continuity is the pack formerly called MiniMax-Creator: one node that drives MiniMax H3, LTX 2.5, Krea 2, Ideogram 4.0, Qwen Image Edit and Flux 2 Klein, all local open weights. You lay shots out as cards on a strip and press Render; in the default chained mode each card is its own generation and the pack joins them.

Joining them is the hard part, and it's a solved-problem-that-isn't: the ceiling for length moved from "5 seconds without engineering" to "20–30 seconds without engineering," while consistency across the joins stayed put. Chained clips step brighter and further off-model at every hop.

One of the pack's answers is the masked seam handoff: instead of handing the previous shot's last frames to the next shot as pinned guides, it slices the run off the earlier pass's latent, writes it into the next shot's own latent, and holds it there with core's noise mask - "keep this, generate the rest," applied to a continuation rather than a repair. On an 8-hop turbo strip the brightness step at each cut fell from +2.86 on the guides road to -0.11, at about half the sampling time, since no guide tokens ride in the sequence.

Then they turned the turbo lead-in on.

The bug, and why it's about sigma bookkeeping

The lead-in samples one schedule in two sittings: the opening steps on base weights with the distillation held off, then the remaining steps with it on. The first sitting (KSamplerAdvanced with return_with_leftover_noise) hands its latent on scaled by Comfy's leftover-noise convention - divided by 1 - sigma at the step it stopped. The second sitting undoes that for the trajectory it continues.

But H3's masked/inpaint path reads that same tensor as its latent_image - the picture it injects under the mask and blends back over every prediction. So the protected run reaches the model at roughly twice its magnitude, and the shot continues from a blown-out context: a seam that stepped -0.11 in one sitting stepped +6.5 in two. The guides road never touches latent_image, which is why only the masked road broke.

ContinuitySeamHold is the patch. latent is the first sitting's scaled output; source is the segment's latent as the shot itself wrote it, carrying its noise_mask. The node unbinds the nested video/audio streams and blends per stream: where the mask keeps the run, it takes the source's values back; where the mask is open, it takes the first sitting's trajectory, mask included. If source carries no mask at all, it hands latent straight through - a deliberate no-op, since there's nothing held to restore.

Wiring, if you're reading a graph

  • latent - the first sitting's latent (the opening KSamplerAdvanced output).
  • source - the segment node's latent output. This is the one that has to carry the mask.
  • Output - one LATENT, into the second sitting's latent_image, mask intact.

The pack emits it only when the seam road is masked and the run is split by the lead-in. Set your seam handoff to the latent or frames road and the node won't appear at all.

Install

Same as the pack, because there's no separate install. ComfyUI Manager → search "Continuity", or:

cd ComfyUI/custom_nodes
git clone https://github.com/roadmaus/ComfyUI-Continuity

Restart ComfyUI. Nothing to pip install - the pack's pyproject.toml declares zero dependencies, which is genuinely rare. You do need the H3 weights: the checkpoint in models/diffusion_models and minimax_h3_video_vae_fp16.safetensors in models/vae. Missing files are refused before the queue starts, naming the file and the folder.

Gotchas worth knowing

The one that bites everyone: this pack was renamed, and the node ids stayed the same on purpose so old workflows keep loading. If you have ComfyUI-MiniMax-Creator sitting beside a fresh ComfyUI-Continuity in custom_nodes, that's two packs registering the same ids and you get no Continuity nodes in search at all. Delete one folder, restart - your presets and settings live in ComfyUI's user/ directory, so nothing of yours goes with it.

Beyond that, calibrate expectations: the author's changelog says this repair is built from the diagnosis and not yet measured, and the masked road is off by default for that reason - it's the newest path in the seam story. And the masked handoff is picture only: a seam's sound crosses as a reference block instead, since a 22-frame feather doesn't land on H3's 40 Hz audio grid.

CategoryContinuity/internal

Inputs (2)

NameTypeDefaultDescription
latentLATENT
sourceLATENT

Outputs (1)

NameTypeDescription
LATENTLATENT