Qwen Image 2512 LoRA · Text to Image
The revision the LoRA people actually train on
- loras
- images
- task id
If you've been downloading Qwen LoRAs from Civitai, the file names on half of them say 2512. That's this generation of the 20B Qwen-Image base - the late-2025 refresh - and it's why a node for it exists at all: a LoRA is only as good as the checkpoint it was trained against, and pointing a 2512 LoRA at a 1.0 render is how you get mush with a nice prompt.
This node is the generation half. 4.5 credits ($0.045) per image, loras socket included, up to three stacked.
Why bother, when there are newer models in the pack
Qwen-Image 2.1 and 3.0 are better at instruction following, higher resolution tiers and multi-reference work. What they don't have is your LoRA trained on 2512. In practice that's how people choose: if a style, a face, or a look you need lives in a 2512 LoRA, this is the node, and the quality gap disappears. If you're rendering something new, reach for a newer revision.
The other half of the reason is that Qwen-Image is Apache 2.0 across every released weight. That's not a licensing footnote, it's the structural reason the LoRA library is this deep - nobody is filing takedowns over fine-tunes of this family.
The fields
prompt - "Describe the subject, composition and lighting. If a LoRA has a trigger word, put it first." Both halves of that matter. Trigger word first is not a superstition; the encoder is an LLM reading your prompt top to bottom, and a rare token at the front lands cleanly.
aspect_ratio - 1:1 default. If the whole reason for the render is a 3:2 print or a 9:16 story, set it now.
Size - 2512 has no resolution widget at all; aspect ratio is the only size control, which is quietly good: fewer ways to pay twice for the same idea.
output_format - JPEG default. PNG for anything downstream.
loras - the point of the node. Add a PopNow LoRA node, set source and scale, connect. source takes a .safetensors from ComfyUI/models/loras (uploaded once, reused twelve hours), a Hugging Face repo id or page, a Civitai page, or any direct link. Gated files want HF_TOKEN or CIVITAI_API_KEY in the environment - deliberately not in a widget, since widget values get baked into shared workflows.
seed - defaults to fixed, so queueing the same graph twice returns the cached first image instead of a second charge. Set control after generate to randomize when you want a variation.
Outputs: images, plus task id.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Restart. Manager → Custom Nodes Manager → PopNow → Install works too, and comfy node install popnow-comfyui if you live in a terminal. Zero dependencies to install, Python 3.10+, and a ComfyUI recent enough for the V3 node API. Nothing runs on your hardware - no checkpoints, no VRAM ceiling, no CUDA version to argue with.
Key next: popnow.ai/api/console/keys, then Settings → PopNow, then restart once more so the node list comes from your account. Yes, twice. The catalog is fetched at startup.
Notes from use
LoRA scale is the dial that matters and it's easy to overdo. A style LoRA at 1.0 will flatten whatever prompt diversity you had; 0.6–0.8 keeps the prompt alive. If you're stacking a second LoRA, drop the first a notch rather than leaving both at full strength.
Batch cost is honest per image, but iteration isn't free - at 4.5 credits a shot, a thirty-render exploration is 135 credits. Set Settings → PopNow → Max credits per run and a per-run quote ceiling stops the expensive mistake before anything is held.
The errors are specific enough to act on: 40201 empty wallet, 400 names the field the model refused, 40004 means that combination isn't servable, 40310 wants your email verified. Failed and refused generations are refunded; task id is what you give support otherwise.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the subject, composition and lighting. If a LoRA has a trigger word, put it first. | |
| aspect_ratio | COMBO | 1:1 | Output aspect ratio. |
| output_format | COMBO | jpeg | Container of the returned image. |
| seed | INT | 00–2147483647 | Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed. |
| lorasopt | POPNOW_LORAS | Up to three LoRA weight files, each with its own strength. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |