Nodes/ComfyUI-SwissArmyKnife/LoRA Info Extractor
ComfyUI Node

LoRA Info Extractor

Know exactly which LoRAs are in your Wan stack — with hashes and CivitAI lookups

By sammykumar·Created 12 months ago·Updated 8 months ago· 6
LoRA Info Extractor
  • lora
  • lora_json
  • lora_info
  • lora_passthrough
fallback_name
use_civitai_apitrue
wan_model_typehigh

When you load a Wan workflow from someone else, the LoRA stack is usually a black box - a bundle of files whose identities and trigger words you're expected to just know. LoRA Info Extractor opens that box: it walks the LoRA stack, hashes each file, optionally checks CivitAI for a matching version, and emits structured metadata plus a readable summary. And it passes the original stack through untouched, so you can drop it into a chain without changing anything.

The required input is lora, typed WANVIDLORA - the LoRA stack output from a WanVideo Lora Select or a compatible node. The node is forgiving about what that stack looks like: it hunts through stack/list/children/chain-style keys and sniffs for path-ish attributes, so it copes with the slightly different shapes different LoRA nodes produce. If it can't find a stack, it coerces a single LoRA entry so you still get metadata.

Three optional inputs shape the behavior. fallback_name is used when no metadata can be determined - a manual override when hashing and lookup both come up empty. use_civitai_api defaults to true: leave it on and the node queries CivitAI for matching model versions; flip it off to skip remote lookups entirely and rely on local metadata (faster, fully offline, and quieter). wan_model_type tells it whether the LoRA is used with the Wan 2.2 high-noise model, low-noise model, or neither - which is exactly the distinction that matters in a two-pass Wan workflow, and which the pack's other nodes (FilenameGenerator, CivitMetadataHelper) share.

Outputs: lora_json (structured metadata as a JSON string), lora_info (a human-readable summary - which files were found, which matched CivitAI, cache hits, missing files), and lora_passthrough (the original WANVIDLORA stack, unchanged, so you can keep the chain flowing while reading the side-channel metadata).

Under the hood: files get hashed (with a persistent hash cache so repeated runs don't re-hash), and the CivitAI service matches hashes against the API, using the CivitAI key from the pack's ComfyUI settings. That hash-and-match approach is how model managers have kept versions straight for years - a hash is the only reliable identifier when filenames lie.

Installing

Part of Swiss Army Knife:

  • ComfyUI Manager: search "Swiss Army Knife", install, restart.
  • Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/sammykumar/ComfyUI-SwissArmyKnife.git
cd ComfyUI-SwissArmyKnife
pip install -e .

Gotchas

  • The CivitAI key lives in ComfyUI settings, not on the node. Without it, CivitAI lookups may be rate-limited or fail - the node still works, you just lose the enriched matching.
  • It's the WANVIDLORA type. Non-Wan LoRA nodes that don't emit that type won't connect without adapters.
  • wan_model_type is a label, not a selector - it's recorded in the metadata, it doesn't move files or change the stack.
  • Missing files are reported, not fatal. A stack that references a deleted LoRA yields metadata with exists: false, which is itself useful information.

If you've ever stared at a downloaded Wan workflow and wondered what the three LoRAs in the stack actually are, this is the node that answers with receipts.

CategorySwiss Army Knife 🔪/Utils

Inputs (4)

NameTypeDefaultDescription
loraWANVIDLORALoRA stack from WanVideo Lora Select or compatible nodes
fallback_nameoptSTRINGUsed when no LoRA metadata can be determined
use_civitai_apioptBOOLEANtrueDisable to skip remote lookups and rely on local metadata only
wan_model_typeoptCOMBOhighSpecify whether this LoRA is used with Wan 2.2 High Noise, Low Noise model, or none/other

Outputs (3)

NameTypeDescription
lora_jsonSTRING
lora_infoSTRING
lora_passthroughWANVIDLORA