Qwen Image 2.1 Turbo · Text to Image
Six 2K drafts for about two and a half full-price renders
- images
- task id
Six 2K images for about 13 credits - a shade over two cents each - is the sort of number that changes how you work. You stop agonising over a prompt and start sampling it. This node is the distilled, eight-step version of Qwen Image 2.1's generator, and its whole personality is "cheap, fast, slightly rougher".
Roughly 2.16 credits ($0.0216) per image. Compare that to the Pro version at 5.4 and you can see exactly what you're buying: quantity of exploration.
What you're giving up
The KB is unambiguous about distillation as a category - it buys speed by collapsing many denoising steps into a few, and the detail-refinement those steps did doesn't come back. So where does it show? Fine fabric weave, thin typography, the crispness of a highlight edge. Where doesn't it? Composition, colour, layout, whether a concept landed. For most people's actual workflow - find the shot, then finish the shot elsewhere - the loss is invisible until you compare side by side.
Qwen's family reputation is typography, and this is the one node in the family where I'd double-check the lettering before shipping. Turbo will render a sign; it may render a slightly soggy one.
The widgets
prompt - no negative prompt field on this model, so leave-outs go in the sentence. Descriptive paragraphs beat keyword stacks: the encoder is an LLM, and weighting syntax like (word:1.4) is inert here.
num_outputs - 1 to 6, default 1. Six is the point. One request, six takes, one batch out; billed per image returned.
resolution - 2K default, and "every tier costs the same", so there's no budget tier to drop to. The distilling already happened.
aspect_ratio - 1:1 default. Nothing inherits shape here, so this is your decision and it's baked in.
enable_prompt_expansion - False by default. Flip it on and the service rewrites your prompt into something fuller first.
enable_thinking - True by default, with the caveat the author puts in the tooltip: it only works while prompt expansion is on. With expansion off - the default - it does nothing at all. If you've been toggling thinking and seeing no difference, that's why.
prompt_optimization_mode - direct or agent. Single-pass rewrite versus a slower multi-step one. Only meaningful with expansion on; agent earns its wait on prompts with several constraints.
seed - fixed by default, so a repeat queue returns the cached batch rather than a second charge.
Outputs: images, task id. No alpha channel.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Restart. Or Manager → Custom Nodes Manager → PopNow → Install. The pack installs nothing else - its metadata declares zero dependencies, as it lives on ComfyUI's bundled aiohttp, torch, Pillow and NumPy. You'll want Python 3.10+ and a ComfyUI recent enough for the V3 node API.
Key at popnow.ai/api/console/keys → Settings → PopNow → paste → restart once more so your account's catalog builds the node list. Headless server? Export POPNOW_API_KEY and skip the settings field entirely.
Practical notes
Because this is the cheap node, it's also the one where you should think about the shape of a batch: six images arrive as one IMAGE tensor, all at the first image's dimensions, because a batch can't be ragged. Uniform by construction here - the same request renders all six.
Then take the winner to a non-turbo node if the job needs finish. That two-stage habit is the whole reason both variants exist in this pack, and it's also the cheapest competent workflow: search here, print there.
Codes to recognise: PopNow 40201 for an empty wallet, 40004 for a combination the model can't serve (the message names the field), 400 for a rejected value, 40310 for an unverified email. Failed runs are refunded. Put Settings → PopNow → Max credits per run somewhere sane before a six-up batch, and keep the task id output around for the day a run ends in request_id.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the subject, composition, lighting, and any wording to render. There is no negative prompt: write what to leave out directly in the prompt. | |
| aspect_ratio | COMBO | 1:1 | Output aspect ratio. |
| resolution | COMBO | 2k | Output resolution tier. Every tier costs the same. |
| num_outputs | INT | 11–6 | How many images to generate in one request (1 to 6). Billed per image returned. |
| enable_prompt_expansion | BOOLEAN | false | Let the service rewrite and expand the prompt before generating. |
| enable_thinking | BOOLEAN | true | Spend extra reasoning on the rewrite for better images, at the cost of a longer wait. Only works while prompt expansion is on. |
| prompt_optimization_mode | COMBO | direct | How prompt expansion rewrites the brief: direct is a single pass that suits most prompts; agent is a multi-step rewrite with finer detail. |
| 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. |