Qwen - Text to Image
The Older Qwen Endpoint, Still the Better-Known One
- image
- url
- all_urls_json
- task_id
- raw_json
- credits_consumed
- credits_left
Which Qwen are we doing today
The menu here is genuinely confusing, so here's the plain version. The pack exposes two generations of Qwen image endpoints: the older qwen/* set (this node, plus Qwen - Image to Image and Qwen - Image Edit) and the newer qwen3/* set (Qwen3 Text to Image, Qwen3 Pro ...). They don't share a parameter vocabulary. The Qwen3 group talks in resolution tiers and aspect ratios; this group talks in scheduler-era terms - steps, guidance scale, acceleration, and a fixed list of named sizes.
So which do you want? Honestly, the Qwen3 ones are the newer models and I'd default there. This node is worth reaching for when you want the knobs: a specific seed you can actually hold onto, a step count you control, and a negative prompt that behaves the way you expect. It's also the Qwen endpoint most tutorials and screenshots reference, which matters when you're following along.
Inputs worth your attention
- prompt (required, up to 5000 characters) - nothing else is mandatory. Nice for a quick connectivity test: paste anything, press run, see if your key works.
- image_size -
square_hdby default, withsquare,portrait_4_3,portrait_16_9,landscape_4_3,landscape_16_9alongside it. Named sizes, not free dimensions, so "make it 1216×832" isn't an option here. - num_inference_steps - default 30, up to 250. More steps cost more time, not necessarily more credits.
- guidance_scale - default 2.5 with a 0–20 range and 0.1 steps. On these Qwen endpoints low guidance is normal; don't port your SDXL 7.0 habit over.
- negative_prompt - default is a single space. That's a hint about how much it matters here.
- acceleration -
none/regular/high; the docs recommend high for images without text, which is a nice way of admitting it hurts typography. - seed, output_format, enable_safety_checker (on by default), nsfw_checker (off), timeout_seconds, callback_url.
Outputs: image, url, all_urls_json, task_id, raw_json, credits_consumed, credits_left. The credit pair is the pack's signature move - after each run the node itself tells you what those credits bought, so you can price a batch before you commit to one.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
pip install -r ComfyUI-KIE-Nodes-Next/requirements.txt
Restart ComfyUI afterwards. The pack's Python dependencies are light (requests, Pillow, numpy, PyYAML), and the README's heavier infrastructure - a Windows one-click installer, a full uninstaller, an offline bootstrap catalog - lives in dist/ if you'd rather not touch a terminal on Windows. Then set the key once at Settings → KIE.ai Nodes Next → Connection. It's validated before the old one is replaced, and it never lands in workflow JSON, which matters if you share graphs.
Things that catch people out
The widget set is generated from KIE's live documentation at startup. That's excellent for keeping up with new models and slightly strange the first time a node you already use grows a new dropdown. Old workflows still run - new widgets come with their own defaults - but don't be surprised if the panel doesn't look like the screenshot you followed.
Also, enable_safety_checker and nsfw_checker here are two different fields with two different defaults, and it's easy to flip the wrong one and conclude the provider is filtering you when it's your own setting. Read the labels. Whichever way you set them, the filter that matters runs on KIE's side and on Alibaba's model before that; a hosted endpoint is not a censorship workaround, it's just someone else's policy layer.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | The prompt to generate the image with (Max length: 5000 characters) | |
| image_sizeopt | COMBO | square_hd | The size of the generated image |
| num_inference_stepsopt | FLOAT | 30.002–250 | The number of inference steps to perform (Min: 2, Max: 250, Step: 1) (step: 1) |
| guidance_scaleopt | FLOAT | 2.500–20 | The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt when looking for a related image to show you (Min: 0, Max: 20, Step: 0.1) (step: 0.1) |
| enable_safety_checkeropt | BOOLEAN | true | The safety checker is always enabled in Playground. It can only be disabled by setting false through the API. (Boolean value (true/false)) |
| output_formatopt | COMBO | png | The format of the generated image |
| negative_promptopt | STRING | The negative prompt for the generation (Max length: 500 characters) | |
| accelerationopt | COMBO | none | Acceleration level for image generation. Options: 'none', 'regular', 'high'. Higher acceleration increases speed. 'regular' balances speed and quality. 'high' is recommended for images without text |
| seedopt | INT | 0-2147483648–2147483647 | The same seed and the same prompt given to the same version of the model will output the same image every time |
| nsfw_checkeropt | BOOLEAN | false | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself. Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |
| timeout_secondsopt | INT | 120030–7200 | — |
| callback_urlopt | STRING | Optional KIE callback URL. Leave empty for normal ComfyUI use. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| url | STRING | — |
| all_urls_json | STRING | — |
| task_id | STRING | — |
| raw_json | STRING | — |
| credits_consumed | FLOAT | — |
| credits_left | FLOAT | — |