ComfyUI Node

TBG ETUR Labs Upscaler

The upscaler's control room for memory, SeedVR2, and PiD

By Ltamann·Created about a year ago·Updated 19 days ago· 156
TBG ETUR Labs Upscaler
  • SEEDVR2_DIT
  • SEEDVR2_VAE
  • PID_Model
  • PID_CLIP
  • PID_Source_VAE
  • output_1
TBG_APP_ShutDownClose with Comfyui
Dev_Debug_Modedev debug on
Tiler_Upscale_Cachetrue
Only_Upscalefalse
VLM_Server_Base_URLhttp://127.0.0.1:8080/v1
VLM_Server_Model
PID_VAE_Compatible_ModelFLUX1
PID_degrade_sigma0.10
PRO_Tile_Fusion_shift_in_out0
PRO_Tile_Fusion_shift_top_left0

The upscaler's side of the Labs family is less "experimental feature" and more "control room." TBG ETUR Labs Upscaler is an output node whose labs_upscaler pipe plugs into the PRO upscaler, and its job is threefold: manage the TBG worker process's memory, tell the upscaler which detail engine to use (SeedVR2 or PiD), and tweak tile-fusion alignment. If you're running long batch upscales on a 12GB card, this is the node that decides whether the machine survives the night.

What you'll actually touch

TBG_APP_ShutDown - this is the interesting one. ETUR spawns a separate TBG worker subprocess at startup (that's where all the model unload/offload logic lives), and this dropdown controls what it does after each run:

  • Close with Comfyui (default) - the worker lives and dies with ComfyUI.
  • ShutDown after each run - frees memory immediately after the refiner finishes; the next run pays a few seconds of startup.
  • ShutDown after each run delayed - frees memory one minute after finishing; the recommended balance. Startup is ~1–5 seconds, so if you're queuing jobs back to back, the delayed shutdown is the difference between a hiccup and a stall.
  • Keep Running (not recommended) - keeps the worker alive an hour after work completes (and survives ComfyUI restarts) to avoid any startup delay. The "not recommended" is the author's own; it holds memory hostage for the sake of a couple of seconds.

If your upscale runs end with the machine crawling, the answer is usually here before it's in your models.

The upscale engines - all optional inputs:

  • SEEDVR2_DIT / SEEDVR2_VAE - plug in SeedVR2 (the tiled detail champion, still the incumbent) and ETUR uses it as the tiled upscaler. This is how the pack delivers the "Tiled SeedVR, FlashVSR, Waifu" upscale options from the changelog.
  • PID_Model / PID_CLIP / PID_Source_VAE / PID_VAE_Compatible_Model / PID_degrade_sigma - the PiD path, same family as the standalone PiD upscale node. PID_degrade_sigma (0.1) sets how much each tile is treated as degraded, i.e., how much room PiD has to invent detail.
  • Only_Upscale (off) - skip refinement entirely and just run the upscale. The "I only want pixels today" switch.
  • Tiler_Upscale_Cache (on) - cache upscaled tiles so re-runs skip unchanged work. This is the ~90%-faster-on-re-runs feature from the changelog; keep it on unless you're chasing a stale-cache bug.

The fusion alignment - PRO_Tile_Fusion_shift_in_out and PRO_Tile_Fusion_shift_top_left (both 0, ±128, step 8) nudge the fusion grid. If you see a periodic pattern of seam artifacts that lines up with the tile grid, a small shift here can break the coincidence. They're the "I've tried everything" knobs.

VLM_Server_Base_URL / VLM_Server_Model - only relevant if the PRO upscaler's VLM is set to the OpenAI-Compatible Labs server mode. Base URL defaults to http://127.0.0.1:8080/v1; the API key is env-only via TBG_ETUR_OPENAI_API_KEY (never paste a key into the workflow - it embeds in the PNG metadata).

Dev_Debug_Mode - developer-only runtime switch; non-dev accounts ignore it. Leave it.

Installing it

Part of the TBG ETUR pack:

cd ComfyUI/custom_nodes
git clone https://github.com/Ltamann/ComfyUI-TBG-ETUR
cd ComfyUI-TBG-ETUR
pip install -r requirements.txt

Or ComfyUI Manager → search "TBG" → TBG_Enhanced Tiled Upscaler & Refiner FLUX PRO, restart. Heavy requirements and the worker subprocess come with it; if ComfyUI's startup log shows a TBG worker failing to start, that's usually a broken dependency in the pack's requirements, not a missing model.

Notes

The honest framing: a chunk of what this node configures is PRO (member-gated) machinery, and the CE path leans on the free upscaler nodes instead. The part that's universally useful is TBG_APP_ShutDown - that's the memory management that makes long tiled runs viable on modest VRAM. If you take nothing else from this page: set it to ShutDown after each run delayed and forget it. The rest of the inputs earn their keep only when you're already running the PRO upscaler and chasing a specific artifact.

CategoryTBG/ETUR Tiled Upscaler and Refiner

Inputs (15)

NameTypeDefaultDescription
TBG_APP_ShutDownCOMBOClose with ComfyuiControl how TBG_APP manages memory after each run: startup could easily take ~1–5 seconds - 'ShutDown after each run': Frees memory immediately after Refiner is finished but restarting takes a few seconds. - 'ShutDown after each run delayed': Frees memory after 1 minutes after Refiner is finished, balancing speed and memory usage (recommended). - 'Keep Running (not recommended)': Keeps the app running 1h after Work is finished to avoid delays and to keep memory after Comfyui Restart.
Dev_Debug_ModeCOMBOdev debug onDeveloper-only local runtime switch. Non-dev accounts ignore this. 'dev debug off' suppresses dev debug/temp saves. 'dev free user test' runs this job with Free-user limits without changing the account.
Tiler_Upscale_CacheoptBOOLEANtrue
Only_UpscaleoptBOOLEANfalse
VLM_Server_Base_URLoptSTRINGhttp://127.0.0.1:8080/v1OpenAI-compatible VLM server base URL used when PRO VLM_Model is set to 'OpenAI-Compatible (Labs Server)'. ETUR normalizes this to /v1 and calls /v1/chat/completions. API key must be provided via environment variable: TBG_ETUR_OPENAI_API_KEY.
VLM_Server_ModeloptSTRINGModel name passed to /v1/chat/completions when PRO VLM_Model is 'OpenAI-Compatible (Labs Server)'. API key is env-only: TBG_ETUR_OPENAI_API_KEY.
SEEDVR2_DIToptSEEDVR2_DIT
SEEDVR2_VAEoptSEEDVR2_VAE
PID_ModeloptMODEL
PID_VAE_Compatible_ModeloptCOMBOFLUX17 options: FLUX1, FLUX2, Qwen Image, Qwen Image Edit, SDXL, SD3, +1
PID_CLIPoptCLIP
PID_Source_VAEoptVAE
PID_degrade_sigmaoptFLOAT0.100–1
PRO_Tile_Fusion_shift_in_outoptINT0-128–128
PRO_Tile_Fusion_shift_top_leftoptINT0-128–128

Outputs (1)

NameTypeDescription
output_1labs_upscaler