沐阳 H3 · 分段合成
Stitch every segment back together without wasting VRAM on the ones you skipped
- images_1
- audios_1
- images_2
- audios_2
- images_3
- audios_3
- images_4
- audios_4
- images_5
- audios_5
- images_6
- audios_6
- images_7
- audios_7
- images_8
- audios_8
- images_9
- audios_9
- images_10
- audios_10
- images_11
- audios_11
- images_12
- audios_12
- images
- audio
Every multi-segment video workflow ends the same way: you've got N finished clips and you need one timeline. H3SegmentCollector is that final join - it takes the segment images and audios in order and concatenates them into a single images output and a single audio output, ready to feed a VHS or save node. Nothing clever on the surface, but the internals are a small lesson in how to build ComfyUI graphs that don't explode.
The trick is that all twelve segment input pairs (images_1…images_12, audios_1…audios_12) are declared lazy. A normal node with twelve optional inputs forces every upstream branch to execute just in case - so even a 3-segment video would decode and sample all twelve chains. H3SegmentCollector instead runs check_lazy_status, asks ComfyUI for only the slots the current run needs, and everything upstream of an unrequested slot simply never executes. One graph serves a 2-segment test and a 12-segment feature with zero wasted work, and no ExecutionBlocker poison polluting the join. The two inputs that matter:
active_count- how many segments this run actually has. It'sforceInput, so wire it from the plan node'ssegment_countrather than hard-typing it.total_segments/run_id/owner_id- bookkeeping that keeps the lazy request consistent with the batch the Director is executing.run_idandowner_idmatter when you're running multiple long-video jobs or resuming one mid-chain.
Feed images_N from each segment's VAE-decoded output and audios_N from its audio path, and you get the stitched images and audio out the other side.
In the full Director workflow this node is part of the managed expansion and you rarely touch it. If you're hand-wiring a long-video graph, the discipline is: keep active_count wired to the plan, not typed by hand, and let the lazy mechanism do its job. A stale hard-coded count is the most common way to end up with either dead branches (if you overshoot) or a silent shorter video (if you undershoot).
Install is the shared pack route - ComfyUI Manager, search ComfyUI-MiniMaxH3-Myang, restart; or clone https://github.com/civilcoco/ComfyUI-MiniMaxH3-Myang.git into custom_nodes. No extra pip dependencies beyond the standard ComfyUI environment, but the underlying MiniMax H3 model (diffusion, Qwen text encoder, video VAE, audio VAE) has to be present and licensed for your region - the H3 Community License excludes the US, EU, UK and Korea. And because the whole long-video chain leans on temporal latents, keep resolution constant across segments or the seams (and the collector) will complain.
Inputs (28)
| Name | Type | Default | Description |
|---|---|---|---|
| active_count | INT | 11–12 | — |
| run_idopt | STRING | — | |
| owner_idopt | STRING | — | |
| total_segmentsopt | INT | 11–12 | — |
| images_1opt | IMAGE | — | |
| audios_1opt | AUDIO | — | |
| images_2opt | IMAGE | — | |
| audios_2opt | AUDIO | — | |
| images_3opt | IMAGE | — | |
| audios_3opt | AUDIO | — | |
| images_4opt | IMAGE | — | |
| audios_4opt | AUDIO | — | |
| images_5opt | IMAGE | — | |
| audios_5opt | AUDIO | — | |
| images_6opt | IMAGE | — | |
| audios_6opt | AUDIO | — | |
| images_7opt | IMAGE | — | |
| audios_7opt | AUDIO | — | |
| images_8opt | IMAGE | — | |
| audios_8opt | AUDIO | — | |
| images_9opt | IMAGE | — | |
| audios_9opt | AUDIO | — | |
| images_10opt | IMAGE | — | |
| audios_10opt | AUDIO | — | |
| images_11opt | IMAGE | — | |
| audios_11opt | AUDIO | — | |
| images_12opt | IMAGE | — | |
| audios_12opt | AUDIO | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| audio | AUDIO | — |