Nodes/PopNow/Qwen Image 2.1 · Text to Image
ComfyUI Node

Qwen Image 2.1 · Text to Image

2K, transparent backgrounds, and a prompt rewriter that's on by default

By popnow-ai·Created 25 days ago·Updated 2 days ago· 0
Qwen Image 2.1 · Text to Image
    • images
    • alpha
    • task id
    ◄prompt►
    ◄aspect_ratio1:1►
    ◄resolution1k►
    ◄enable_prompt_expansiontrue►
    ◄backgroundopaque►
    ◄output_formatjpeg►
    ◄seed0►

    Qwen-Image's generation model was always the respected-but-not-beloved one: gorgeous lettering, heavy weights, outrun on consumer cards by smaller models. Hosted on PopNow, the weight problem evaporates. What's left is a 2K-tier open model that renders type better than almost anything else and - the part people miss - can return a subject on a genuine alpha channel instead of a rectangle of pixels.

    From about 3.6 credits ($0.036) an image. That's the cheapest serious generation in this pack.

    The alpha story, since it's the reason to be here

    Two outputs beyond task id: images and alpha. The alpha is a MASK where 1 means opaque, and the RGB that comes back is pre-multiplied by it - so transparent areas arrive black, and the transparency itself lives in the mask. That's a deliberate choice, and it's the correct one: a background-removal or a transparent render is only useful if you can composite it, and a mask compositing is a compositing operation rather than an eyeballed threshold.

    It also means you need to wire both. images into a Save Image, alpha into whatever consumes the mask - or into an image-save path if you want to inspect it.

    The catch is in the author's own tooltip: transparent background "needs output_format png or webp". Leave output_format at JPEG and the transparency has nowhere to go. That's the single most common way people waste a run on this node.

    The fields

    prompt - subject, composition, lighting, and any wording you want rendered. Write it as a paragraph. The encoder is an LLM, so sentence structure and specificity do more than adjective stacking, and (emphasis:1.4) syntax is inert.

    enable_prompt_expansion - True by default. The service rewrites your brief into a fuller scene before generating. Great for getting a lush render out of three words, terrible when you want exactly what you asked for. Turn it off when you're matching a reference layout.

    background - opaque or transparent. See above.

    output_format - JPEG by default. PNG/WebP if transparency is the goal or the image is going anywhere near another edit.

    resolution - 1k tier default; 2K is the headline. Costs move with it.

    aspect_ratio - 1:1 default, and there's no source image to inherit a shape from, so pick.

    seed - fixed by default. Re-queueing an unchanged graph returns the cached render, not a new charge. Set control after generate to randomize for a different take.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/popnow-ai/popnow-comfyui
    

    Restart. Manager → Custom Nodes Manager → PopNow → Install is the same thing with a UI, and comfy node install popnow-comfyui works for CLI people. Nothing else installs: zero declared dependencies, Python 3.10+, V3 node API. No GPU involved, so this runs on a MacBook as happily as on a 4090.

    Then a key from popnow.ai/api/console/keys into Settings → PopNow, and restart once more - the model list is built from your account's catalog at startup, which is the step everyone skips before filing a "node missing" issue. Headless box? POPNOW_API_KEY in the environment, so the key stays out of shared workflows.

    What actually goes wrong

    Text that comes out as a smear: usually prompt expansion rewriting your exact string. Turn it off and quote the words you want.

    Transparent background, no transparency: JPEG. Fixed above.

    PopNow 40004 means the model can't serve that combination - it names the field. 40201 is an empty balance. 40310 means your account needs an email verified. Content refusals come back as content_rejected and are refunded, so a refusal costs you a minute, not 3.6 credits.

    One habit worth building: check the node's price badge after changing resolution. It updates per option, and the difference between 1k and 2K across twenty renders is real money. Then set Settings → PopNow → Max credits per run, because a queue of twenty nodes with no ceiling is a queue of twenty charges.

    CategoryPopNow/Image/Alibaba

    Inputs (7)

    NameTypeDefaultDescription
    promptSTRINGDescribe the subject, composition, lighting, and any wording to render.
    aspect_ratioCOMBO1:1Output aspect ratio.
    resolutionCOMBO1kOutput resolution tier.
    enable_prompt_expansionBOOLEANtrueRewrite the prompt into a fuller scene description before generating. On by default; turn it off to have the prompt followed word for word.
    backgroundCOMBOopaqueopaque keeps a normal background; transparent returns the subject alone on a real alpha channel (needs output_format png or webp).
    output_formatCOMBOjpegContainer of the returned image.
    seedINT00–2147483647Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed.

    Outputs (3)

    NameTypeDescription
    imagesIMAGE—
    alphaMASKTransparency of each image: 1 is opaque.
    task idSTRINGThe PopNow task id, for the API console logs or support.