Topaz Parameter Estimate
Let Topaz set its own sliders — then read the numbers it picked
- images
- engine
- params
- report
Every Topaz upscale model has tuning parameters - noise, details, preblur, compression - and most people either leave them at zero or guess. Topaz Video itself has a "let the app decide" mode that analyses your footage and picks values. Topaz Parameter Estimate exposes that same analysis as a ComfyUI node, runs it over your batch with tvai_pe, and hands you back two things: the tuning it recommends, ready to plug straight into an upscale node, and a human-readable report so you can see exactly what it decided and why.
The reason to use this instead of just leaving the upscaler's own estimate option on is that you get three things the black-box path doesn't give you: you see the numbers, you can reuse one estimate across several passes instead of re-analysing each time, and you can analyse a sample (max_frames) rather than the whole clip. For a long, varied clip, that last one is the difference between "analyse for a while" and "analyse once on a representative slice".
How it works
The node runs the parameter-estimation model over your frames and aggregates a per-frame guess into one set of parameters.
model-prap-*variants estimate the full parameter set;nap-*concentrates on noise and artefacts. For most material the full estimate is what you want.aggregation- how per-frame estimates get combined.median(default) ignores outliers like a cut or a single black frame;meanfollows them. The default is the right one - a hard cut in a clip shouldn't drag every slider with it.max_frames- analyse only the first N frames; 0 (default) uses the whole batch. Estimation is fast, but on very long batches a sample is usually enough.
The report output shows you the spread as well as the value - something like noise 0.0460 (range +0.0174 … +0.0549). That range is the honest part: a wide spread means the footage changes character partway through and one setting genuinely doesn't fit the whole clip. Median aggregation keeps a single weird frame from lying to you, but if every value has a huge range, that's real information about your source.
Outputs
Two outputs, and people often orphan one:
params(typeTOPAZ_UPSCALE_PARAMS) - wire this into theparamsinput of any upscale node: Topaz Video Upscale, Topaz Image Upscale, even the deinterlace and motion-deblur nodes that take tuning.report(STRING) - the human-readable breakdown. Feed it into any text preview node (or just look at it in the node) to read the numbers.
Install
It's part of the one pack, so:
git clone https://github.com/donangel85/ComfyUI-TopazVideoLocal.git
from ComfyUI's custom_nodes folder, restart ComfyUI, done - no pip install beyond the numpy every ComfyUI already has. ComfyUI Manager finds it by searching "TopazVideoLocal". Underneath: Windows and a licensed, signed-in Topaz Video installation with the estimation model weights on disk.
Common issues
If the node reports no usable installation, point install_path on the Engine Settings node at your Topaz folder; if the model shows [download required], enable allow_model_download there or run it once in the Topaz app. And the recurring beginner mistake: wiring the report string into your video output instead of the params socket. You want params into the upscaler and report into a preview.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| model | COMBO | <no Topaz Video installation found> | prap-* estimates the full parameter set; nap-* concentrates on noise and artefacts. |
| aggregation | COMBO | median | How per-frame estimates are combined. Median ignores outliers such as a cut or a single black frame; mean follows them. |
| fps | FLOAT | 24.0001–480 | — |
| max_framesopt | INT | 00–4096 | Analyse only the first N frames. 0 uses the whole batch. Estimation is fast, but on very long batches a sample is usually enough. |
| engineopt | TOPAZ_ENGINE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| params | TOPAZ_UPSCALE_PARAMS | — |
| report | STRING | — |