RecraftAI Crisp Upscaler
Recraft's Crisp Upscaler makes things bigger and cleaner
- client
- image
- image
Recraft's "crisp upscale" is the conservative end of their two upscaler tools: it increases the resolution and makes the image sharper and cleaner, without inventing much new content. If you know the local upscaler landscape, this is closest in spirit to a good ESRGAN-family model - the "more pixels, and the pixels look better" job, not the "hallucinate detail that was never there" job.
And that distinction is the thing to actually understand, because the community has been arguing about it for years. Upscaling covers three different jobs that share nothing but a bigger output: more pixels (interpolation, safe), more detail (generative, will rewrite things), and more pixels over time (video, a whole other mess). This node sits firmly in the first bucket, which is exactly why it's the one you want when your source is already sharp and you just need it larger without the model freelancing.
The honest framing for a paid API node: everything this does, a local upscaler does for free and without network round-trips. The case for this node is convenience and Recraft's tuning - one node, no model to download, no VRAM, and a server-side result that tends to come back clean without the oversharpening artifacts cheap local models love to add. Use it when you're already in a RecraftAI workflow and want a clean upscale without bolting on a local pipeline. For a one-off, local 4x-UltraSharp or Real-ESRGAN is the free path.
The inputs and output
Required: client (from the RecraftAI Client node) and image (any IMAGE tensor). Optional: seed.
That's it. There's no scale factor, no output resolution, no strength - the API decides how much to upscale and you take what it gives. For users of local upscalers this is the biggest adjustment: you don't control the factor, you just get the result.
The output is an image tensor, bigger and sharper than the input. Same shape handling as the rest of the pack - send an image, get an image back, wire it into a save node or further processing.
How it works
The node serializes your image to PNG, multipart-POSTs it to Recraft's /images/crispUpscale endpoint with your API key, downloads the returned image, and converts it back into a ComfyUI IMAGE tensor. Server-side compute, no local model, paid per call - the standard deal for this pack.
Installing it
ComfyUI Manager: search "RecraftAI", install ComfyUI-RecraftAI, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/recraft-ai/ComfyUI-RecraftAI
cd ComfyUI-RecraftAI && pip install -r requirements.txt
Windows portable: .\python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-RecraftAI\requirements.txt. Only requests, torch, Pillow, numpy - no models to download. You need an API key from recraft.ai/profile/api with a positive API units balance.
Where people get burned
- No control over output size. The biggest surprise, especially if you're used to picking your upscale factor. You get Recraft's default and that's it.
- Wrong tool for soft sources. If the input is genuinely low-res or damaged, "crisp" is the wrong end of the tool - you want the generative one (RecraftAI Creative Upscaler) for that. Feeding a soft image here gives you a larger soft image.
- Cost. Paid per call, and unlike generation there's no seed-iteration benefit. Run it once, judge the result, move on.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| client | RECRAFTCLIENT | — | |
| image | IMAGE | — | |
| seedopt | INT | 00–2147483647 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |