SFWaveSpeedQwenTextToImage
Qwen-Image text-to-image from a prompt — the pack's bilingual workhorse
- client
- image
Qwen-Image is Alibaba's answer to the modern text-to-image generation - strong at text rendering, good at following detailed prompts, and notably comfortable with Chinese. SF WaveSpeed Qwen Text to Image is the no-fuss wrapper: prompt in, image out, with the Qwen canvas-size system built in. It's the node you grab when you want Qwen's particular look without downloading its (large, encoder-heavy) weights.
If you've read up on Qwen-Image, you know the model expects its specific native resolutions - and this node bakes that in with a size dropdown rather than making you memorize pixel values. That alone saves a round of confused troubleshooting.
It's part of the comfyui-stillfront pack, an API call via WaveSpeed - no local weights, no GPU requirement.
How it works
The node sends your prompt and chosen size to WaveSpeed's Qwen-Image text-to-image endpoint, waits for the result, downloads it, and returns an IMAGE tensor. On the other side of that call is a 20B-class model that's genuinely good at putting legible text into images and understanding long, detailed prompts.
The inputs that matter:
prompt- supports Chinese and English; Qwen-Image handles both well, and detailed prompts reward you.size- the Qwen native canvas presets:1328x1328 (1:1)(default),1536x864 (16:9),864x1536 (9:16),1472x1104 (4:3),1104x1472 (3:4),1536x1024 (3:2),1024x1536 (2:3).custom_size- optionalwidth*height(e.g.1920*1080) that overrides the dropdown. This is where the model's resolution sensitivity lives: straying from the native sizes can hurt output, so only override when you know why.seed- -1 for random, or lock it.output_format- jpeg/png/webp.enable_sync_mode- default on.
Output is a single image (IMAGE).
Installing it
Pack install plus WaveSpeed key:
cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/comfyui-stillfront
cd comfyui-stillfront
pip install -r requirements.txt
Restart, then wire in an SF WaveSpeed Client node with your key (or config.ini / WAVESPEED_API_KEY).
Troubleshooting
- Images look soft or compositionally off at odd sizes. You used
custom_sizewith a non-native value. Qwen-Image was trained on its native canvases; stick to the presets unless you need the exact pixel count. - Text in the image still garbled. Qwen is one of the better models at in-image text, but short prompts with lots of words ("a menu with these 20 items") will still trip it. Reduce the amount of rendered text.
- "API key is empty." Client node first, then
config.ini, then theWAVESPEED_API_KEYenv var - in that order. - Randomness. Default seed is -1, so every run differs. If you're iterating toward a specific look, lock the seed once you find one you like, then vary the prompt.
Where does this sit in the pack? It's the plainest Qwen path - no LoRAs, no references, no editing. For text-to-image with Qwen's text legibility, it's the one to start with. Add the LoRA variant when you want a style, and the Edit nodes when you want to change an existing image.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| client | WAVESPEED_AI_API_CLIENT | — | |
| prompt | STRING | Text prompt for image generation (supports Chinese & English) | |
| size | COMBO | 1328x1328 (1:1) | The aspect ratio and resolution of the generated image |
| seed | INT | -1-1–18446744073709550000 | Random seed for reproducible results. -1 for random seed |
| output_format | COMBO | jpeg | The format of the output image |
| enable_sync_mode | BOOLEAN | true | Wait for image generation to complete before returning |
| custom_sizeopt | STRING | Custom size as 'width*height' (e.g. '1920*1080'). Overrides size dropdown if provided. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |