Nodes/ComfyUI-ForgeAPI/Forge LoRA Stack
ComfyUI Node

Forge LoRA Stack

Pick LoRAs from Forge's own library without hand-typing a single tag

By kreonxv·Created 7 months ago·Updated 7 months ago· 0
Forge LoRA Stack
    • LORA_STACK
    forge_urlhttp://127.0.0.1:7860
    enabledtrue
    lora_1_name
    lora_1_strength1.00
    lora_2_name
    lora_2_strength1.00
    lora_3_name
    lora_3_strength1.00
    lora_4_name
    lora_4_strength1.00
    lora_5_name
    lora_5_strength1.00

    Forge LoRA Stack is the LoRA picker for a ComfyUI graph that isn't actually generating images itself. It's part of the ComfyUI-ForgeAPI pack, a small bridge that hands your job off to a running SD WebUI Forge server over its local HTTP API. This node's job is "here are the LoRAs to apply" - and it pulls the list straight from Forge, so you get clean dropdowns instead of hand-typed <lora:name:strength> tags.

    If you've ever imported a Civitai workflow and spent ten minutes untangling <lora:SomeStyle:1:hash1234>, this is aimed at you. The node asks Forge what LoRAs it has, builds a tidy bundle, and feeds it to ForgeSampler. There's a second, quieter win: one model library. Your LoRAs live in Forge's folders, so you don't maintain a duplicate copy for ComfyUI.

    How it works. On load, the node calls Forge's /sdapi/v1/loras endpoint at forge_url (default http://127.0.0.1:7860) to fill the name dropdowns. Each slot is just a name plus a strength. When you run the graph, build() collects every lora_N_name / lora_N_strength pair into a list of {"name", "strength"} dicts and sends it out as a single LORA_STACK. ForgeSampler then appends each one to your prompt as <lora:name:strength> before calling the generation API. That's the whole mechanism - no LoRA math happens in ComfyUI. The README's talk of "resolving ForgeUI's random LoRA hashes" really means: you're picking from Forge's own registry, so you never have to care about hash strings at all.

    The inputs that matter. Two per slot, and they're the whole node:

    • lora_N_name - the dropdown, populated from Forge's list. Pick your LoRA.
    • lora_N_strength - default 1.0, range −10 to 10. Negative strengths are real here (inversion-style effects), though most people live between 0.5 and 1.5.

    enabled toggles the node off without deleting your slots. forge_url exists for when Forge isn't on the default port, but the node's front-end JS hides it and auto-copies the value from a ForgeSampler in your graph, so you rarely touch it. There are five slots, and a "+ Add LoRA" button in the UI manages them. The single output, LORA_STACK, wires straight into the lora_stack input on ForgeSampler - nothing else accepts it.

    Install. ComfyUI Manager (search "ComfyUI-ForgeAPI"), or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/kreonxv/ComfyUI-ForgeAPI
    

    Then restart ComfyUI. No heavy dependencies - it uses requests, Pillow, and torch, all already part of ComfyUI.

    Gotchas. The big one: the dropdown only fills if Forge was running when ComfyUI started. The node builds its input list at load time by hitting the live API; if Forge is down, you get an empty "None" list. Start Forge first, then restart ComfyUI. Same rule applies after adding new LoRAs to Forge - the list is a snapshot, not a live query.

    Where people get burned: expecting this node to load LoRAs into a ComfyUI-native sampler. It can't - it only feeds ForgeSampler. And it's a localhost bridge, so Forge genuinely has to be running for anything to happen. Skip it entirely if you're on a pure-ComfyUI setup with no Forge install; ComfyUI already has perfectly good LoRA loader nodes.

    CategoryForgeUI

    Inputs (12)

    NameTypeDefaultDescription
    forge_urlSTRINGhttp://127.0.0.1:7860
    enabledBOOLEANtrue
    lora_1_nameoptCOMBO1 options: None
    lora_1_strengthoptFLOAT1.00-10–10
    lora_2_nameoptCOMBO1 options: None
    lora_2_strengthoptFLOAT1.00-10–10
    lora_3_nameoptCOMBO1 options: None
    lora_3_strengthoptFLOAT1.00-10–10
    lora_4_nameoptCOMBO1 options: None
    lora_4_strengthoptFLOAT1.00-10–10
    lora_5_nameoptCOMBO1 options: None
    lora_5_strengthoptFLOAT1.00-10–10

    Outputs (1)

    NameTypeDescription
    LORA_STACKLORA_STACK