MiniMax H3 FLF Legacy Parity Router
Load only the model family the current segment actually needs
- cine_linx
- fl2va_model
- ref2va_model
- model
- model_family
- report
MiniMax H3 comes in task families: FL2VA (first-and-last frame) and REF2VA (reference-image/audio), and they're different weights. A mixed workflow that uses both shouldn't have to hold both in VRAM at once. The FLF Legacy Parity Router is a lazy switch that looks at what the current segment needs and pulls in only that model branch - fl2va_model or ref2va_model - leaving the other untouched until a segment actually demands it.
How it works
It's a subclass of IAMCCS_MiniMaxH3AtomicModelRouter, kept as a stable alias for legacy FLF parity workflows - same logic, same behavior. Given the shot plan and segment_index, it reads the segment's effective task, decides which family that task belongs to (ref2va tasks → ref2va_model, everything else → fl2va_model), and selects the corresponding input.
The important part is the check_lazy_status method: if the selected input isn't connected, it tells ComfyUI to evaluate just that branch. That's what makes the inputs lazy - the node behind the ref2va_model socket (a model loader, maybe with LoRAs applied) doesn't execute at all unless a ref2va segment comes up. Wire both model loaders in, and the one you don't need simply never runs. This is the same "lazy" pattern used throughout this pack to keep H3 usable on 12GB cards.
Inputs and outputs
Inputs: cine_linx, segment_index, plus the two lazy fl2va_model and ref2va_model MODEL sockets. Outputs: model (the selected one), model_family (a string - "fl2va" or "ref2va" - so downstream knows what it got), and report.
Wire model into the conditioning backend. Wire model_family anywhere that needs to know which weights are live - it's handy for the "you loaded the wrong family" warnings the GGUF Loader already gives you, and for conditionally disabling features that only make sense for one family.
Installing it
ComfyUI Manager (search "IAMCCS") or git clone https://github.com/IAMCCS/IAMCCS-nodes.git into custom_nodes, restart. Requires ComfyUI's native MiniMax H3 support; no extra packs.
Where people get burned
If the selected branch isn't connected, this node doesn't quietly skip - it raises a ValueError telling you exactly which _model input is missing. The lazy trick cuts both ways: it saves VRAM, but it also means you can build a graph where the ref2va branch "works" in your head because the loader is on the canvas, yet fails the moment a ref2va segment actually selects it. Connect both branches, or make sure your plan never switches families mid-render. And if you're wondering why only one model ever seems to load - that's the feature working.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — | |
| segment_index | INT | 00–1000000 | — |
| fl2va_modelopt | MODEL | — | |
| ref2va_modelopt | MODEL | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| model_family | STRING | — |
| report | STRING | — |