Nougan RefMod Loader
Four characters, one H3 graph — loading baked refmods with separate face and voice strength
- mods
- prompt_hint
- info
If you only want one character in one clip, you don't need this node - Nougan RefMod Apply loads and applies in a single step, which is why the author's own docs call Apply "the one you want in your video workflow".
Nougan RefMod Loader is the other half, for when you want the references as data: it picks up to four baked characters, gives each slot its own strengths, and hands you mods (H3_REF_MODS) to wire wherever you like - an Apply node, or your own chain. The docs are upfront about the overlap; this is the plumbing version.
Four slots, five dials each
mod_1 through mod_4 are dropdowns of everything in models/refmods. (none) is a legal value, so a graph with four slots can use two. Press R on the node to re-read the folder after baking something new.
Per slot, required: strength_N (master strength, multiplied with the face/voice pair) and copies_N (1–10 - repeats the reference, and each copy costs its full token count in every block).
Per slot, optional: components_N (All / Visual / Audio), visual_strength_N (face), audio_strength_N (voice). The components field is the underrated one: set it to Visual and the audio tensors are never read from disk at all. For a silent clip that's free speed and free VRAM.
Nougan's decision to separate face and voice strength is the right call for H3, because the model consumes them as distinct modalities. You can hold a face at 1.0 while letting a borrowed voice sit at 0.6, or drop visual_strength_N to 0 to use a character purely as a voice donor - genuinely useful when you want a specific timbre and no likeness obligation.
The rest of the panel
show_info (off) prints the per-slot token accounting. max_total_tokens (0 = no budget) fails the run if the selected refs exceed it, counted after copies - so copies_2 = 3 counts triple. That's the guard rail you want before a 4-character scene eats your afternoon.
Outputs: mods (H3_REF_MODS), prompt_hint (STRING), info (STRING).
prompt_hint deserves a mention. It merges each ref's concept type and description into a prompt-ready string - the descriptions you typed when you baked them. Concatenate it onto your positive prompt with a string-join node instead of retyping "the woman with the red hair and horns" every time. Refs with no description are skipped, so fill that field in at bake time if you want this to be useful.
info is the human-readable ledger: each ref, its strength, its token cost, the total. Wire it to a Preview Any when you're tuning.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Winnougan/Nougan_Nodes
# restart ComfyUI
Or ComfyUI Manager → "Nougan". This is part of the RefMod toolkit, which needs a ComfyUI build with MiniMax H3 support; it's the only part of the pack that can fail to load on its own (each family is isolated in its own try/except, so the rest still works). No pip dependencies.
Typical wiring:
Nougan RefMod Loader ──mods──► Nougan RefMod Apply ──conditioning──► sampler
└─prompt_hint──► string join ──► positive prompt
Where people get burned
Empty dropdown. No baked characters, or files sitting outside models/refmods. Bake one first with Nougan RefMod Bake 🧬, then hit R.
Copies as a substitute for strength. Repeating a reference is not the same as weighting it - it multiplies the token cost by the copy count while the model just sees the same face twice. Use visual_strength_N when you want more of a face.
Budget set too tight, then blamed on the sampler. max_total_tokens counts after copies. If the run dies with a budget error, the message tells you the required total; lower copies or drop a slot.
Two loaders in one graph. Legal, occasionally useful, easy to confuse. If the character in the output isn't the one you picked, check you're not feeding a second Loader's mods in downstream.
Inputs (26)
| Name | Type | Default | Description |
|---|---|---|---|
| mod_1 | COMBO | Baked character (or any RefMod). Press R to refresh the list. | |
| strength_1 | FLOAT | 1.000–1 | Master strength for this slot, multiplied with face/voice. |
| copies_1 | INT | 11–10 | Repeats the ref. Each copy costs its full tokens in every block. |
| mod_2 | COMBO | Baked character (or any RefMod). Press R to refresh the list. | |
| strength_2 | FLOAT | 1.000–1 | Master strength for this slot, multiplied with face/voice. |
| copies_2 | INT | 11–10 | Repeats the ref. Each copy costs its full tokens in every block. |
| mod_3 | COMBO | Baked character (or any RefMod). Press R to refresh the list. | |
| strength_3 | FLOAT | 1.000–1 | Master strength for this slot, multiplied with face/voice. |
| copies_3 | INT | 11–10 | Repeats the ref. Each copy costs its full tokens in every block. |
| mod_4 | COMBO | Baked character (or any RefMod). Press R to refresh the list. | |
| strength_4 | FLOAT | 1.000–1 | Master strength for this slot, multiplied with face/voice. |
| copies_4 | INT | 11–10 | Repeats the ref. Each copy costs its full tokens in every block. |
| show_infoopt | BOOLEAN | false | — |
| max_total_tokensopt | INT | 00–1048576 | 0 = no budget. Counted after copies. |
| components_1opt | COMBO | All | Which parts of a baked character to load. Unused parts are never read from disk. |
| visual_strength_1opt | FLOAT | 1.000–1 | Face / visual strength. 0 skips loading the visuals. |
| audio_strength_1opt | FLOAT | 1.000–1 | Voice / audio strength. 0 skips loading the audio. |
| components_2opt | COMBO | All | Which parts of a baked character to load. Unused parts are never read from disk. |
| visual_strength_2opt | FLOAT | 1.000–1 | Face / visual strength. 0 skips loading the visuals. |
| audio_strength_2opt | FLOAT | 1.000–1 | Voice / audio strength. 0 skips loading the audio. |
| components_3opt | COMBO | All | Which parts of a baked character to load. Unused parts are never read from disk. |
| visual_strength_3opt | FLOAT | 1.000–1 | Face / visual strength. 0 skips loading the visuals. |
| audio_strength_3opt | FLOAT | 1.000–1 | Voice / audio strength. 0 skips loading the audio. |
| components_4opt | COMBO | All | Which parts of a baked character to load. Unused parts are never read from disk. |
| visual_strength_4opt | FLOAT | 1.000–1 | Face / visual strength. 0 skips loading the visuals. |
| audio_strength_4opt | FLOAT | 1.000–1 | Voice / audio strength. 0 skips loading the audio. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| mods | H3_REF_MODS | — |
| prompt_hint | STRING | — |
| info | STRING | — |