Qwen Image 2 · Text to Image
The API-only Qwen, rented by the picture
- images
- task id
Here's the thing almost nobody tells you about "Qwen Image 2": it has no weights. The 2.0 generation is a 7B model that unified generation and editing in one architecture - a real departure from the 20B family everything else in this pack is based on - and Alibaba released it as an API only. No Hugging Face repo, no GGUFs, no finetunes on the way. There is no local version to be smug about.
Which makes this node the whole access story. 5.25 credits ($0.0525) a picture, hosted, on a machine that never breaks a sweat.
What it is, and what it isn't
It is the newest unified Qwen image model, and it's remarkably unbothered by options: a prompt, an aspect ratio, a seed. That's the entire node.
It isn't the best value in the pack. Qwen Image 2.1 · Text to Image costs from 3.6 credits, gives you a 1k/2K resolution tier, a prompt rewriter, a transparent-background option and an alpha output. So if you're optimising, you want 2.1. You come here for the render - some prompts simply come out the way you pictured on 2 and not on 2.1, and rendering taste is the one thing no spec sheet captures.
There's also an honest structural argument for it. The 20B family (1.0, 2512, 2.1, 3.0) is Apache 2.0 and has an enormous LoRA ecosystem. This one is closed, and closed means you can't fine-tune it, can't run it on your own card in five years, and can't fix a limitation with a community adapter. It's a rented model. Rent it for the taste, not for a pipeline you intend to own.
The widgets
prompt - "Describe the image to generate: subject, composition, style, and lighting." Write a paragraph. The Qwen encoders are LLMs and they reward clear prose, so sentences win and (weight:1.3) syntax does nothing.
aspect_ratio - 1:1 by default, and there's no source image to inherit a shape, so this is entirely on you. Pick it before queueing, because a re-render at another shape is another charge.
seed - default fixed. Queue the same graph again and the node hands back the cached image from the first run instead of billing you twice. Deliberate, and briefly confusing the first time. Control after generate → randomize for a fresh roll.
No resolution widget, no output format choice, no transparency, no negative prompt. Outputs are images and task id, and that's the lot.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Restart. Or use Manager, search PopNow, Install - same outcome, fewer keystrokes. The pack declares no dependencies at all and installs nothing beyond itself; it gestures at aiohttp, torch, Pillow, NumPy and PyAV, all of which your ComfyUI already carries. Needs Python 3.10+ and a ComfyUI new enough for the V3 node API.
Then add your key: popnow.ai/api/console/keys → Settings → PopNow → paste → restart once more. That second restart is not superstition; the node list is rebuilt from your account's catalog every startup, so the catalog you see is the one your key can reach.
The bits that annoy people
PopNow No PopNow API key is set on the first run means the key didn't stick - usually the second restart was skipped, or the settings value got wiped by a ComfyUI update. A model that's disappeared from the node list is the same class of problem: restart.
PopNow 40201 is an empty wallet. 40004 is a combination the model won't serve and names the field; here it's usually the aspect ratio. 40310 means your account needs its email verified before it can generate anything. Failed or refused runs are refunded, so a content_rejected costs you time only.
And the one nobody reads: Settings → PopNow → Max credits per run. Runs are quoted before submission and stopped if the quote is over your ceiling, which is the difference between exploring and spending 5.25 credits a click.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the image to generate: subject, composition, style, and lighting. | |
| aspect_ratio | COMBO | 1:1 | Aspect ratio of the generated 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. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |