Nodes/Comfy-Topaz-Photo/Topaz Photo AI
ComfyUI Node

Topaz Photo AI

Topaz Photo AI as a ComfyUI node — the paid polish step

By leoleelxh·Created about a year ago·Updated about a year ago· 17
Topaz Photo AI
  • images
  • IMAGE
tpai_exeC:\Program Files\Topaz Labs LLC\Topaz Photo AI\tpai.exe
output_formatjpg
quality95
overwriteFalse
output_prefixtopaz_

The bridge for people who already pay for Topaz

If you own Topaz Photo AI - the paid desktop app whose denoise, sharpen, face recovery and upscaling are still the benchmark the open ecosystem measures itself against - this node lets you call it as the finishing step of a ComfyUI workflow. The name sounds like it wraps an API, but it doesn't. No API, no key, no model downloads. It shells out to the tpai.exe command-line tool on your machine. That's the catch: this is not a free upscaler. It's a bridge from your free pipeline into commercial software you have to license yourself. Don't own a Topaz license? Skip this node.

How it actually works

The node saves your input IMAGE tensor to temporary PNG files, runs the Topaz CLI on them, then reads the results back and returns a fresh tensor. Under the hood the command looks roughly like:

"tpai.exe" "input.png" --output <tempdir> --format jpg --quality 95 --showSettings

Each call has a five-minute timeout and two retries. Topaz writes into a temp folder; the node hunts for the output file with a few heuristics (exact-name match first, then any newly-created file) and loads it back into ComfyUI. It cleans up after itself, and if anything goes wrong it quietly returns your original image instead of crashing - which is the single most confusing thing about this node, more on that below.

The design detail that matters most: Topaz's CLI doesn't accept enhancement parameters. The upscale factor, denoise strength, sharpen and face-recovery settings all come from the app's Autopilot configuration (Preferences → Autopilot), not from ComfyUI. Older versions of this pack tried exposing per-feature sliders, discovered they did nothing, and stripped them out in v1.0.0. Hunting for a "strength" widget and can't find one? That's not you missing something - that's the point.

The inputs that matter

  • images - the tensor to enhance. Feed it whatever your generation or VAE decode produced.
  • tpai_exe - the full path to the Topaz executable. The default points at the standard Windows install; on macOS it's the tpai binary inside the .app bundle.
  • output_format and quality - output file format and JPEG quality. Defaults of jpg / 95 are fine unless you need a lossless round-trip.
  • overwrite - whether to reprocess when an output file already exists. Leave it False unless you're explicitly re-running.
  • output_prefix (optional) - the prefix used for the intermediate filenames, which Topaz carries into the output names.

The output is a single IMAGE tensor, wired straight into a Preview or Save node. Tensor in, tensor out, so you can drop it between a VAE decode and a save with no extra plumbing.

Install

It's a plain custom node with no extra Python dependencies - just torch, PIL and numpy, all already in ComfyUI. Grab it from ComfyUI Manager by searching "Comfy-Topaz-Photo", or:

cd ComfyUI/custom_nodes
git clone https://github.com/leoleelxh/Comfy-Topaz-Photo

then restart ComfyUI. The real install work is on the Topaz side: a working, licensed Topaz Photo AI with its AI models downloaded. Verify from a terminal with tpai.exe --test before you blame the node.

The traps

  • Nothing looks enhanced? Autopilot is unset, or you expected ComfyUI sliders. Open the app, configure Autopilot, save. And remember the pass-through: a result that looks identical to the source is the node telling you it gave up. Check the console for [ComfyTopazPhoto] lines.
  • Slow on big images. Every image is a fresh CLI call plus a file round-trip, and Topaz loads its models per run. A 4K denoise can take a minute or two; past the five-minute timeout you'll see retries, then the silent pass-through.
  • "Cannot handle this data type" - a leftover tensor-format edge case; convert to standard RGB first if it persists.
  • Output file not found - permissions on the temp directory, or non-ASCII characters in the temp path (the README calls this out explicitly).

The pack's sibling node, "Test & Clean Topaz," runs --test and clears Topaz's cache - a useful first stop before debugging anything else.

Should you bother?

If you already pay for Topaz Photo AI, this is the clean way to make it your final polish step - the face recovery and denoise are still the things people keep that subscription for, and the free upscalers (SeedVR2, NVIDIA's RTX nodes) keep getting compared against Topaz rather than replacing it outright. If you don't own a license, this is a paid tool with a free workflow bolted on, and there's a whole family of genuinely free nodes that do the same job. Know which side you're on before installing.

CategoryComfyTopazPhoto

Inputs (6)

NameTypeDefaultDescription
imagesIMAGE
tpai_exeSTRINGC:\Program Files\Topaz Labs LLC\Topaz Photo AI\tpai.exe
output_formatCOMBOjpg5 options: jpg, png, tif, tiff, preserve
qualityINT950–100
overwriteCOMBOFalse2 options: True, False
output_prefixoptSTRINGtopaz_

Outputs (1)

NameTypeDescription
IMAGEIMAGE