ComfyUI Node
H3RelayInternalHybridLoader
Load a MiniMax H3 diffusion model by merging selected tensor groups from an 'overlay' checkpoint onto a 'base' checkpoint. Useful for combining the higher output quality of fl2va with the reference-conditioning pathway of ref2va. See the companion analysis file for what differs between the two checkpoints. Behaves like the stock 'Load Diffusion Model' node when overlay_preset is 'none'.
H3RelayInternalHybridLoader
- model
◄base_model▾►
◄overlay_model▾►
◄overlay_presetblock_range_adaln►
◄block_range_start25►
◄block_range_end49►
◄final_adaln_from_overlayfalse►
◄custom_overlays►
◄custom_base►
◄weight_dtypedefault►
Categorymodel/loaders
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| base_model | COMBO | Primary checkpoint -- every tensor starts here. | |
| overlay_model | COMBO | Secondary checkpoint -- tensors matched by overlay_preset come from here. May equal base_model (effectively loads base only). | |
| overlay_preset | COMBO | block_range_adaln | Which tensor groups to take from overlay_model. 'none' = pure base loading (equivalent to stock UNETLoader). 'ref2va_adaln_over_fl2va' (default) = take per-block adaln_proj from the overlay only. 'ref2va_all_adaln_over_fl2va' = also take final_layer.adaln_proj. 'ref2va_full_over_fl2va'/'fl2va_full_over_ref2va' = take everything from the overlay (sanity check). 'block_range_adaln' = take adaln_proj only for blocks in [block_range_start, block_range_end] (inclusive). 'custom' = use custom_overlays only. |
| block_range_startopt | INT | 250–49 | Only used when overlay_preset == 'block_range_adaln'. Lower-inclusive bound on the block index whose adaln_proj comes from overlay_model. The minimax h3 DiT has 50 blocks indexed 0..49. |
| block_range_endopt | INT | 490–49 | Only used when overlay_preset == 'block_range_adaln'. Upper-inclusive bound on the block index. Set block_range_end < block_range_start to take NO blocks from the overlay (effectively pure base). |
| final_adaln_from_overlayopt | BOOLEAN | false | Toggle overlay of final_layer.adaln_proj.linear.{weight,bias} from overlay_model. Additive on top of any preset: - False (default): leave final_layer.adaln on the base (unless a preset already covers it, e.g. ref2va_all_adaln_over_fl2va). - True: pull final_layer.adaln from the overlay in addition to whatever the preset does. |
| custom_overlaysopt | STRING | Comma-separated keys/prefixes/globs to *also* take from the overlay on top of the preset. E.g. 'blocks.49.,final_layer.video_out.'. Bare prefixes ending in '.' match by prefix; other strings are matched as fnmatch globs (e.g. 'blocks.[0-4].*.attn.qkv_proj.weight'). | |
| custom_baseopt | STRING | Comma-separated keys/prefixes/globs that should be forced *back* to the base even if the preset or custom_overlays would take them from the overlay. Useful for keeping e.g. final_layer.adaln_proj on the base while everything else adaln comes from the overlay. | |
| weight_dtypeopt | COMBO | default | Same meaning as the stock 'Load Diffusion Model' node. Leave 'default' unless you know what you are doing. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |