Nodes/ComfyUI Razv WaveSpeed Nodes/WaveSpeedAI Qwen Image Text-to-Image
ComfyUI Node

WaveSpeedAI Qwen Image Text-to-Image

20B text rendering with zero local install

By razvanmatei-sf·Created 12 months ago·Updated 9 months ago· 0
WaveSpeedAI Qwen Image Text-to-Image
  • client
  • image
prompt
size1328x1328 (1:1)
seed-1
output_formatjpeg
enable_sync_modetrue
custom_size

Ask the community what Qwen-Image is actually for and the answer is usually "text." The 20B generation model was never anyone's daily driver for landscapes, but its text rendering is top-tier - logos, signs, product labels that come out legible and correctly spelled. That quality is locked behind a 20B local model, which is a lot of VRAM for occasional text work. This node runs the same model on WaveSpeed AI and drops the output straight into your ComfyUI graph, so you get the model's best trick without the install.

What it is

A hosted text-to-image node for Qwen-Image. Connect the client from the WaveSpeedAI Client node, type a prompt (Chinese and English both supported), pick a size, and the generated image comes back as an IMAGE tensor. The size dropdown is unusually well thought out - seven presets with actual pixel dimensions like 1328x1328 (1:1) and 1536x864 (16:9) - plus a custom_size string (1920*1080) that overrides the dropdown when you need exact pixels.

How it works

The node POSTs {prompt, size, seed, output_format} to the Qwen image generation endpoint, then downloads the returned image URL and converts it to a tensor on your machine. That local download step is why the node needs outbound internet even after the render completes. enable_sync_mode defaults to on, so the node blocks and hands you the image when it's done.

The inputs that matter

  • prompt - the image to generate. If your goal is text rendering, put the text in quotes and spell it exactly.
  • size - aspect and resolution in one dropdown; use custom_size when the presets don't fit your canvas.
  • seed - -1 for random; fix it to iterate on a concept.
  • output_format - jpeg, png, or webp.
  • enable_sync_mode - default on.

Output name is image, type IMAGE - wires straight into Save Image / Preview Image.

Install & setup

Shared pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/razv-wavespeed.git
cd razv-wavespeed
pip install -r requirements.txt

or ComfyUI Manager → "razv-wavespeed" → Install, restart. API key from wavespeed.ai in config.ini (copy config.ini.tmp), the Client node, or WAVESPEED_API_KEY. Deps: requests, pillow, numpy<2.0.0, torch.

Common issues

  • Text comes back garbled - check the prompt's exact spelling; Qwen renders what it's given. Also consider PNG output, since JPEG compression can eat fine glyph edges.
  • "No output received" - the job timed out or the API returned nothing; retry, often transient.
  • 401 - key issue.

The honest framing: Qwen-Image as a general T2I model is fine but not transcendent, and local alternatives are cheaper if you generate a lot. Where this node is genuinely useful is specific text-bearing work - mockups, product shots, signage - done occasionally, on a machine that doesn't have 20GB of free VRAM. For that narrow job it's hard to beat.

CategoryWaveSpeedAI

Inputs (7)

NameTypeDefaultDescription
clientWAVESPEED_AI_API_CLIENT
promptSTRINGText prompt for image generation (supports Chinese & English)
sizeCOMBO1328x1328 (1:1)The aspect ratio and resolution of the generated image
seedINT-1-1–18446744073709550000Random seed for reproducible results. -1 for random seed
output_formatCOMBOjpegThe format of the output image
enable_sync_modeBOOLEANtrueWait for image generation to complete before returning
custom_sizeoptSTRINGCustom size as 'width*height' (e.g. '1920*1080'). Overrides size dropdown if provided.

Outputs (1)

NameTypeDescription
imageIMAGE