Continuum RefMod Bridge
Keep references alive across long, chunked H3 generations
- model
- mods
- model
- mods
- status
H3 tops out at maybe 15 seconds of clip. If you want a longer take you're on chunked, multi-shot workflows - and that's where Continuum RefMod Bridge earns its keep. It exists for ComfyUI-H3-Continuum users: it makes sure your RefMod references get injected into every Continuum chunk, not just the first one, and it does it without patching or global state.
The wiring is the whole trick. Connect Load Model → Continuum RefMod Bridge → sampler model, and connect your mods bundle to the bridge. Because the bridge sits in the MODEL path, it runs before sampling each chunk's conditioning is prepared - so a character reference that should persist across all chunks of a long scene actually does.
How it works
Mechanically, the bridge clones your MODEL and attaches a wrapper through ComfyUI's public outer-sampling hook. Before each chunk's conditioning is prepared it injects the prepared ref blocks; on completion, error, or cancellation it restores the previous conditioning. No global bundle, no TTL, no monkey-patching of Continuum code - the README leans on that distinction, and it matters for people who got burned by the older global-state design. Because state belongs to the model branch, different model branches can carry different bundles without stepping on each other.
The inputs mirror Apply H3 RefMod, because it's the same strength/curve vocabulary applied per chunk:
- model - the model clone to arm; wire Load Model in, Continuum Sampler's
modelout. - mods - the bundle from a loader or extractor, injected into every chunk while
enableis on. - enable - master switch. Off = pure passthrough; the bridge is removed from the clone.
- retention, curve_direction, curve_shape, curve_value - same semantics as Apply: retention 1.0 =
fully_preserveddown through 0.15 =weak_reference; the curve is across each mod's own frames, not output time. - scramble_seed (and optional
scramble_mode,scramble_keep) - -1 keeps order; a nonnegative seed shuffles/keeps a subset per run. - max_total_tokens - budget after copies; 0 disables.
Outputs are the armed model, a mods passthrough, and a status string ("model-scoped bridge active" or "bridge disabled").
Install
ComfyUI Manager (search "ComfyUI-MiniMaxH3Mod") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Luisacaotica/ComfyUI-MiniMaxH3Mod
Restart; deps are light. On top of that you need the ComfyUI-H3-Continuum pack this node extends, real H3 weights, and its VAE in a current ComfyUI - and H3's licence is territory-restricted (US, EU, UK, Korea excluded from local weights).
Common issues
The bridge only helps if your sampler is actually consuming its MODEL output - wire the wrong model path and nothing gets injected, with no error. If a character fades between chunks, check that the bundle survived: mods passes through the node, so trace it. And don't keep an armed bridge around when you've switched to plain sampling - enable=False (or bypassing the MODEL output) removes it from the clone. The old Disarm node is retained only for saved workflows; this bridge's toggle is the supported way to switch it off now.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | Cloned model with scoped refs — wire Load Model -> this -> Continuum Sampler 'model'. This link is what makes the bridge execute before sampling. | |
| mods | H3_REF_MODS | Bundle from Load H3 RefMods / Create H3 RefMod — injected into every Continuum chunk while 'enable' is on. | |
| enable | BOOLEAN | true | Master switch for the injection. Off = pure passthrough (this bridge is removed from the cloned model). |
| retention | FLOAT | 1.000–1 | Master reference strength (same scale as Apply H3 RefMod): 1.0 = fully_preserved, 0.7 = partially_preserved, 0.4 = attribute_transfer, 0.15 = weak_reference. |
| curve_direction | COMBO | constant | Weighting across each mod's own ref frames (NOT output-video time): 'constant' keeps every frame at full strength. Other directions fade part of the stack toward blur — mainly useful for multi-ref mods. |
| curve_shape | COMBO | linear | How that weighting travels between endpoints. |
| curve_value | FLOAT | 1.000–1 | Endpoint weight; on single-image mods this acts as a plain strength cap. |
| scramble_seed | INT | -1-1–2147483647 | -1 = off (all refs, saved order). >= 0 shuffles the bundle and keeps a subset, re-drawn on every queued run when the widget's control-after-generate is set to 'randomize'. |
| scramble_modeopt | COMBO | shuffle | 3 options: shuffle, subset, legacy_subset |
| scramble_keepopt | INT | 11–80 | — |
| max_total_tokensopt | INT | 00–1048576 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| mods | H3_REF_MODS | — |
| status | STRING | — |