π BV LoRA Stack Collector
Stamp a stable identity on your LoRA stacks
- resource_provider
- resource_provider
BV LoRA Stack Collector is a small, optional node in the manual-chains corner of the pack, and it does one precise thing: it takes an existing LoRA resource provider and re-identifies it with a collector id you choose, so downstream references have a stable, deterministic identity.
Why would that matter? In the Regional V3 resource protocol, every LoRA provider has a provider_id - a UUID that resource references point at. When you build a provider by chaining manual nodes, the intermediate id can be derived from whatever the chain happens to hold (which changes when the content changes). The collector is where you stop that churn: give it a fixed collector_id, and the same resources come out under a stable name you control, regardless of how the stack was assembled upstream.
How it works
Two inputs, both straightforward:
resource_provider- an existingBV_RUNTIME_RESOURCE_PROVIDERcarrying named LoRA stacks. It can come from a manual chain of nodes or from BV LoRA Registry.collector_id- a UUID that becomes the provider's final identity.
The node validates the incoming provider against the full wire contract (schema, version, provider id, resource type, resources - it's strict), then rebuilds it with the new id. The resources themselves are unchanged; only the identity is stamped. That's the whole job, and it's deliberately narrow: a collector that did anything else would be a different node.
One detail worth knowing: forceInput is set on the provider input, meaning you must wire it from another node - you can't conjure a provider from a widget. And the id is validated as a real UUID, so an empty or malformed string fails fast with a clear message.
Output: resource_provider, the same stacks under the stable id - wire it onward to BV Regional LoRA or any regional consumer.
The inputs and outputs that matter
resource_provider- in and out.collector_id- the UUID to stamp. Make it a fixed value per workflow so references stay stable; generate one once, keep it.- Output
resource_providerβ the regional consumer.
How to install
Part of BV Node Pack:
cd ComfyUI/custom_nodes
git clone https://github.com/BlackVortexAI/bv_nodepack.git
Restart ComfyUI, hard-refresh. Or ComfyUI Manager β "BV Node Pack". No model downloads.
Common issues
- "must be a UUID" - empty or non-UUID collector id. Generate a proper UUID (any generator will do).
- "LoRA runtime resource provider is invalid" - the incoming provider isn't the expected v1 runtime provider shape; you probably wired a registry object (the
bv.lora_stack_registry) instead of a provider, or a stale node output. - Nothing downstream changed after adding it - right, that's expected: this node changes identity, not content. If you added it hoping to change the stacks, the change belongs upstream.
It's the kind of node that looks pointless until you have a workflow where references must survive being re-edited - then it's the difference between a stable workflow and one that quietly re-points itself every time you tweak a stack.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| resource_provider | BV_RUNTIME_RESOURCE_PROVIDER | β | |
| collector_id | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| resource_provider | BV_RUNTIME_RESOURCE_PROVIDER | β |