Nodes/ComfyUI-YogurtNodes/Magnific Image Upscale API
ComfyUI Node

Magnific Image Upscale API

The paid upscaler, wired straight into your graph

By yogurt7771·Created 2 years ago·Updated 9 days ago· 1
Magnific Image Upscale API
  • image
  • image
api_key
base_url
modecreative
scale_factor2x
optimized_forstandard
prompt
creativity0
hdr0
resemblance0
fractality0
engineautomatic
sharpen50
smart_grain7
ultra_detail30
filter_nsfwfalse
timeout60
task_timeout900
poll_interval3.0
retry_count3
proxy_url
extra{}

Magnific is the commercial upscaler that open-source projects like SUPIR and clarity-upscaler have been positioning against for years - the expensive subscription that "just works" and makes everything look borderline photoreal. If you already pay for a Magnific API key, this node drops that service into a ComfyUI workflow: you feed it an image, it calls the Magnific cloud API, waits for the job to finish, and hands back an upscaled IMAGE tensor like any other node. Zero VRAM used, zero local models, and the output feeds straight into the rest of your graph.

That last part is the whole point. People have been running Magnific as a separate web step and stitching results back in manually for ages. This node makes the upscale a first-class graph operation - final hero shot straight out of the sampler, upscaled in the cloud, then composited, sharpened, or saved without leaving ComfyUI. The community's running joke about Magnific is the price (threads about "how do I mimic Magnific for free" show up every few months, and the answer is always SUPIR or SeedVR2), so the honest framing is: this is for people who've already decided the subscription is worth it and want it in-graph.

How it works

The node submits your image as base64 to the Magnific API and polls until the job completes - it's async, not a single blocking call. There are two modes. creative hits /v1/ai/image-upscaler and takes the generative params: scale_factor (2x/4x/8x/16x), optimized_for (portraits, landscapes, 3D renders, and friends), an optional prompt, and the creativity / hdr / resemblance / fractality sliders plus engine. precision hits the precision endpoint and instead takes sharpen, smart_grain, and ultra_detail. It handles the boring operational stuff too: retries on 429s and 5xx with backoff (retry_count), a task_timeout for the whole job (900s default), a poll_interval (3s), per-request timeout, and optional proxy_url. The extra field accepts arbitrary JSON for newly released API fields like webhook_url.

The inputs that matter

  • image - the batch to upscale.
  • api_key - required, though an empty value still fires the request and lets the API return its own auth error.
  • mode - creative vs. precision. This determines which whole set of sliders is meaningful, so pick it first.
  • scale_factor / optimized_for - the two you'll tune most in creative mode.
  • timeout / task_timeout - upscale jobs take real time; leave the defaults until a job actually times out.

One output: image - the upscaled batch, tensor-ready.

Installing it

It's part of ComfyUI-YogurtNodes. Install via ComfyUI Manager (search "ComfyUI-YogurtNodes") or:

cd ComfyUI/custom_nodes
git clone https://github.com/yogurt7771/ComfyUI-YogurtNodes.git
cd ComfyUI-YogurtNodes
pip install -r requirements.txt

Restart ComfyUI; it's under "Yogurt Nodes". The only "model download" here is money - you need a Magnific API key, which is a paid subscription.

Where people get burned

The expensive trap: every run costs you API credits, and a workflow that re-runs on every queue item will quietly burn through a budget. Consider gating it so you only upscale when needed. Second, mode confusion - setting creative-style sliders in precision mode (or vice versa) does nothing, because the other mode's fields simply aren't sent. And third, patience: default task_timeout is 15 minutes and high-scale creative jobs can genuinely take a while, so don't mistake a slow job for a hang. If you don't already have a Magnific key, the free local answers (SeedVR2, SUPIR) are the smarter first stop - this node is a convenience for paying subscribers, not a way around the cost.

CategoryYogurtNodes/LLM

Inputs (22)

NameTypeDefaultDescription
imageIMAGEInput IMAGE batch to upscale.
api_keySTRINGMagnific API key. Empty value still sends the request and lets the API return its own auth error.
base_urlSTRINGMagnific API base URL. Empty uses https://api.magnific.com.
modeCOMBOcreativecreative uses /v1/ai/image-upscaler; precision uses /v1/ai/image-upscaler-precision.
scale_factorCOMBO2xOfficial creative upscale scale_factor parameter.
optimized_forCOMBOstandardOfficial creative optimized_for parameter.
promptSTRINGOfficial creative prompt parameter.
creativityINT0-10–10Official creative creativity parameter.
hdrINT0-10–10Official creative hdr parameter.
resemblanceINT0-10–10Official creative resemblance parameter.
fractalityINT0-10–10Official creative fractality parameter.
engineCOMBOautomaticOfficial creative engine parameter.
sharpenINT500–100Official precision sharpen parameter.
smart_grainINT70–100Official precision smart_grain parameter.
ultra_detailINT300–100Official precision ultra_detail parameter.
filter_nsfwBOOLEANfalseOfficial filter_nsfw parameter.
timeoutINT601–3600Per HTTP request timeout in seconds.
task_timeoutINT9001–86400Maximum time to wait for each API task in seconds.
poll_intervalFLOAT3.00.1–60Seconds between task status polls.
retry_countINT31–10Retry attempts for retryable HTTP failures, including 429.
proxy_urlSTRINGOptional proxy URL.
extraoptSTRING{}Extra official or newly released Magnific JSON fields, such as webhook_url.

Outputs (1)

NameTypeDescription
imageIMAGE