Qwen Image 3.0 Pro · Edit
Same schema as 3.0, a third more money, better skin and glass
- image_urls
- images
- task id
Everything on this node is identical to Qwen Image 3.0 · Edit - same inputs, same outputs, same 2K tier, same negative prompt field - except the model behind it and the price: from about 6 credits ($0.06) per image against 4.5. So the entire question is whether the Pro render is worth a third more on the pictures you actually make.
The pitch names exactly one thing: fine typography plus lifelike skin, fabric and glass. That's a materials-and-microtexture claim, and it's the kind of claim you can only settle by comparing on your own subject matter. If your work is people, product shots with glass in them, or garment detail, pay the third. If it's a stylised illustration or a graphic layout, save it.
The fields (unchanged from 3.0, and that's the point)
prompt - the target image: subject, composition, lighting, any text to render. Refer to references by their order. Sentences, not tags; the encoder is a language model and keyword weighting is dead weight.
negative_prompt - 3.0 brought the field back to the Qwen line, and it's here too. Keep it to two or three concrete exclusions. "Extra hands, text on the wall" earns its place; a forty-word quality boilerplate does not.
image_urls - Autogrow, ordered, one new socket per connection. Feed it a batch on a single socket and it counts as several pictures, in tensor order.
resolution - 2K default, no cheaper tier worth mentioning.
num_outputs - min 1, max 1. The widget exists and refuses to move. One render per run.
aspect_ratio - 1:1 by default, and yes, it will reframe your source rather than follow it. On an edit that's the single most common way to lose a picture you liked.
enable_prompt_expansion - True by default, so the service rewrites your brief before generating. Turn it off for literal obedience, particularly when a specific string of text needs to survive intact.
seed - fixed by default. Same graph queued twice returns the cached image instead of billing again; control after generate → randomize for a new take, at 6 credits.
Outputs: images and task id. No alpha output - for transparent backgrounds you want the 2.1 edit node.
What this node is actually for
Speech-to-print advertising, packaging mockups, portraits where the skin has to survive a crop, and product renders where glass has to look like glass. That's the narrow band where Pro earns the premium. Outside it, 3.0 non-Pro is the same workflow for less.
The standing caveat on all Qwen editing applies and no premium fixes it: the model re-emits the whole frame, so pixels you didn't discuss move, and chaining edits makes faces drift. One edit, then composite.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Restart. Or Manager → Custom Nodes Manager, search PopNow, Install - or comfy node install popnow-comfyui. Nothing else to install, ever: the pack declares zero dependencies and lives on ComfyUI's bundled aiohttp, torch, Pillow, NumPy and PyAV. Python 3.10+ and a V3-API ComfyUI are the only requirements.
Key from popnow.ai/api/console/keys into Settings → PopNow, then restart once more so the catalog is pulled from your account. On a server or a headless box, export POPNOW_API_KEY and skip the settings entirely - the pack deliberately never stores the key in a widget, because widgets end up in workflows and PNG metadata.
Money and failures
Each node prints the quoted estimate and then the actual charge when it finishes, and the badge shows the rate for the options you've picked. Six credits a render is not a lot until you run forty of them while deciding on a headline, so set Settings → PopNow → Max credits per run and let the quote check hold the line.
Error codes are specific enough to act on without searching: PopNow 401 for a bad key, 40201 for an empty balance, 400 naming a field it rejected, 40004 for an unservable combination - change the setting the message names - and 40310 when the account needs its email verified. content_rejected and generation_failed are refunded; anything ending in request_id belongs in a message to support, with the task id output alongside it.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the subject, composition, lighting, and any text to render. | |
| image_urls | COMFY_AUTOGROW_V3 | Reference images in the order used by the editing instruction. | |
| aspect_ratio | COMBO | 1:1 | Output aspect ratio. |
| resolution | COMBO | 2k | Output image resolution tier. |
| num_outputs | INT | 11–1 | Number of output images. |
| enable_prompt_expansion | BOOLEAN | true | Let the service rewrite and expand the prompt before generation. |
| negative_prompt | STRING | Describe elements to exclude from the 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. |