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

Stable Diffusion 1.5 (custom model)

Any CivitAI SD 1.5 checkpoint, on Runware's GPUs

By Runware·Created 2 years ago·Updated about a month ago· 140
Stable Diffusion 1.5 (custom model)
  • seedImage
  • maskImage
  • outpaint
  • lora
  • controlNet
  • ipAdapters
  • embeddings
  • ultralytics
  • acceleratorOptions
  • advancedFeatures.watermark.image
  • image
modelcivitai:4384@128713
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

Stable Diffusion 1.5 is the model that refuses to die - four years on it still has the largest checkpoint library in the ecosystem, and its 10,000+ community fine-tunes cover every niche from anime to architectural rendering. This node is how you use that entire library without downloading any of it: it's an architecture node, which means the model input takes the AIR of any SD 1.5 checkpoint in Runware's catalog and runs it in the cloud. The default even points at a legend - civitai:4384@128713, which is DreamShaper 8.

That "custom model" framing is the whole point of the Runware/Custom models category: one node per architecture (SD 1.5, SDXL, FLUX, and so on), model swapped at runtime via the search button. You don't install checkpoints; you rent them per generation.

The inputs that matter

  • model (required, STRING, default civitai:4384@128713): the AIR of any SD 1.5 checkpoint. Use the search button to browse Runware's catalog - that's the part beginners miss, because the box looks like it wants a URL and actually wants a model ID.
  • positivePrompt and negativePrompt (multiline): the usual pair. Worth knowing SD 1.5's CLIP encoder has a hard 77-token limit per prompt, so keep it tight - this isn't a T5 model.
  • width / height (128–1024, step 8): SD 1.5 is 512-native, so the 1024 cap is generous and results up there get soft unless you're doing hires work. Keep the default 1024 only if you're using advanced_json for a hires fix - the tooltip says that's what it's for.
  • steps, CFGScale, strength, maskMargin, clipSkip: all gated behind enable toggles. Flip one on to reveal its value. That's the pack's way of leaving the model's defaults alone unless you opt in.
  • scheduler (76 options), promptWeighting (compel / sdEmbeds), vae: the SD1.5-era knobs, all present and correct. promptWeighting: compel gives you A1111-style (word:1.2) syntax.
  • Feature sockets: seedImage, maskImage (img2img/inpaint), plus outpaint, lora, controlNet, ipAdapters, embeddings, ultralytics, watermark, acceleratorOptions - each takes a Runware builder's typed output. Stack them freely.
  • numberResults: up to 20 - the biggest of any node in the pack, because SD 1.5 is cheap. This is the node to lean on for batch variation.

Output is a native image (IMAGE).

How it works

Same pack mechanism, one twist: the model widget overrides the default on every run, and the builders you wire in get stripped down to exactly the fields this architecture accepts before the request goes out. Your prompt, dims and any features are packed into a REST request; the checkpoint is loaded on Runware's side; the image comes back and lands as an IMAGE tensor in your graph.

Install and gotchas

Pack-wide install: ComfyUI Manager → search Runware, or git clone https://github.com/Runware/ComfyUI-Runware into custom_nodes + pip install -r requirements.txt, restart, add a key (Settings → Runware API key, RUNWARE_API_KEY, or runware auth login).

Where people get burned: pasting a CivitAI page URL into model instead of an AIR (use the search button), running prompts past 77 tokens and watching them silently truncate, and treating 1024×1024 as free when SD 1.5's sweet spot is 512. And because it's a paid API, numberResults: 20 is a deliberate spending choice - fun, but deliberate. For a huge, battle-tested checkpoint ecosystem with zero disk footprint, this is the node.

CategoryRunware/Custom models

Inputs (44)

NameTypeDefaultDescription
modelSTRINGcivitai:4384@128713AIR 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–1024Width of the generated media in pixels.
heightINT1024128–1024Height of the generated media in pixels.
seedImageoptIMAGE
maskImageoptIMAGE
outpaintoptRUNWARE_OUTPAINT
loraoptRUNWARE_LORA
controlNetoptRUNWARE_CONTROLNET
ipAdaptersoptRUNWARE_IPADAPTERS
embeddingsoptRUNWARE_EMBEDDINGS
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