Nodes/comfyui-colorfix-v3/Flux Tile ColorFix+Sharp Patcher
ComfyUI Node

Flux Tile ColorFix+Sharp Patcher

ColorFix plus an unsharp mask, tuned for Flux

By ihorpankin·Created 6 months ago·Updated 6 months ago· 6
Flux Tile ColorFix+Sharp Patcher
  • model
  • ref_latent
  • model
blur_k8
weight1.00
sharpness1.00
blur_modegaussian (smoother)

This is the "and give me my detail back" version of Flux Tile ColorFix Patcher. Same color transfer, same low-frequency swap, plus a sharpening pass. If you're upscaling from a soft source - a compressed JPEG, a low-res render, an old photo - the base patcher will fix the color drift but leave you with the mush. This one adds detail back at the same time.

The sharpening is a direct high-pass boost, i.e. an unsharp mask, applied to the already color-fixed latent:

high = fixed - blur(fixed, k)
result = fixed + sharpness * 0.1 * high

Extract the high frequencies, add a scaled amount back. Why "0.1"? The author calibrated it so that sharpness in the 0–2 range produces a comparable effect to the SD/SDXL sharp variant at typical CFG settings. Why not just use the SD variant's trick? Because that one sharpens by differential CFG processing - feeding a softened version down the uncond path and letting CFG amplify the gap. Flux runs at cfg_scale=1.0, so there's no gap to amplify. Direct sharpening is the only option that works.

The inputs that matter

Everything from the base patcher, plus one:

  • sharpness - 0.0 to 2.0, default 1.0. 0 = no sharpening (at which point you're just running the base patcher with extra steps), 1.0 = moderate detail boost, 2.0 = strong. Start at 1.0; oversharpening shows up fast as halos and ringing around high-contrast edges.

The rest are identical to the base node: model, ref_latent (VAE-encoded reference - use the Flux VAE), blur_k (frequency split, default 8), weight (0–1 color fix strength), and blur_mode (default gaussian, box for exact A1111 behavior). Output is the single patched model for your KSampler.

Install

Pure Python, no requirements.txt, no models:

cd ComfyUI/custom_nodes
git clone https://github.com/ihorpankin/comfyui-colorfix-v3.git

Restart ComfyUI; it's under colorfix-v3/flux. ComfyUI Manager: search "comfyui-colorfix-v3".

Where people get burned

The usual suspects, plus one unique to this node. First, the VAE: wrong VAE in, wrong colors out. Second, don't mistake sharpness for a free lunch - it amplifies whatever detail is there, including compression artifacts and noise, so noisy sources need a low setting or a clean-up pass first. And third, if you're getting color artifacts but don't need detail work, save the VRAM and use the base patcher; the sharp pass costs a second blur on every step and buys you nothing if the source is already crisp.

Categorycolorfix-v3/flux

Inputs (6)

NameTypeDefaultDescription
modelMODEL
ref_latentLATENTVAE-encoded control/reference image. Connect from VAE Encode node. This provides the color palette to transfer. Use the Flux VAE for encoding.
blur_kINT83–32Blur kernel radius. Controls frequency split point. Larger = more aggressive color transfer.
weightFLOAT1.000–1Color fix strength. 0.0 = no correction, 1.0 = full color replacement.
sharpnessFLOAT1.000–2Detail enhancement strength. Uses direct high-pass boost (unsharp mask). 0.0 = no sharpening, 1.0 = moderate detail boost, 2.0 = strong sharpening.
blur_modeCOMBOgaussian (smoother)Blur algorithm for frequency split. Gaussian = smoother falloff, recommended for Flux. Box = sharp cutoff, A1111 original.

Outputs (1)

NameTypeDescription
modelMODEL