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

Topaz Image Upscale API

The paid upscaling baseline, as a cloud call in your workflow

By yogurt7771·Created 2 years ago·Updated 9 days ago· 1
Topaz Image Upscale API
  • image
  • image
api_key
base_url
model_typestandard
model_nameStandard V2
scale_factor2.0
output_width0
output_height0
crop_to_fillfalse
output_formatpng
face_enhancementauto
face_enhancement_strength-1.00
face_enhancement_creativity-1.00
subject_detectionauto
sharpen-1.00
denoise-1.00
fix_compression-1.00
strength-1.00
prompt
autopromptauto
creativity-1
texture-1
detail-1.00
timeout60
task_timeout900
poll_interval3.0
retry_count3
proxy_url
extra{}

Topaz is the paid baseline of the upscaling world - the desktop software people benchmark open models against, and the thing the community keeps saying open nodes are finally displacing. Topaz Image Upscale API (Yogurt Nodes) is that same company's cloud API wrapped as a ComfyUI node: upload an image, wait for the cloud job, get an upscaled IMAGE tensor back. If you have a Topaz Labs API key and want their model quality inside a graph instead of as a separate desktop step, this is the node.

The honest context: Topaz's image upscalers are good, but they're not magic, and the free local ecosystem has caught up hard - the KB's own upscaling doc notes open approaches (SeedVR2, and even an NVIDIA RTX node whose author dropped his Topaz subscription over it) are the direction of travel in 2026. Where this node earns its place is the same place any cloud API does: no local VRAM, no model downloads, consistent results on anything you throw at it, and it runs on hardware that couldn't dream of local upscaling. It's a "paying subscriber wants it in-graph" tool, not a shortcut around the cost.

How it works

It uploads your image to the Topaz Image API as multipart form data and polls the async job until it finishes, with the same operational scaffolding as the pack's Magnific node - retry_count with backoff on 429/5xx, task_timeout, poll_interval, per-request timeout, and proxy_url. The model_type switch picks the endpoint: standard hits /enhance/async with the classic model names (Standard V2, Low Resolution V2, High Fidelity V2, Redefine, Recovery V2, Standard MAX), while generative hits /enhance-gen/async and unlocks the prompt/creativity/texture/detail family. Output dimensions come from output_width/output_height, or are computed from scale_factor when those are 0. -1 defaults on the tuning fields (sharpen, denoise, fix_compression, face enhancement, etc.) simply omit that field from the request so the API uses its own default - a clever way to keep the node future-proof.

The inputs that matter

  • image - the batch to upscale.
  • api_key - required; empty still fires the request and returns the API's own auth error.
  • model_type - standard vs. generative; this decides which model names and which params apply.
  • model_name - the actual upscaler (Standard V2 is the safe default).
  • scale_factor / output_width / output_height - size control; set explicit pixels to lock dimensions instead of scaling.

One output: image - the upscaled tensor batch, ready for the rest of your graph.

Installing it

It ships in 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". You'll also need a Topaz Labs API key - a paid account.

Where people get burned

Same financial trap as any paid API node: every run costs credits, and auto-re-running workflows will drain a balance faster than you'd expect. Gate the upscale behind a point in the graph where it only fires once. Second, don't fight the -1 convention - the tuning fields are deliberately set to "omit" by default, so if you change one, you've opted that image into Topaz's full auto-pipeline; that's usually fine, just know it. And if you're choosing between this and the open local upscalers, remember the actual quality gap has narrowed a lot - this is a convenience purchase, not a quality necessity.

CategoryYogurtNodes/LLM

Inputs (29)

NameTypeDefaultDescription
imageIMAGEInput IMAGE batch to upscale.
api_keySTRINGTopaz API key. Empty value still sends the request and lets the API return its own auth error.
base_urlSTRINGTopaz Image API base URL. Empty uses https://api.topazlabs.com/image/v1.
model_typeCOMBOstandardstandard uses /enhance/async; generative uses /enhance-gen/async.
model_nameSTRINGStandard V2Official Topaz model name, such as Standard V2, Low Resolution V2, High Fidelity V2, Redefine, Recovery V2, or Standard MAX.
scale_factorFLOAT2.00.1–16Used to compute official output_width/output_height when those fields are 0.
output_widthINT00–32000Official output_width. 0 computes width from scale_factor.
output_heightINT00–32000Official output_height. 0 computes height from scale_factor unless only output_width is set.
crop_to_fillBOOLEANfalseOfficial crop_to_fill parameter.
output_formatCOMBOpngOfficial output_format parameter.
face_enhancementCOMBOautoOfficial face_enhancement parameter. auto omits the field.
face_enhancement_strengthFLOAT-1.00-1–1Official face_enhancement_strength, -1 omits the field.
face_enhancement_creativityFLOAT-1.00-1–1Official face_enhancement_creativity, -1 omits the field.
subject_detectionCOMBOautoOfficial subject_detection parameter. auto omits the field.
sharpenFLOAT-1.00-1–1Official sharpen parameter, -1 omits the field.
denoiseFLOAT-1.00-1–1Official denoise parameter, -1 omits the field.
fix_compressionFLOAT-1.00-1–1Official fix_compression parameter, -1 omits the field.
strengthFLOAT-1.00-1–1Official strength parameter for applicable models, -1 omits the field.
promptSTRINGOfficial prompt parameter for applicable generative models.
autopromptCOMBOautoOfficial autoprompt parameter. auto omits the field.
creativityINT-1-1–6Official creativity parameter for applicable models, -1 omits the field.
textureINT-1-1–5Official texture parameter for applicable models, -1 omits the field.
detailFLOAT-1.00-1–1Official detail parameter for applicable models, -1 omits the field.
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 Topaz form-data fields as JSON.

Outputs (1)

NameTypeDescription
imageIMAGE