Stability Conservative Upscaler
Upscaling That Respects the Source (for a Price)
- image
- IMAGE
Upscaling comes in two fundamentally different jobs, and the community spends a lot of time arguing about them: adding pixels versus adding detail. The fast upscaler in this pack only does the first. StabilityUpscaleConservative does the second, and it's deliberately the well-behaved one. It hits Stability's hosted /v2beta/stable-image/upscale/conservative endpoint, and its whole personality is in that word - it regenerates the image at higher resolution while staying as faithful to the source as the API will allow.
That makes it the node to reach for when a free ESRGAN 4x is good enough for pixels but you need believable new detail: product shots, anything with a face you have to keep recognizable, or work where "the client's logo changed" would be a disaster. It's the hosted cousin of a hi-res fix pass - more resolution and plausible texture - but with the leash pulled tight. The cost: every call burns Stability credits, and conservative upscales are more expensive than the fast one.
How it works
You upload the image plus a prompt, and the model generates a higher-resolution version that respects the original. The prompt is the important input here - it tells the model what it's looking at so it knows what kind of detail to invent. Write a short, accurate caption ("a red ceramic teapot on a wooden table, warm afternoon light") rather than the flowery generation prompt you'd use for text-to-image. If you leave it vague, the upscaler improvises, and "respectful" has limits.
Creativity is the honesty dial: this node locks it to a narrow 0.2–0.5 band (default 0.35), because above that the output stops being an upscale and becomes a re-imagination. Below it, you get minimal added detail. There's no free lunch - inside the band you're choosing between "more faithful" and "more detail."
Inputs and outputs
- image - required. Anything from Load Image or a prior node.
- prompt - required, and the one beginners skip. Describe the contents, keep it accurate.
- creativity - 0.2–0.5, default 0.35. Higher invents more.
- negative_prompt, seed - the usual; empty / 0 is fine to start.
- style_preset - 18 named looks (anime, cinematic, photographic…) if you want the upscale restyled. Usually leave it at
none. - output_format - png / jpeg / webp.
- api_key - per-node key override.
Output is a single IMAGE, straight into Save Image.
Installing it
Same pack as every Stability node here - aicu-comfyui-stability-ai-api:
cd ComfyUI/custom_nodes
git clone https://github.com/aicuai/aicu-comfyui-stability-ai-api.git
cd aicu-comfyui-stability-ai-api
pip install -r requirements.txt
Or install it via ComfyUI Manager (search "aicu-comfyui-stability-ai-api") and restart. You need a paid Stability AI key: node api_key field, STABILITY_API_KEY env var, or the auto-generated config.ini in the pack folder.
Gotchas
The API validates inputs before generating: each side must be at least 64px, total pixels between 4,096 and ~9.4MP, and the aspect ratio has to sit between 1:2.5 and 2.5:1 - so a 3:1 panorama gets rejected, crop it first. And budget accordingly: this is one of the pricier calls in the pack. If the source is genuinely damaged (heavy noise, compression artifacts), conservative won't fix it - that's SUPIR territory locally, or the creative node here. But if you need "bigger, with detail, but the same image," this is the one you want.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| prompt | STRING | — | |
| api_keyopt | STRING | — | |
| negative_promptopt | STRING | — | |
| seedopt | INT | 00–4294967295 | — |
| creativityopt | FLOAT | 0.350.2–0.5 | — |
| style_presetopt | COMBO | none | 18 options: none, 3d-model, analog-film, anime, cinematic, comic-book, +12 |
| output_formatopt | COMBO | png | 3 options: png, jpeg, webp |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |