Nodes/Runware.ai ComfyUI Inference API Integration/Stable Diffusion XL (custom model)
ComfyUI Node

Stable Diffusion XL (custom model)

Run any SDXL checkpoint without downloading a byte

By Runware·Created 2 years ago·Updated about a month ago· 140
Stable Diffusion XL (custom model)
  • seedImage
  • maskImage
  • outpaint
  • lora
  • controlNet
  • ipAdapters
  • embeddings
  • refiner
  • photoMaker
  • ultralytics
  • acceleratorOptions
  • advancedFeatures.watermark.image
  • image
modelcivitai:101055@128078
positivePrompt
width1024
height1024
negativePrompt
seed0
stepsfalse
steps_value1
scheduler(default)
CFGScalefalse
CFGScale_value0.00
strengthfalse
strength_value0.80
maskMarginfalse
maskMargin_value32
clipSkipfalse
clipSkip_value0
vae
promptWeighting(default)
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
ttlfalse
ttl_value60
outputFormatJPG
outputQuality95
advanced_json

This is the node that turns "which checkpoint should I use?" from a download decision into a search box. RunwareArch_sdxl is a custom-model node: it hosts the whole SDXL architecture, and the model field takes any SDXL checkpoint's AIR - civitai:101055@128078 by default - so you can swap community fine-tunes without downloading a single weight file. It's Runware's answer to the fact that the SDXL ecosystem is thousands of checkpoints and your hard drive is not.

If that sounds niche, think about who this is for. You don't have a GPU, or you're on a laptop, or you just don't want to manage 40GB of SDXL variants. You browse the model catalog (the node has a search button), pick a checkpoint, and it runs in the cloud like it was local. The SDXL fine-tune ecosystem - anime, realism, illustration - is all reachable through one node, and the sockets for LoRA, ControlNet, IP-Adapter, embeddings, refiner, and PhotoMaker are right there to stack on top.

How it works

The node sends an imageInference request with whatever AIR is in the model field. Your IMAGE inputs (seed image, mask) go up as base64, the sampling parameters you set are passed through, and the finished image returns as a native IMAGE tensor. Every feature socket - lora, controlNet, ipAdapters, embeddings, refiner, photoMaker - is a typed input that wires to the pack's builder nodes, which is how you chain, say, a ControlNet edge map plus a LoRA in one request.

The inputs that matter

  • model (required) - the AIR string, default civitai:101055@128078. Use the search button to browse the catalog instead of typing from memory.
  • positivePrompt (required) - plus negativePrompt, which SDXL still rewards.
  • width / height - 1024×1024 defaults, 128–2048, step 8. SDXL likes 1024-era resolutions; straying far degrades anatomy.
  • steps / CFGScale - interesting twist: both are off by default, gated behind a checkbox each. The node deliberately lets the model decide unless you intervene. Enable and set steps_value / CFGScale_value when you want control.
  • seedImage / maskImage - img2img and inpainting, with maskMargin for context pixels.
  • clipSkip and vae - the classic SDXL tinkering pair; vae overrides the checkpoint's bundled VAE with an AIR.
  • advanced_json - documented escape hatch for hiresFix.

Installing it

Install the pack, not the checkpoint. 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

Key from runware.ai/api-keys → ComfyUI Settings → Runware API key (or RUNWARE_API_KEY).

Where people get burned

  • Every checkpoint is a different bill. Cloud inference prices by compute; a heavy 50-step run on a big SDXL merge costs more than a quick one. The title bar shows each run's price - that's your feedback loop.
  • Not every checkpoint is on Runware. The search button shows the catalog; an AIR that 404s means that specific CivitAI file isn't hosted. Pick from what's there.
  • The gated defaults are a feature. steps and CFGScale being off by default means the request goes out without them and the model fills in sensible values. If you set them, set them on purpose - a 0 CFGScale_value with the gate on sends guidance that may surprise you.
  • Feature sockets need builders. controlNet doesn't accept a raw image; it takes the pack's ControlNet builder output (like the Canny preprocess node's edge map).

RunwareArch_sdxl is the node that finally makes "try twenty SDXL checkpoints" a twenty-minute experiment instead of a twenty-gigabyte download spree. It's the most flexible image node in the pack.

CategoryRunware/Custom models

Inputs (46)

NameTypeDefaultDescription
modelSTRINGcivitai:101055@128078AIR of any checkpoint of this architecture. Use the search button to browse the catalog.
positivePromptSTRINGText prompt describing elements to include in the generated output.
widthINT1024128–2048Width of the generated media in pixels.
heightINT1024128–2048Height of the generated media in pixels.
seedImageoptIMAGE
maskImageoptIMAGE
outpaintoptRUNWARE_OUTPAINT
loraoptRUNWARE_LORA
controlNetoptRUNWARE_CONTROLNET
ipAdaptersoptRUNWARE_IPADAPTERS
embeddingsoptRUNWARE_EMBEDDINGS
refineroptRUNWARE_REFINER
photoMakeroptRUNWARE_PHOTOMAKER
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.
stepsoptBOOLEANfalseEnable to set steps. Off uses the model's default.
steps_valueoptINT11–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.000–30Guidance 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.
clipSkipoptBOOLEANfalseEnable to set clipSkip. Off uses the model's default.
clipSkip_valueoptINT00–4Number of layers to skip in the CLIP model.
vaeoptSTRINGVAE model identifier. Overrides the default VAE included with the base model.
promptWeightingoptCOMBO(default)Syntax used for prompt weighting.
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.
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.
advanced_jsonoptSTRINGOptional JSON merged into the request. For: hiresFix

Outputs (1)

NameTypeDescription
imageIMAGE