ComfyUI Node

Qwen-Image-2512

Alibaba's text-rendering flagship in the cloud

By Runware·Created 2 years ago·Updated about a month ago· 140
Qwen-Image-2512
  • seedImage
  • maskImage
  • outpaint
  • lora
  • ultralytics
  • acceleratorOptions
  • advancedFeatures.watermark.image
  • image
positivePrompt
width1024
height1024
negativePrompt
seed0
steps3
scheduler(default)
CFGScalefalse
CFGScale_value0.00
strengthfalse
strength_value0.80
maskMarginfalse
maskMargin_value32
numberResults1
advancedFeaturesfalse
advancedFeatures.watermark.bgColor
advancedFeatures.watermark.displayPosition(default)
advancedFeatures.watermark.fontColor
advancedFeatures.watermark.opacityfalse
advancedFeatures.watermark.opacity_value0.10
advancedFeatures.watermark.text
safetyfalse
safety.checkContentfalse
settings.trueCFGScalefalse
settings.trueCFGScale_value0.00
ttlfalse
ttl_value60
outputFormatJPG
outputQuality95

Qwen-Image-2512 is the big one in Alibaba's Qwen-Image family - a 20B model whose whole claim to fame is that it renders text inside images without mangling it. Logos, signage, UI mockups, multi-language captions: this is the model you reach for when you need words in the picture and they need to be spelled right. It also handles fine-grained spatial prompts better than most, which makes it a favorite for structured compositions where "the blue box on the left with 'STORE' above it" has to come out exactly like that.

You can't run the 20B stack comfortably on most consumer cards, which is precisely why the Runware pack version is appealing. No 40GB of VRAM, no fp8 shaving, no download - it runs on Runware's machines and comes back as a native IMAGE.

What you set

Required: positivePrompt, width, height (256–2048, step 16 - Qwen is pickier about dimensions than FLUX, and multiples of 16 keep it happy).

The one thing to know before anything else: Qwen runs near-distilled guidance, so CFGScale defaults off and you rarely turn it on. There's also settings.trueCFGScale for when you need real guidance - same split as FLUX, same advice: start at default.

  • steps - defaults to 3. Three. That's not a typo; Qwen is guidance-distilled and wants few steps. If you set this to 30 you'll spend money for worse results.
  • seedImage and maskImage - drop an image in and Qwen becomes an editor. Combined with the prompt ("change the shirt to blue"), this covers a huge chunk of image-editing work without a separate edit model.
  • negativePrompt - set it, but remember it's ignored when CFGScale ≤ 1.
  • numberResults - up to 20 variations per run.
  • scheduler, outputFormat (JPG/PNG/WEBP), outputQuality - standard.

Output is image (IMAGE). That's it - wire it to Preview Image or Save Image.

How it works

Standard pack mechanics: the node composes a request with the model AIR (runware:... for Qwen-Image-2512) and taskType, sends it over REST through the Runware SDK, and downloads the rendered image back as a tensor. The interesting part is the LLM-encoder architecture - Qwen conditions on text the way a language model does, which is what makes the text rendering and spatial obedience work. Your node never touches the model weights; it just brokers the call and reports cost on the title bar.

Installing

ComfyUI Manager → search Runware → install → restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt

No model downloads; dependencies are runware-sdk, pillow, soundfile. You need a Runware API key: Settings → Runware API key, RUNWARE_API_KEY, or runware auth login.

Troubleshooting

Missing key error first, always. The bigger trap is steps: people used to 20-30 step diffusion set steps high on Qwen and get muddy, over-processed results - trust the default of 3. And if you're using seedImage for edits, keep the prompt focused; Qwen edits by re-emission, so unrelated pixels can drift if you ask for too much at once.

CategoryRunware/Image/alibaba

Inputs (36)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
widthINT1024256–2048Width of the generated media in pixels.
heightINT1024256–2048Height of the generated media in pixels.
seedImageoptIMAGE
maskImageoptIMAGE
outpaintoptRUNWARE_OUTPAINT
loraoptRUNWARE_LORA
ultralyticsoptRUNWARE_ULTRALYTICS
acceleratorOptionsoptRUNWARE_ACCELERATOROPTIONS
advancedFeatures.watermark.imageoptIMAGE
negativePromptoptSTRINGPrompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1).
seedoptINT00–9223372036854776000Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
stepsoptINT31–50Total number of denoising steps. Higher values generally produce more detailed results but take longer.
scheduleroptCOMBO(default)Scheduler to use for the diffusion process.
CFGScaleoptBOOLEANfalseEnable to set CFGScale. Off uses the model's default.
CFGScale_valueoptFLOAT0.00Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt.
strengthoptBOOLEANfalseEnable to set strength. This setting has usage rules in this model, so it is off unless you enable it.
strength_valueoptFLOAT0.800–1Strength of the transformation. Lower values result in more influence from the original input.
maskMarginoptBOOLEANfalseEnable to set maskMargin. Off uses the model's default.
maskMargin_valueoptINT3232–128Extra context pixels around the masked region during inpainting. The model zooms into the masked area with these additional pixels for better integration.
numberResultsoptINT11–20Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
advancedFeaturesoptBOOLEANfalseEnable to set advancedFeatures. Off uses the model's default.
advancedFeatures.watermark.bgColoroptSTRINGBackground color in hex format.
advancedFeatures.watermark.displayPositionoptCOMBO(default)Watermark position.
advancedFeatures.watermark.fontColoroptSTRINGText color in hex format.
advancedFeatures.watermark.opacityoptBOOLEANfalseEnable to set advancedFeatures.watermark.opacity. Off uses the model's default.
advancedFeatures.watermark.opacity_valueoptFLOAT0.100.1–1Watermark opacity.
advancedFeatures.watermark.textoptSTRINGWatermark text.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
settings.trueCFGScaleoptBOOLEANfalseEnable to set settings.trueCFGScale. Off uses the model's default.
settings.trueCFGScale_valueoptFLOAT0.00True Classifier-Free Guidance scale. Higher values increase prompt adherence at the cost of quality.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOJPGFile format for the generated image.
outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.

Outputs (1)

NameTypeDescription
imageIMAGE