ComfyUI Node

TBG ETUR ControlNet Pipeline

Per-tile control without per-tile node spaghetti

By Ltamann·Created about a year ago·Updated 19 days ago· 156
TBG ETUR ControlNet Pipeline
  • controlnet
  • model_patch
  • Controlnet_Pipe
  • custom_controlnet_image
  • Controlnet_Pipe
  • INFO
strength0.50
start0.00
end0.50
canny_low_threshold100
canny_high_threshold150
preprocessor
controlnet_modeControlNet

Tiled upscaling has a fundamental tension: each tile is sampled on its own, but you want every tile to stay faithful to the same source. Without a structure condition, tiles drift - the classic patchwork look, which is precisely why "skipping ControlNet Tile on tiled upscale" is a top-scored mistake in upscaling threads. In ETUR's world, the ControlNet Pipeline node is how you hand that structure condition to the tiler: you set it up once, in tile-space, and the refiner applies it per tile instead of you building a ControlNet graph for every region.

It's a pipe-construction node, not a sampler. You feed it a ControlNet model plus preprocessing settings, and it appends a config entry to the Controlnet_Pipe - a list that travels to the refiner, where the ETUR machinery crops the control image per tile and applies it during sampling. The README's pitch is "unlimited ControlNet inputs per tile," which is a fancier way of saying the pipe is a list and you can chain as many of these as you want.

The inputs that matter

  • controlnet - the ControlNet model itself. For Flux, the README's model list points at the Shakker-Labs Union Pro 2.0 (canny/soft edge/depth/pose/gray) or the Flux.1-dev-ControlNet-Upscaler, which is the one you want for detail-preserving tile upscaling. Note the union dropped the tile condition in 2.0 - if you came for tile-ControlNet upscaling, load the dedicated upscaler ControlNet.
  • preprocessor - runs before the control is applied. Options include None, DepthAnythingV2, Canny Edge, Canny, and ControlNetInpaintingAliMama. The Canny thresholds (canny_low_threshold 100 / canny_high_threshold 150) live right on this node.
  • strength (default 0.5) / start (0) / end (0.5) - the classic ControlNet weight and step window. The default end of 0.5 reflects the standing community advice: release the condition once composition has formed. Modern union models also publish lower-than-1.0 weights, so 0.5 is a sane start.
  • controlnet_mode - the interesting ETUR-specific part. Besides ControlNet there's Reference_Image (which the code wires as a Flux Kontext "chained" reference path), Input Tile CFG Hook (a post-CFG pull back toward the source tile latent - strength controls that pull), Model_Patch, and the 42lux-Hildegard reference modes. If you're on a stock workflow, leave it on ControlNet.
  • custom_controlnet_image - drop in your own preprocessed map (depth, canny, whatever you made elsewhere) instead of letting the node's preprocessor run.

Outputs: Controlnet_Pipe (wire into the refiner's optional input of the same name) and INFO (a string dump of the pipe - handy for confirming what got appended, nothing more).

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. You'll also want the actual ControlNet weights from the README's model list, and if you use the DepthAnythingV2 preprocessor, the model that goes with it.

Notes and gotchas

The biggest trap is the preprocessor × strength interaction. If your control image comes from Canny, the thresholds decide everything - 100/150 is fine for crisp edges, but on a soft photo you'll get a sparse edge map and the tiles will drift anyway. Preview the preprocessed map before committing to a 50-tile run.

Also: this is the pack's answer to a complaint the community levels at a lot of tiled pipelines - that ControlNet wiring per tile is a pain. It works, but only if the refiner actually has a ControlNet path configured; on the CE refiner the pipe is honored in the modes CE supports, and some PRO-only modes (like the full Kontext chaining) are member-gated. If the pipe shows up in INFO but your tiles look unconditioned, check which refiner you're on before blaming the ControlNet.

CategoryTBG/ETUR Tiled Upscaler and Refiner

Inputs (11)

NameTypeDefaultDescription
strengthFLOAT0.500–1ControlNet strength for ControlNet modes. For Input Tile CFG Hook, controls the post-CFG pull toward the sampler input tile latent. Ignored by Reference_Image mode.
startFLOAT0.000–1Start percentage for ControlNet or Input Tile CFG Hook influence. Ignored by Reference_Image mode.
endFLOAT0.500–1End percentage for ControlNet or Input Tile CFG Hook influence. Ignored by Reference_Image mode.
canny_low_thresholdINT1000–255
canny_high_thresholdINT1500–255
preprocessorCOMBO5 options: None, DepthAnythingV2, Canny Edge, Canny, ControlNetInpaintingAliMama
controlnet_modeoptCOMBOControlNet7 options: ControlNet, Reference_Image, Input Tile CFG Hook, 42lux-Hildegard Ref.Img, 42lux-Hildegard Ref.Img + CFG Hook, Model_Patch, +1
controlnetoptCONTROL_NET
model_patchoptMODEL_PATCH
Controlnet_PipeoptControlnet_Pipe
custom_controlnet_imageoptIMAGE

Outputs (2)

NameTypeDescription
Controlnet_PipeControlnet_Pipe
INFOSTRING