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

Qwen Image 3.0 · Text to Image

Qwen Image 3.0 · Text to Image — the sensible tier of Alibaba's type machine

By popnow-ai·Created 23 days ago·Updated 7 days ago· 0
Qwen Image 3.0 · Text to Image
    • images
    • task id
    ◄prompt►
    ◄aspect_ratio1:1►
    ◄resolution2k►
    ◄num_outputs1►
    ◄enable_prompt_expansiontrue►
    ◄negative_prompt►
    ◄prompt_optimization_modedirect►
    ◄seed0►

    Readable signs, no 40GB download

    This is the standard Qwen Image 3.0 text-to-image node, one rung below the Pro variant and identical to it in every way that shows on the canvas. Same widget list, same schema, same outputs. What you're actually choosing between Pro and this is detail fidelity versus price: the node's own description frames plain 3.0 around readable signs and headlines, Pro around lifelike skin, fabric and glass. If your image needs a legible shopfront, a poster, a book cover - the cheap one does the job.

    Why bother with a cloud node at all for Qwen-Image? Because the family's 20B MMDiT was never a comfortable local citizen, and the line has been API-first since Qwen-Image-2.0 shipped without weights in early 2026. The pack wraps that as a normal node: prompt in, IMAGE out, straight into your existing graph next to the upscaler and the sampler you already trust.

    How it works

    Each model in this pack gets a generated ComfyUI node whose inputs mirror the model's own published schema - no invented sliders, no hidden magic. On queue, the node quotes the job, submits it to PopNow with an idempotency key (so a network retry never bills you twice), polls, then downloads the returned images and decodes them into a ComfyUI image batch. Everything heavy, including the 20B transformer, lives on their side, which is why this works on a laptop with no discrete GPU.

    Progress shows up as text on the node - the estimate, the queue, the elapsed time - and when it lands, the final charge. The seed defaults to fixed, so re-queueing an unchanged graph returns the first result instead of quietly buying you a second one.

    The inputs that matter

    prompt, aspect_ratio, and the two switches around prompt rewriting are the whole game here.

    Write prompts as sentences. Qwen-Image's text encoder is Qwen2.5-VL, an LLM, so "a weathered enamel sign that reads 'FRESH BREAD - BAKED DAILY' hanging above a narrow bakery door, morning light raking across the letters" lands much better than a comma pile. This is also the one family where putting the words you want in the image into the prompt with quotes is a real technique, not wishful thinking.

    enable_prompt_expansion is on by default and it will rewrite you. For realistic scenes that's usually a gift. For anything where the wording has to be exact - a logo, a headline, a typo you're deliberately drawing - switch it off, or spend your run finding out what the optimiser thought you meant. prompt_optimization_mode controls how far that rewrite goes when it's enabled: direct is a single pass, agent runs a multi-step rewrite. Use agent on a lazy prompt, never on a precise one.

    resolution is 1k or 2k, aspect_ratio covers 1:1 through 21:9, num_outputs buys you multiple rolls, negative_prompt excludes what you don't want, and seed plus control-after-generate decides whether a re-queue is a copy or a new take. Outputs are images (an IMAGE batch) and task id, the string PopNow's console uses to find the run.

    Installing it

    Manager > Custom Nodes Manager, search PopNow, install, restart. Or the terminal route:

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

    Add a key from popnow.ai/api/console/keys under Settings > PopNow, or export POPNOW_API_KEY on a server. Restart after saving the key - the pack builds its node list from your account's catalog at startup, and that's also why a node you expected can be missing on first boot. No weights, no extra pip packages, nothing to put in models/.

    Where it goes wrong

    If text comes back as plausible-looking gibberish, you probably asked for more type than the model could fit at that resolution - go 2k and cut the word count. If the whole image ignores your instructions, expansion is the suspect. PopNow 40201 is an empty wallet, PopNow 401 is a dead key, PopNow content_rejected is the model declining (refunded, not charged), and a 400 naming a field means the service refused that specific value - the error text names which one.

    CategoryPopNow/Image/Alibaba

    Inputs (8)

    NameTypeDefaultDescription
    promptSTRINGDescribe the subject, composition, lighting, and any text to render.
    aspect_ratioCOMBO1:1Output aspect ratio.
    resolutionCOMBO2kOutput image resolution tier.
    num_outputsINT11–1Number of output images.
    enable_prompt_expansionBOOLEANtrueLet the service rewrite and expand the prompt before generation.
    negative_promptSTRINGDescribe elements to exclude from the image.
    prompt_optimization_modeCOMBOdirectHow prompt expansion rewrites the brief: a single-pass rewrite.
    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 (2)

    NameTypeDescription
    imagesIMAGE—
    task idSTRINGThe PopNow task id, for the API console logs or support.