Inspect H3 RefLoRA
Read the header before you trust the file
- report
When a generation comes out subtly wrong - the face isn't quite locking, the LoRA feels half-applied - the useful question is whether the file is what you think it is. This node answers that in about a millisecond, because it never loads a tensor. It parses the safetensors header and reports.
That's the whole design. No torch allocation, no weights in VRAM, no waiting on a 600-tensor file to deserialise. Use it before a run when you've just downloaded or rebuilt a container, and use it when a result looks off and you suspect the file rather than the prompt.
What the report tells you
The report output is a string, and because this node is an output node it also shows up as text on the node itself and in the ComfyUI console. It covers:
- the filename and size on disk;
- LoRA tensors - how many weight tensors are in the file, plus
dimandalphapulled from the metadata, so you can see at a glance whether the container is carrying a rank-16 LoRA or something else entirely; - references - the count and a total token cost, then one line per member numbered from 1, with its name, kind (visual or audio), shape, its individual token count, and its concept type if the member declared one;
- any structural problems the file presents.
Those member numbers are the same numbering the loader's members field uses, which is the practical reason to care. A two-reference container shows 1. and 2., so members: "1" - or "1,3-4" for a wider bundle - is a decision you can make from the report instead of from memory. If you've been guessing which reference is the identity and which is the outfit, this is where you stop guessing.
The token figures are worth reading too. Visual references are counted as T × (H/2) × (W/2) - the DiT patchifies 2×2 - and audio rides two rows per step, which is why a full-resolution identity reference can land in the thousands. That number is your reference budget, so it's the one to check before you set max_total_tokens on the loader and find out the expensive way.
The two inputs
reflora_name is anything in models/loras/ - a container, a plain LoRA, whatever. If it isn't a container, the report still prints, with a note appended saying so: (not a RefLoRA -- no references embedded) or no LoRA weights. That's deliberate. A one-line verdict beats a mystery.
verify_bytes (off by default) adds the check that matters after anything has rewritten your file: it compares the tensor count the header declares against the count actually present. A file that says it carries 600 LoRA tensors and carries none has had its weight half stripped by a tool that only wrote references - which is exactly what happens if a RefLoRA goes through ComfyUI-MiniMaxH3Mod's Bundle Save node. With the flag on, that shows up as a problem line. With it off, you get the header reading, which is faster but won't catch a re-save that quietly dropped the weights.
It also runs the real structural checks - that every visual reference really is [1,24,T,H,W] with even height and width (the DiT patchifies 2×2, so an odd dimension is a broken reference), that audio references are [1,32,2,T], and that the member count the header advertises matches what's on disk. The flag doesn't read tensor data; it's still a header read, just a suspicious one. Nothing gets patched onto a model either way.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/malcolmamal/ComfyUI-MiniMaxH3RefLoRA
Restart ComfyUI, and it's under MiniMax-H3/reflora. No dependencies - this pack has no requirements file, and the node itself imports nothing beyond the ComfyUI modules it already uses. It's also not something you need wired into a generation graph: park it off to the side, run it, read the console.
When to reach for it
Three cases. You just downloaded someone's container and want to see what's inside before you build a workflow around it. You repacked a container and want to confirm the references survived in the order you expect. Or a run looked wrong and you want to rule out the file in five seconds instead of re-rendering.
There's a terminal equivalent - python pack_reflora.py inspect <reflora> - which prints the same report without starting ComfyUI. Handy when you're triaging a folder of containers and don't want to click through a dropdown for each one. What it won't tell you is whether the references are good: token count is not quality, and a container with a perfectly intact weight half can still hold a reference that was extracted from a bad epoch. That verdict only comes from a render.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| reflora_name | COMBO | 0 options: | |
| verify_bytes | BOOLEAN | false | Also check that the declared LoRA tensor count still matches what is in the file. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| report | STRING | — |