Upscaler Tensorrt ⚡
Upscaler TensorRT
- images
- upscaler_trt_model
- IMAGE
This is the node that actually does the upscaling - it takes images and a TensorRT engine loaded by its sibling node (Load Upscaler Tensorrt Model) and runs them through it. If you're comparing this to plain old ESRGAN nodes: same job, same models, just compiled ahead of time for your specific GPU so it runs 2-4x faster than the normal PyTorch path, per the author's own benchmarks.
Worth being clear about what kind of upscaling this actually is, because the word gets used for three unrelated jobs. This is the cheap, non-generative one: it adds pixels, it does not invent detail. It won't add pores or fabric weave the way SeedVR2 or SUPIR would, and it can't hallucinate a face - it just runs a fixed super-resolution model faster. That's also exactly why it's fast: there's no diffusion sampling loop, just a single forward pass through a compiled ESRGAN-family model.
The inputs that matter
- images - your batch of source images. The exported engines support dynamic resolutions from 256x256 up to 1280x1280 px, so you don't have to match one exact size - but stray outside that range and you'll get an explicit error rather than a silent failure (an earlier version of the pack soft-locked on unsupported sizes; that was fixed specifically so people would get a clear error instead).
- upscaler_trt_model - comes straight from the Load Upscaler Tensorrt Model node. This determines which model and precision you're actually running.
- resize_to - controls the final output size, and it's the one setting worth understanding rather than leaving on default. Options include
none(the model's native scale factor - 4x for most of these, 2x for 2x-ESRGAN, 1x for the skin-detail model),custom, fixed targets likeHD,FHD,2k,4k, and a ladder of explicit multipliers (1x,1.5x,2x,2.5x,3x... up further). If your model's native 4x output is bigger than you actually want, this is what reins it back in without you needing a separate downscale node afterward. - resize_width / resize_height - only kick in when
resize_tois set tocustom, integers 1-8192, default 1024x1024.
Output is a single IMAGE - send it to a Save or Preview node, or straight into whatever's next in your pipeline.
Install
Via ComfyUI Manager, search "ComfyUI Upscaler TensorRT". Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/yuvraj108c/ComfyUI-Upscaler-Tensorrt.git
cd ComfyUI-Upscaler-Tensorrt
pip install -r requirements.txt
Restart ComfyUI. Note the license is CC BY-NC-SA 4.0 - non-commercial - before you build anything you plan to charge for around it.
Troubleshooting
Most of the pain with this node actually happens one step earlier, at the loader - a stuck-looking first run is normally a TensorRT engine compiling in the background with no progress indicator (can take 20-30 minutes the first time), and ModuleNotFoundError: No module named 'tensorrt' is usually an incomplete pip install rather than anything wrong with your graph. See the Load Upscaler Tensorrt Model article for both.
Specific to this node: if you feed it an image outside the 256-1280px range you'll get a clear error now instead of a hang - resize or crop the source first. And only ESRGAN-architecture models are supported; the author states this plainly in the pack's known-issues list, so a random non-ESRGAN upscale checkpoint dropped into the config won't work even if you get it exported to ONNX. If you push resize_width/resize_height up toward the 8192 ceiling, remember that's real VRAM and time on top of the base upscale - there's no free lunch just because the base pass is fast.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| upscaler_trt_model | UPSCALER_TRT_MODEL | — | |
| resize_to | COMBO | 19 options: none, custom, HD, FHD, 2k, 4k, +13 | |
| resize_width | INT | 10241–8192 | — |
| resize_height | INT | 10241–8192 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |