Load H3 RefMod Axis
Morph young to old on one signed slider
- mods
- prompt_hint
Load H3 RefMod Axis answers a specific itch the plain loader doesn't: you've got two contrasting references and you want to slide between them. Young and old. Clean and weathered. Modern and vintage. Calm and energetic. Each row is an A/B pair on one signed slider, so instead of muting one mod and raising another and praying the blend lands, you drag a single value and watch the generation follow.
Just don't ask it to do more than that. This is selection between two references with a strength, not a learned continuous semantic axis - the docstring says so flat out. Between the extremes you're getting whichever side the sign picks, at that magnitude. For most concept work that's exactly what you want, and it's honest about it.
How it works
Each of the eight rows has three widgets: mod_a_N, mod_b_N, and value_N in [-1, 1]. The sign picks the side - negative uses A, positive uses B - and the magnitude is the reference strength with the same 0–1 math as Load H3 RefMods, so -0.5 injects mod A at half strength. A value of 0 skips the row entirely. Rows are independent, so one node can hold several unrelated axes and still feed a single Apply H3 RefMod.
The README's worked example is the cleanest way to see it:
- Extract a mod from your young refs and another from your old refs.
mod_a_1= young mod,mod_b_1= old mod.value_1 = -0.6→ young at 60% strength;value_1 = +0.8→ old at 80%;value_1 = 0→ no age reference at all.
Both mod_a and mod_b can be (none), which the row skips. The optional max_total_tokens caps the total after all selected rows, same as the plain loader. Outputs are mods (the bundle, ready for Apply) and prompt_hint - that second one is the merged concept_type + description text from the selected mods, so concat it onto your prompt when the row is live. show_info prints the chosen A/B pairs and strengths to the console if you want proof of what actually ran.
Install
Same as every node in this pack - ComfyUI Manager (search "ComfyUI-MiniMaxH3Mod") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Luisacaotica/ComfyUI-MiniMaxH3Mod
Restart. Deps (safetensors, numpy, Pillow) install themselves. The mod dropdowns populate from models/refmods and your extra_model_paths.yaml roots; give new files a frontend refresh before hunting for them. You need H3 weights + video VAE working in a current ComfyUI (territory-restricted licence - US/EU/UK/Korea), and the loaders' dropdown will always show the bundled vanellope_example before you make anything of your own.
Common issues
The two traps are both conceptual. First, remember the magnitude is a strength, not a position on an axis - there's no "20% of the way from young to old"; -0.6 is just young at 60%. Second, a row at 0 disappears entirely, which reads as "the axis is broken" when really it's the documented skip behavior. Watch the console line the loader prints (it lists name@±strength per selected row and the total token count) and you'll know exactly what the bundle contains. And as with every loader here, keep an eye on tokens: multiple live axes stack up fast, and max_total_tokens is there to make the overflow loud instead of silent.
Inputs (26)
| Name | Type | Default | Description |
|---|---|---|---|
| show_info | BOOLEAN | false | Print the selected A/B pairs and strengths to the console. |
| mod_a_1 | COMBO | A-side RefMod 1 (used when value_1 is negative), or (none). | |
| mod_b_1 | COMBO | B-side RefMod 1 (used when value_1 is positive), or (none). | |
| value_1 | FLOAT | 0.00-1–1 | Signed strength: negative uses mod_a, positive uses mod_b, 0 skips the row. The magnitude is the reference strength (same 0-1 math as Load H3 RefMods), so -0.5 injects mod_a at half strength. |
| mod_a_2 | COMBO | A-side RefMod 2 (used when value_2 is negative), or (none). | |
| mod_b_2 | COMBO | B-side RefMod 2 (used when value_2 is positive), or (none). | |
| value_2 | FLOAT | 0.00-1–1 | Signed strength: negative uses mod_a, positive uses mod_b, 0 skips the row. The magnitude is the reference strength (same 0-1 math as Load H3 RefMods), so -0.5 injects mod_a at half strength. |
| mod_a_3 | COMBO | A-side RefMod 3 (used when value_3 is negative), or (none). | |
| mod_b_3 | COMBO | B-side RefMod 3 (used when value_3 is positive), or (none). | |
| value_3 | FLOAT | 0.00-1–1 | Signed strength: negative uses mod_a, positive uses mod_b, 0 skips the row. The magnitude is the reference strength (same 0-1 math as Load H3 RefMods), so -0.5 injects mod_a at half strength. |
| mod_a_4 | COMBO | A-side RefMod 4 (used when value_4 is negative), or (none). | |
| mod_b_4 | COMBO | B-side RefMod 4 (used when value_4 is positive), or (none). | |
| value_4 | FLOAT | 0.00-1–1 | Signed strength: negative uses mod_a, positive uses mod_b, 0 skips the row. The magnitude is the reference strength (same 0-1 math as Load H3 RefMods), so -0.5 injects mod_a at half strength. |
| mod_a_5 | COMBO | A-side RefMod 5 (used when value_5 is negative), or (none). | |
| mod_b_5 | COMBO | B-side RefMod 5 (used when value_5 is positive), or (none). | |
| value_5 | FLOAT | 0.00-1–1 | Signed strength: negative uses mod_a, positive uses mod_b, 0 skips the row. The magnitude is the reference strength (same 0-1 math as Load H3 RefMods), so -0.5 injects mod_a at half strength. |
| mod_a_6 | COMBO | A-side RefMod 6 (used when value_6 is negative), or (none). | |
| mod_b_6 | COMBO | B-side RefMod 6 (used when value_6 is positive), or (none). | |
| value_6 | FLOAT | 0.00-1–1 | Signed strength: negative uses mod_a, positive uses mod_b, 0 skips the row. The magnitude is the reference strength (same 0-1 math as Load H3 RefMods), so -0.5 injects mod_a at half strength. |
| mod_a_7 | COMBO | A-side RefMod 7 (used when value_7 is negative), or (none). | |
| mod_b_7 | COMBO | B-side RefMod 7 (used when value_7 is positive), or (none). | |
| value_7 | FLOAT | 0.00-1–1 | Signed strength: negative uses mod_a, positive uses mod_b, 0 skips the row. The magnitude is the reference strength (same 0-1 math as Load H3 RefMods), so -0.5 injects mod_a at half strength. |
| mod_a_8 | COMBO | A-side RefMod 8 (used when value_8 is negative), or (none). | |
| mod_b_8 | COMBO | B-side RefMod 8 (used when value_8 is positive), or (none). | |
| value_8 | FLOAT | 0.00-1–1 | Signed strength: negative uses mod_a, positive uses mod_b, 0 skips the row. The magnitude is the reference strength (same 0-1 math as Load H3 RefMods), so -0.5 injects mod_a at half strength. |
| max_total_tokensopt | INT | 00–1048576 | 0 disables the budget (default). Positive values reject bundles exceeding this token count after copies; they do not compress references. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| mods | H3_REF_MODS | — |
| prompt_hint | STRING | — |