Provider: Topaz Labs
Topaz Labs — your Topaz credits, straight from the graph
- provider
Topaz is the paid baseline everyone benchmarks against. In 2026's first half it turned up in 223 upscaling threads - more than SUPIR and ESRGAN combined - and it's still the reference point people measure open restorers against. What changed is the direction of travel: a May 2026 node wrapping NVIDIA's RTX video modes got its author to say he no longer needed a Topaz subscription. So this is the node you reach for when you're keeping Topaz, and want it inside a workflow instead of in a separate app.
Provider: Topaz Labs supplies the connection for the pack's two Topaz nodes: Topaz Upscale (conservative, precision-style) and Topaz Generative Upscale (the one that invents detail). It's the only provider that serves those routes, so both nodes default to it - wire it in when you want to control the key, the endpoint, or how long a job is allowed to run.
What it does
Nothing until you connect it. On execute it emits a single provider value that the upscale node consumes; the submit-and-poll traffic to the Topaz Image API happens downstream. The default base is https://api.topazlabs.com/image/v1, overridable via base_url if you're behind a regional endpoint or a relay.
The inputs
api_key- empty means "use"topaz"fromapi_key.json, thenTOPAZ_API_KEY".base_url- leave empty for the default.task_timeout- and this is the field worth understanding. Default 900 seconds, range 30 to 7200. Topaz jobs are asynchronous: the pack submits your image, then polls until the task finishes. This is the ceiling on that whole wait.timeout- the per-HTTP-request timeout,0meaning no limit. So there are two timeouts and they do different jobs:timeoutgoverns one request,task_timeoutgoverns the entire upscale. A 4x generative pass on a large source can genuinely take minutes, which is why the job ceiling defaults as high as it does.proxy_url- HTTP or SOCKS proxy.
Installing
ComfyUI Manager, search the pack title; or:
cd ComfyUI/custom_nodes
git clone https://github.com/yogurt7771/ComfyUI-YogurtNodes.git
cd ComfyUI-YogurtNodes && pip install -r requirements.txt
Restart. The node sits in YogurtNodes/LLM/Providers; runtime display names carry the pack's " (Yogurt Nodes)" suffix, so the browser entry is "Provider: Topaz Labs (Yogurt Nodes)". Key file:
# custom_nodes/ComfyUI-YogurtNodes/yogurt_nodes/llm/api_key.json
{ "topaz": "your-topaz-api-key" }
Note what you don't need here: no model files, no CUDA, no VRAM. The whole point of the API route is that a 6GB laptop renders a 16x upscale. It's metered per call instead, so the machine cost moves to the invoice.
Where people get burned
Timeouts are the common one, and they're mostly self-inflicted: the generative models on a 4x pass, with a handful of retries configured on the node, is a slow chain of calls. Raise task_timeout before you raise retry_count, or you'll pay for the same job several times.
The other thing worth saying plainly was already true before this node existed: a Topaz API key is a credential that gets shipped to a third party by design, and Topaz's service applies Topaz's own content filtering. If the graph you're calling from is doing things a commercial service would rather not host, that's a policy limit, not a bug you can configure around. Keep your key out of the workflow file - put it in api_key.json - and remember that an API node's whole purpose is the phone call, so it's the category where you read the code before the first run.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | Leave empty to use 'topaz' from api_key.json, then the TOPAZ_API_KEY environment variable. | |
| base_url | STRING | API base URL; leave empty for the default endpoint. | |
| task_timeout | INT | 90030–7200 | Maximum time to wait for the upscale task. |
| proxy_url | STRING | Proxy URL, e.g. http://127.0.0.1:7890 or socks5://127.0.0.1:1080. | |
| timeout | INT | 00–3600 | Request timeout in seconds; 0 means no limit. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| provider | YOGURT_LLM_PROVIDER | — |