Nodes/KIE.ai Nodes Next/Recraft - Crisp Upscale
ComfyUI Node

Recraft - Crisp Upscale

A Cloud Upscaler That Won't Invent Faces

By felipederosilva·Created 2 months ago·Updated 2 days ago· 3
Recraft - Crisp Upscale
    • image
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄imagehttps://file.aiquickdraw.com/custom-page/akr/section-images/1757169577325ijj8vwvt.jpg►
    ◄timeout_seconds1200►
    ◄callback_url►

    What it is

    A hosted detail-preserving upscale from Recraft, reachable as one node in your graph. No ESRGAN weights, no SeedVR2 download, no VRAM. You hand it an image, KIE calls Recraft's crisp-upscale endpoint, and you get a bigger image back on an IMAGE socket.

    The reason to care lands on the distinction the upscaling hierarchy makes: pixel upscalers add no new content and therefore cannot hallucinate, while generative upscalers invent detail and rewrite identity along the way. Everyone's rule of thumb is "give a face its own pass" for exactly that reason. This node sits in the non-generative camp as far as intent goes - it's meant to make an image crisper, not to re-imagine it - which makes it a sane choice for product shots, logo boards and anything where a hallucinated pore would be a problem. Recraft as a lab is the design-focused niche: leaderboard-topping, moderately censored, and the interesting one in the room for SVG output rather than photorealism.

    The input is a URL, and that's the whole gotcha

    Look closely at the panel and you'll notice this node's required field is a STRING, not an IMAGE socket: image, defaulting to a sample file URL, with the author's own tooltip reading "Image to upscale (File URL after upload, not file content)" - accepted types JPEG/PNG/WebP, max 10 MB.

    That's not the pack being lazy; the node only converts a field to a native socket when the field name follows the image-URL convention, and this endpoint calls its parameter plain image. So you wire it like this:

    1. KIE • Upload Image takes your IMAGE and returns first_url.
    2. Connect first_url → this node's image string field.

    That's one extra node, and it's the step people miss. Pasted-in URLs from anywhere public work too - the upload node is just how you get a local image up there.

    Beyond that you get timeout_seconds (1200 by default, up to 7200) and callback_url, which stays empty for normal ComfyUI use. Outputs are the pack standard: image, url, all_urls_json, task_id, raw_json, credits_consumed, credits_left.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
    pip install -r ComfyUI-KIE-Nodes-Next/requirements.txt
    

    Then restart ComfyUI and set your key once at Settings → KIE.ai Nodes Next → Connection. The pack validates the key before saving it, masks it in the UI, and keeps it out of workflow JSON. On Windows there's a one-click installer in the repo's dist/ folder if you'd rather double-click than type.

    When this is the wrong tool

    If you just need more pixels from an already-sharp file, a Lanczos resize or a local ESRGAN pass is free and instant, and the community's numbers on that cheap rung have actually been rising rather than fading. Paying per call to upscale a sharp image is spending money to do what your CPU does in 200ms.

    Where this earns its keep: you're on a machine that can't run the generative upscalers decently, the file already looks good and you want it print-sized without new textures, or you need a consistent hosted step in a pipeline you're running across several machines. Also worth flagging - a "crisp" upscale won't rescue a soft or out-of-focus source, because there's no detail to sharpen; the standard fix there is to downscale first and rebuild from a sharper-relative base. And watch the upload ceiling: 10 MB per file means a full-resolution camera export can bounce before the upscale even starts.

    CategoryKIE Next/Image/Recraft

    Inputs (3)

    NameTypeDefaultDescription
    imageSTRINGhttps://file.aiquickdraw.com/custom-page/akr/section-images/1757169577325ijj8vwvt.jpgImage to upscale (File URL after upload, not file content; Accepted types: image/jpeg, image/png, image/webp; Max size: 10.0MB)
    timeout_secondsoptINT120030–7200—
    callback_urloptSTRINGOptional KIE callback URL. Leave empty for normal ComfyUI use.

    Outputs (7)

    NameTypeDescription
    imageIMAGE—
    urlSTRING—
    all_urls_jsonSTRING—
    task_idSTRING—
    raw_jsonSTRING—
    credits_consumedFLOAT—
    credits_leftFLOAT—