Nodes/comfyui-budgetpixel/Clarity Upscaler (BudgetPixel)
ComfyUI Node

Clarity Upscaler (BudgetPixel)

When your image needs invented detail, not just bigger pixels

By budgetpixel-ai·Created about 17 hours ago·Updated about 12 hours ago· 3
Clarity Upscaler (BudgetPixel)
  • image
  • image
creativity0.35
dynamic6.00
prompt
resemblance0.60
scale_factor2.00
seed-1
force_rerunfalse

Most "upscalers" are liars in a flattering way - they resample and sharpen, adding zero new information. Clarity Upscaler is the other kind. It's a generative upscaler: as it enlarges, it invents plausible detail that was never in the source. That's the difference between "more pixels" and "more detail," and it's the difference between this node and the ESRGAN-class stuff you already have locally.

You'd pay for this when a small, soft, or slightly damaged image needs texture that isn't there - hair strands, fabric weave, pores, fine geometry. Locally that job belongs to SeedVR2 or SUPIR (see the modidex upscaling doc for the full taxonomy); this is the hosted version. No VRAM, no model download, but every run costs 25 credits and ships your image to BudgetPixel's server. If your source is already sharp and just needs to be bigger, a free local 4x ESRGAN model is still the correct answer. This node is for the "add detail" job.

How it works

Under the hood it's the standard BudgetPixel flow, same as every node in this pack: your image gets converted to a PNG and sent to the API (inline if it's small, pushed through POST /v1/uploads if not), a server-side job is created, the node polls the /upscales/{id} status endpoint, and when it flips to succeeded the result is downloaded back as a normal IMAGE tensor. The whole thing is asynchronous - you'll see a progress bar and the node help text says a generation typically takes about a minute.

The inputs that matter

Only one input is required: image. Everything else is optional, but two of them are the whole point of the node:

  • creativity (default 0.35, recommended 0.3–0.9) - how much new detail the model may invent. Crank it for dreamier, more painted texture; keep it low for conservative upscaling.
  • resemblance (default 0.6, range 0–3) - how closely the output must match your input. This is the brake pedal for creativity's accelerator.

The other knobs: scale_factor (2 or 4), dynamic (default 6, 3–9, an HDR-effect strength the author says behaves best mid-range), an optional prompt describing the image content to help the model invent plausible detail, and seed for reproducibility. There's also force_rerun on every node in this pack, which matters because API nodes otherwise try to cache their result - flip it when you genuinely want to re-spend credits.

The output is a single IMAGE, same socket your local save/upscale chain expects, so it drops straight into Save Image or another pass.

Install and the one thing you need first

This is a BudgetPixel API node - no weights, no GPU, but you do need a paid BudgetPixel plan and a key. Install via ComfyUI Manager (search "BudgetPixel") or:

cd ComfyUI/custom_nodes
git clone https://github.com/budgetpixel-ai/comfyui-budgetpixel.git
pip install -r comfyui-budgetpixel/requirements.txt

Restart ComfyUI, then set your key either as an environment variable or in a budgetpixel.json file inside the pack folder:

export BUDGETPIXEL_API_KEY=bpx_live_...
# or
echo '{"api_key": "bpx_live_..."}' > ComfyUI/custom_nodes/comfyui-budgetpixel/budgetpixel.json

The key is deliberately never a node widget, so it can't leak into workflow JSON you share.

Where people get burned

The classic failure is treating this like a free resize and discovering the credits left your plan. Generative upscaling is generation - it will rewrite textures and can soften faces if creativity is too high, the exact warning that applies to every AI restorer. If the result drifts from your input, lower creativity and raise resemblance before you blame the model. And if you get a 401, the API key isn't set; api_access_not_enabled means you're on a plan without API access; insufficient_credits means top up. All three are surfaced with the fix in the error message.

CategoryBudgetPixel/Upscale

Inputs (8)

NameTypeDefaultDescription
imageIMAGEImage to upscale. A public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads.
creativityoptFLOAT0.350–1000000000How much new detail the model may invent (0.3-0.9 recommended).
dynamicoptFLOAT6.000–1000000000HDR effect strength (3-9 for best results).
promptoptSTRINGOptional guiding prompt describing the image content — helps the model invent plausible detail.
resemblanceoptFLOAT0.600–1000000000How closely the result must match the input (0-3).
scale_factoroptFLOAT2.000–1000000000Upscale factor (2 or 4).
seedoptINT-1-1–2147483647Seed for reproducible results. Omit for random.
force_rerunoptBOOLEANfalse

Outputs (1)

NameTypeDescription
imageIMAGE