ComfyUI Node

TBG ETUR Enrichment Pipe

The detail injector hiding inside the refiner

By Ltamann·Created about a year ago·Updated 19 days ago· 156
TBG ETUR Enrichment Pipe
    • Enrichment_Pipe
    • INFO
    Resharpener_activefalse
    Resharpener_strength0.50
    resharpen_start0.00
    resharpen_end1.00
    detail_daemon_activefalse
    detail_amount1.17
    detail_daemon_start0.12
    detail_daemon_end0.30
    detail_daemon_bias0.50
    detail_daemon_exponent0.80
    detail_daemon_start_offset0.00
    detail_daemon_end_offset0.00
    detail_daemon_fade0.00
    detail_daemon_smoothtrue
    detail_daemon_cfg_scale1.0
    tile_upscale_plusnone
    upscaler_method_inpaintingbilinear
    upscale_model_inpainting
    upscale_tiles_by1.0
    upscale_segments_by1.0
    PRO_Fusion_Complexity_min_Denoise0.20
    PRO_Fusion_Complexity_max_Denoise1.00
    PRO_Fusion_Complexity_Mask_Blur0.00

    A plain upscale gives you pixels; an ETUR refinement is supposed to give you texture. That extra "crispness" doesn't come from nowhere - it comes from the Enrichment Pipe, a config node that tells the refiner how aggressively to sharpen, inject detail, and rescale tiles during sampling. If the refiner is the engine, this is the tuning box bolted to it.

    The node does three jobs, and it's worth knowing which is which because the inputs are grouped that way.

    Resharpener: the controlled sharpen pass

    Resharpener_active (off by default) enables a resharpen stage that runs over the resharpen_startresharpen_end step window (defaults 0→1, i.e. the whole sample) at Resharpener_strength (default 0.5, range −5 to 5). Negative strengths push it into smoothing territory. This is the "make the final image snap" control - start here if your upscale comes out soft.

    Detail Daemon: the noise-injection engine

    This is the ETUR signature feature, the descendant of what the changelog calls "similar to Res2M part-step noise injection for enhancing details on every sampler." With detail_daemon_active on, it injects structured detail into a specific step window - detail_daemon_start 0.12 → detail_daemon_end 0.3 by default, which means early-to-mid sampling, before the image locks in. The useful knobs:

    • detail_amount (default 1.17) - how much detail to inject. This is the main dial.
    • detail_daemon_bias (0.5) / detail_daemon_exponent (0.8) - shape the injection curve.
    • detail_daemon_cfg_scale (1.0) - how hard the detail push is weighted against the model's own output.
    • detail_daemon_fade, detail_daemon_smooth - soften the effect at the window edges.

    One honest note from the author's own changelog: activating this enrichment path switches the sampler to Euler Ancestral automatically - or to RES2M, if you have the RES4LYF sampler pack installed. So if your workflow changes sampler under you, that's this node, not a bug.

    Tile/segment upscaling and complexity denoise

    • tile_upscale_plus (none / finer details) - with finer details, tiles are upscaled in pixel space before sampling and downsampled after, so the model renders at higher effective detail. Pairs with upscaler_method_inpainting / upscale_model_inpainting (the model dropdown appears when you pick "with model") and the upscale_tiles_by / upscale_segments_by factors.
    • PRO_Fusion_Complexity_min_Denoise (0.2) / max_Denoise (1.0) - clamp the per-pixel complexity map's denoise range, the same idea as the standalone mask helpers. Set min above max to invert the map.

    Outputs are Enrichment_Pipe (into the refiner's optional input of the same name) and INFO (a string dump for debugging).

    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.

    Notes

    Start with the Resharpener, not the Detail Daemon. The daemon is the more dangerous tool - at high detail_amount it can start inventing texture that reads as noise, especially on skies and skin, which is exactly the failure the upscaling docs keep warning about. A sane first pass is Resharpener at 0.3–0.5 with the daemon off; add the daemon only if the result is still too smooth. And remember the node is pure configuration - it costs nothing to leave connected with everything off, so it's safe to keep in the graph while you tune the rest of the pipeline.

    CategoryTBG/ETUR Tiled Upscaler and Refiner

    Inputs (23)

    NameTypeDefaultDescription
    Resharpener_activeBOOLEANfalse
    Resharpener_strengthFLOAT0.50-5–5
    resharpen_startFLOAT0.000–1
    resharpen_endFLOAT1.000–1
    detail_daemon_activeBOOLEANfalse
    detail_amountFLOAT1.17-5–5
    detail_daemon_startFLOAT0.120–1
    detail_daemon_endFLOAT0.300–1
    detail_daemon_biasFLOAT0.500–1
    detail_daemon_exponentFLOAT0.800–10
    detail_daemon_start_offsetFLOAT0.00-1–1
    detail_daemon_end_offsetFLOAT0.00-1–1
    detail_daemon_fadeFLOAT0.000–1
    detail_daemon_smoothBOOLEANtrue
    detail_daemon_cfg_scaleFLOAT1.00–100
    tile_upscale_plusCOMBOnone2 options: none, finer details
    upscaler_method_inpaintingCOMBObilinear7 options: area, bicubic, bilinear, bislerp, lanczos, nearest-exact, +1
    upscale_model_inpaintingCOMBO0 options:
    upscale_tiles_byFLOAT1.00.5–4
    upscale_segments_byFLOAT1.00.5–4
    PRO_Fusion_Complexity_min_DenoiseFLOAT0.200–1(crops Complexity denoise min) Sets the min denoise level mainly on low-complexity areas. If the minimum value is greater than the maximum, the map is inverted.
    PRO_Fusion_Complexity_max_DenoiseFLOAT1.000–1(crops Complexity denoise min) Sets the mx denoise level mainly on high complexity areas. If the minimum value is greater than the maximum, the map is inverted.
    PRO_Fusion_Complexity_Mask_BlurFLOAT0.000–1apply blur and adjust the sensitivity of the Complexity Mask

    Outputs (2)

    NameTypeDescription
    Enrichment_PipeEnrichment_Pipe
    INFOSTRING