CineStack H3 Director Groups Combine
The Five-Into-One Node That Decides Your Shot Order
- groups
- groups
Group nodes each hand you one shot. The Director wants one list. Somewhere in between, something has to fan five wires into one - and, more importantly, decide which shot is shot two.
That's CineStack H3 Director Groups Combine, and it's about as simple as a node gets: no required inputs, one optional groups autogrow socket, one output.
How it behaves
Connect a group into a slot and the empty slot at the end grows another, the same UX as the official MiniMax H3 reference slots. Empty slots are skipped, so you can leave gaps while you're still wiring. The output, groups, is a single MMX_DIR_GROUP list carrying every connected group in order.
The order is the whole point: it follows the slot index - group_0, group_1, group_2 and so on. Not the order you plugged them in, not the position on canvas, not creation time. Slot index. So if your finished film plays shot 4 first, you plugged shot 4 into slot 0, and the fix is to re-plug rather than to renumber.
That list goes into the Director's i2v_groups if the shots are image-to-video material, or r2v_groups if they're reference sets. From there the Director treats them exactly like timeline cards - same per-segment seeds, same continuity junctions, same cache directories - just sourced from the graph instead of the panel.
The one hard rule
The node refuses to mix families. Wire an Image to Video group and a Reference to Video group into the same Combine and you get an explicit error about not mixing them in one list. That's not fussiness: the two families route to different Director sockets and different UNETs, so a mixed list has nowhere coherent to go.
In practice: one Combine per family. If a piece genuinely needs both, build two lists and wire one into i2v_groups, the other into r2v_groups. Trying to be clever by chaining Combines doesn't help - the family check runs over the flattened list.
It also errors, rather than returning an empty list, if you connect nothing at all. Slightly annoying when you're mid-wiring, and quite helpful when you're not.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/guomenghao/ComfyUI-CineStack-H3.git
python -m pip install -r ComfyUI-CineStack-H3/requirements.txt
Restart ComfyUI; it's under CineStack/H3/Groups. Nothing model-side is specific to this node - it moves data, it doesn't touch weights - but the Director it feeds still needs the H3 UNETs, the minimax CLIP and both VAEs.
The repo ships minimax_h3_director_external_groups_i2v.json and minimax_h3_director_external_groups_r2v.json, each wiring Group → Combine → Director. They're wiring references, not presets: set your models, prompts and durations before queuing.
Where people get burned
Shots come out in the wrong order. Slot index, as above. The Director's own run-selection checkboxes then let you pick which of those groups actually execute - useful for the "redo only shot 3" workflow the pack is built around: leave the order alone, uncheck the shots you're happy with.
"Don't mix Image to Video groups with Reference to Video groups." Two lists, two Combines.
A shot you connected doesn't generate. Check whether its slot is actually linked and whether it's unchecked in the Director's selection. The Combine skips empties silently, so an unwired slot and a deselected shot can look identical from the output.
Rebuilding the graph and the order changes. Duplicating the Combine and rewiring can land groups in different slots than you expect. If order matters, sanity-check it in the Director's panel before a long run rather than discovering it in the export.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| groupsopt | COMFY_AUTOGROW_V3 | Director Group slots. Linking the last empty slot adds another. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| groups | MMX_DIR_GROUP | — |