Civitai Image Upscaler
The cloud upscaler for people with no GPU to upscale on
- image
- model
- api_config
- blob
- workflow_id
- raw_json
Upscaling is the most boring, most necessary step in a serious workflow, and it's the one place this pack makes an argument even for people with a working GPU. The Civitai Image Upscaler sends your image to Civitai's farm, runs their upscaler, and hands back a bigger image - no models to download, no VRAM budget, no tiling dance. If you've ever spent an afternoon fighting a SUPIR install only to watch it OOM at 8K, the appeal is obvious.
The honest framing
The KB's upscaling doc puts local tools - SUPIR, SeedVR2, tiled diffusion - at the top of the tree, and if you have the hardware they're still the quality ceiling. But this node is the "no GPU at all" or "I don't want to babysit a 20-minute tiled pass" option. The other context that matters: the whole Civitai pack is the official path for calling the Orchestration API from ComfyUI, so this upscaler is the same one Civitai offers on its own site, metered in Buzz.
Inputs and outputs
image(required) - anIMAGEtensor, but the tooltip is worth reading: "Either A URL, A DataURL or a Base64 string." So you can feed it a loaded image from a Load Image node or a URL string - the node accepts both. That's more flexible than most local upscalers.model- aCIVITAI_AIRsocket. Optional; wire a Civitai Model Selector here to pick a specific upscaler checkpoint (the good Civitai upscalers live in the Loaders → Browse grid). Leave it empty for the default.number_of_repeats- 1–3, default 1. Each repeat doubles resolution, so 1 = 2x, 2 = 4x, 3 = 8x. This is the knob that decides cost: three repeats is eight times the pixels and a correspondingly bigger bill, and quality gains fall off hard after 2x.
Outputs: blob (IMAGE - the upscaled result, wire straight into a Save Image or a detailer), plus workflow_id and raw_json for debugging and cost checks. Note there's no errors output on this one; failures surface through raw_json and the node's error message.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt
Or ComfyUI Manager → "Civitai Comfy Nodes" → Install → restart. Then authenticate: CIVITAI_API_TOKEN env var (headless) or the sidebar connect panel.
Gotchas
The pack is early preview (v0.4.x as of mid-2026) and the launch reception was "lots of bugs and generation times are super slow." Cloud jobs queue; a big 8x repeat on a high-res source can take a while and might time out - retry rather than assuming you broke it.
The trap: upscaling in the cloud means your image leaves the machine, and per-pixel work is exactly where cloud billing sneaks up on you. Two repeats of a 1024 image is a 4K output - fine. Three repeats to 8K is where the Buzz meter starts to hurt. For a one-off hero image it's great; for batch upscaling a folder, your local rig wins on cost alone. That's the decision, and it's the same one every cloud service makes you have: convenience per image vs. your own electricity.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | Either A URL, A DataURL or a Base64 string | |
| modelopt | CIVITAI_AIR | The upscaler model to use (AIR URN format). | |
| number_of_repeatsopt | INT | 11–3 | Number of times to repeat the upscale operation (1-3). Each repeat doubles the resolution. |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| blob | IMAGE | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |