PopNow LoRA
The one wire that lets a cloud model wear your style file
- loras
- loras
It doesn't sample anything
Every other node in this pack generates something. This one generates a reference. PopNow LoRA takes a weights file or a URL, resolves it to something PopNow's servers can load, and hands the result out as a POPNOW_LORAS value that plugs into the loras input of any model node whose name ends in LoRA - Krea 2 Turbo LoRA, LTX-2 19B LoRA, MiniMax H3 LoRA, Z-Image LoRA, and the rest. Alone in a graph it does nothing at all, which is why it confuses people on first contact.
The reason it exists is architectural honesty about cloud generation. A LoRA is a patch on a base checkpoint - low-rank matrices injected into attention at load time. Locally you drop it in models/loras and the loader picks it up. Remotely, nobody can read your disk, so this node has to get the file to PopNow first. That negotiation is the entire feature.
What happens when you press queue
The source string gets classified, and the four cases behave differently:
| What you typed | What the node does |
| --- | --- |
| my_style.safetensors - a file in ComfyUI/models/loras | Uploads it once (up to 2 GiB), reuses the upload for 12 hours |
| owner/repo, or a Hugging Face page | Asks PopNow to import it once via POST /api/v1/files/import |
| A Civitai page URL | Same import path, with CIVITAI_API_KEY used for the download if it's gated |
| Any other https:// link, or a popnow://f/... URI | Passed straight through as-is |
Tokens come from the environment only - HF_TOKEN (or HUGGING_FACE_HUB_TOKEN) for Hugging Face, CIVITAI_API_KEY for Civitai - and are never stored. That's a deliberate choice worth respecting: ComfyUI writes widget values into workflow files and PNG metadata, so a token typed into a node is a token you've published.
Local uploads are cached on path + file size + mtime. Retrain, overwrite the file, and the new one goes up; touch nothing and you don't pay for the upload twice.
The two inputs, and the chain
- source - as above. Empty is legal and does nothing.
- scale - the strength,
-1to4in 0.05 steps, default1. The tooltip is candid that most models accept 0 to 4 and the model checks its own range, so a scale of 3 on a model that caps at 2 comes back as a400naming the field rather than being clamped for you.
There's also an optional loras input, which is the chaining mechanism: node feeds node feeds node, and the stack accumulates. Most LoRA models accept three, so three nodes is your practical ceiling. Output is simply loras - no image, no task id, nothing to preview.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Or Manager > search PopNow > Install. The pack adds no dependencies; it's MIT and uses only what ComfyUI ships. A key from popnow.ai/api/console/keys goes in Settings > PopNow (or in POPNOW_API_KEY). The ready-made lora template under popnow-comfyui in the template browser is a working example - it runs an Apache-2.0 pixel-art LoRA for Z-Image Turbo, so you can see the wiring before trusting your own.
Where it goes wrong
Wrong architecture family. This is the big one, and it's not a PopNow quirk - LoRAs don't transfer across base models. An SDXL or Flux file handed to a Krea 2 node isn't going to do anything useful, however nicely it uploads. Match the file to the model family the node names: Krea 2 Raw/Turbo LoRAs for Krea 2, LTX-2 19B LoRAs for LTX-2, LTX-2.3 LoRAs for 2.3, MiniMax H3 LoRAs for H3. The tooltips on the model nodes spell out which family each one wants, which is more guidance than Civitai will give you.
Gated files without a token. A Civitai import of a login-walled model fails at the download step, not at generation, so you'll see an import error rather than an image error. Set CIVITAI_API_KEY in ComfyUI's environment and restart.
Trigger words. The node doesn't know or care about your adapter's trigger phrase, and it can't add one for you. Put it first in the model node's prompt - the tooltips on every LoRA-capable node say exactly that, and it's still the most common "the LoRA does nothing" cause after a family mismatch.
Size. Over 2 GiB and it's rejected. Some video LoRA collections ship in that range; those want a smaller variant or a direct link PopNow fetches itself.
One last thing: scale 1.0 is not universal advice. It's the node's default, not the model's sweet spot - video and image families differ, and some adapters want 0.6 while others are underbaked at 1.0. Change one thing at a time or you'll never know which knob did it.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| source | STRING | A file in ComfyUI/models/loras, a Hugging Face repo id or page, a Civitai page, or an https link. | |
| scale | FLOAT | 1.00-1–4 | Strength of this LoRA. Most models accept 0 to 4; the model checks its own range. |
| lorasopt | POPNOW_LORAS | LoRAs from another PopNow LoRA node. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| loras | POPNOW_LORAS | — |