NoobAI XL (custom model)
NoobAI XL without the vpred setup headache
- seedImage
- maskImage
- outpaint
- lora
- controlNet
- ipAdapters
- embeddings
- refiner
- ultralytics
- acceleratorOptions
- advancedFeatures.watermark.image
- image
NoobAI XL is the community fork that finished what Illustrious started - trained further on Danbooru plus e621 data, and famous for one thing: a vpred variant that fixed anime lighting. Dark scenes, dramatic rim light, night shots that don't look washed out - that's NoobAI's party trick, and it made the model the community's default anime base once Illustrious went paywalled. The problem has always been that vpred is finicky to run: it wants a specific sampler setup (CFG++ around 1.5-2.0, vpred-aware LoRAs, and on ComfyUI a ModelSamplingDiscrete node), and a wrong config silently ruins your lighting - the exact thing you switched for.
This is where RunwareArch_noobai earns its keep. It's the custom-model doorway to NoobAI in the Runware pack: type or search an AIR into the model field and the checkpoint runs in the cloud. The vpred plumbing - model sampling patches, correct sigma handling - is handled by Runware's side, not your graph. You skip the #1 way people ruin NoobAI output.
What you set
Required: model (default civitai:874216@1434498), positivePrompt, width, height (128–2048, step 8).
CFGScaletoggle +CFGScale_value- this is where NoobAI differs from Pony/Illustrious: vpred likes low CFG, around 1.5-2.0, and many users run CFG++ style sampling. If the default doesn't match your favorite local settings, nudge down, not up.clipSkip- tag-model standard, 1-2.vae- vpred checkpoints sometimes want a specific VAE; this field overrides the base.promptWeighting-compelorsdEmbeds.- Sockets:
lora(vpred-aware LoRAs matter here),controlNet,ipAdapters,embeddings,refiner,seedImage,maskImage,outpaint. negativePrompt,steps,scheduler,seed,numberResults(up to 20),outputFormat,outputQuality,advanced_json(hiresFix).
Output is image (IMAGE).
How it works
Standard Runware plumbing - request with the model AIR + taskType over REST, IMAGE back, cost on the title bar. The value-add is the same as every custom-model node: the architecture is known to the catalog, so the sampler handling is automatic. For NoobAI specifically, "automatic" is the whole point, because the manual vpred setup is where local users lose their evenings. Swap between eps and vpred checkpoints by changing the AIR and you're done - no graph surgery.
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. API key via Settings → Runware API key, RUNWARE_API_KEY, or runware auth login.
Troubleshooting
AIR typos fail requests - use the search button. If your lighting comes out flat despite using NoobAI, check you're actually on a vpred checkpoint (some catalog entries are the eps variant) and that CFGScale is in the low 1.5-2 range, not 7. And remember vpred-trained LoRAs on an eps checkpoint is a mix that quietly breaks - keep the variant consistent.
Inputs (45)
| Name | Type | Default | Description |
|---|---|---|---|
| model | STRING | civitai:874216@1434498 | AIR of any checkpoint of this architecture. Use the search button to browse the catalog. |
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| width | INT | 1024128–2048 | Width of the generated media in pixels. |
| height | INT | 1024128–2048 | Height of the generated media in pixels. |
| seedImageopt | IMAGE | — | |
| maskImageopt | IMAGE | — | |
| outpaintopt | RUNWARE_OUTPAINT | — | |
| loraopt | RUNWARE_LORA | — | |
| controlNetopt | RUNWARE_CONTROLNET | — | |
| ipAdaptersopt | RUNWARE_IPADAPTERS | — | |
| embeddingsopt | RUNWARE_EMBEDDINGS | — | |
| refineropt | RUNWARE_REFINER | — | |
| ultralyticsopt | RUNWARE_ULTRALYTICS | — | |
| acceleratorOptionsopt | RUNWARE_ACCELERATOROPTIONS | — | |
| advancedFeatures.watermark.imageopt | IMAGE | — | |
| negativePromptopt | STRING | Prompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1). | |
| seedopt | INT | 00–9223372036854776000 | Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range. |
| stepsopt | BOOLEAN | false | Enable to set steps. Off uses the model's default. |
| steps_valueopt | INT | 11–50 | Total number of denoising steps. Higher values generally produce more detailed results but take longer. |
| scheduleropt | COMBO | (default) | Scheduler to use for the diffusion process. |
| CFGScaleopt | BOOLEAN | false | Enable to set CFGScale. Off uses the model's default. |
| CFGScale_valueopt | FLOAT | 0.000–30 | Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt. |
| strengthopt | BOOLEAN | false | Enable to set strength. This setting has usage rules in this model, so it is off unless you enable it. |
| strength_valueopt | FLOAT | 0.800–1 | Strength of the transformation. Lower values result in more influence from the original input. |
| maskMarginopt | BOOLEAN | false | Enable to set maskMargin. Off uses the model's default. |
| maskMargin_valueopt | INT | 3232–128 | Extra context pixels around the masked region during inpainting. The model zooms into the masked area with these additional pixels for better integration. |
| clipSkipopt | BOOLEAN | false | Enable to set clipSkip. Off uses the model's default. |
| clipSkip_valueopt | INT | 00–4 | Number of layers to skip in the CLIP model. |
| vaeopt | STRING | VAE model identifier. Overrides the default VAE included with the base model. | |
| promptWeightingopt | COMBO | (default) | Syntax used for prompt weighting. |
| numberResultsopt | INT | 11–20 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| advancedFeaturesopt | BOOLEAN | false | Enable to set advancedFeatures. Off uses the model's default. |
| advancedFeatures.watermark.bgColoropt | STRING | Background color in hex format. | |
| advancedFeatures.watermark.displayPositionopt | COMBO | (default) | Watermark position. |
| advancedFeatures.watermark.fontColoropt | STRING | Text color in hex format. | |
| advancedFeatures.watermark.opacityopt | BOOLEAN | false | Enable to set advancedFeatures.watermark.opacity. Off uses the model's default. |
| advancedFeatures.watermark.opacity_valueopt | FLOAT | 0.100.1–1 | Watermark opacity. |
| advancedFeatures.watermark.textopt | STRING | Watermark text. | |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | JPG | File format for the generated image. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
| advanced_jsonopt | STRING | Optional JSON merged into the request. For: hiresFix |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |