Extensions/SAX Bridge
ComfyUI Extension

SAX Bridge

ComfyUI custom nodes for Pipe-based workflow management, KSampler, Detailer, Upscaler, SAM3 segmentation, Toggle Manager, and Collector nodes.

By so16tm·Created 7 months ago·Updated a day ago· 2
so16tm/SAX_Bridge
Nodes41
On cloudLocal install
CategorySAX/Bridge/Debug, SAX/Bridge/Utility
Stars2
Updateda day ago

Nodes (41)

SAX Assert

The traffic cop your workflow never knew it needed

SAX/Bridge/Debug
SAX Assert Pipe

Stop trusting the pipe, start checking it

SAX/Bridge/Debug
SAX Cache

DeepCache speedups for the whole pipe, with a quality dial you control

SAX/Bridge/Utility
SAX Debug Controller

One switch to turn every SAX node's diary on

SAX/Bridge/Debug
SAX Debug Inspector

Open the pipe and look inside

SAX/Bridge/Debug
SAX Debug Text

The world's simplest value display node

SAX/Bridge/Debug
SAX Detailer

One node that crops, redraws, and blends your problem areas back in

SAX/Bridge/Enhance
SAX Enhanced Detailer

The detailer with shadow, edge, and noise knobs when the plain one isn't enough

SAX/Bridge/Enhance
SAX Finisher

Color, sharpen, bloom, vignette — the last node before you save

SAX/Bridge/Enhance
SAX Guidance

Fix fried colors and flat details without a CFG re-roll

SAX/Bridge/Enhance
SAX Image Collector

Line up all your candidates before you judge them

SAX/Bridge/Collect
SAX Image Preview

The comparison grid that ends the 'which one is better' guessing

SAX/Bridge/Output
SAX KSampler

The sampler that reads its own settings

SAX/Bridge/Sampler
SAX Loader

Checkpoint, VAE, LoRA and your sampler settings in one node

SAX/Bridge/Loader
SAX Diffusion Loader

For the split checkpoints with no single file to load

SAX/Bridge/Loader
SAX Lora Loader

Stack and toggle LoRAs without rewiring your graph

SAX/Bridge/Loader
SAX MiniMax H3 Loader

MiniMax H3 Is Four Files and Five Loaders. This Node Wants It to Be One.

SAX/Bridge/Loader
SAX SAM3 Loader

Get Meta's text-prompt segmenter into your workflow, without the VRAM fight

SAX/Bridge/Segment
SAX Mask Adjust

One SAM3 mask, fanned out to five different jobs

SAX/Bridge/Mask
SAX Node Collector

Aggregate any node's outputs into one tidy bundle

SAX/Bridge/Collect
SAX Image Noise

Add texture where your image is too clean to redraw

SAX/Bridge/Option
SAX Latent Noise

Add noise to just part of a latent — the SAX Latent Noise i2i trick

SAX/Bridge/Option
SAX Output

The last node on the graph — SAX Output and the save=False habit

SAX/Bridge/Output
SAX Pipe

One wire instead of fifteen — SAX Pipe and the context-bundle trick

SAX/Bridge/Pipe
SAX Pipe Collector

First pipe wins — SAX Pipe Collector for wiring-only branching

SAX/Bridge/Collect
SAX Pipe Switcher

Pick a pipe, expand it to sixteen outputs — SAX Pipe Switcher

SAX/Bridge/Pipe
SAX Primitive Store

One place for every number in your workflow — SAX Primitive Store

SAX/Bridge/Utility
SAX Prompt

Wildcards, LoRA tags, and BREAK in one node — SAX Prompt

SAX/Bridge/Prompt
SAX Prompt Concat

Many texts, one conditioning — SAX Prompt Concat

SAX/Bridge/Prompt
SAX Qwen Image Prompt

Hand Qwen-Image up to 10 images and edit by sentence

SAX/Bridge/Prompt
SAX MiniMax H3 Sampler

The Half of Your MiniMax H3 Graph Nobody Wires Correctly

SAX/Bridge/Sampler
SAX SAM3 Multi Segmenter

Describe what to mask — SAX SAM3 Multi Segmenter

SAX/Bridge/Segment
SAX Structure Lock (SDXL)

Stop SDXL From Melting Your Torso on the Second Pass

SAX/Bridge/Control
SAX Tag Dictionary

A Node With No Wires That Keeps Your Danbooru Tags Current

SAX/Bridge/Utility
SAX Text Catalog

A prompt binder that lives in your graph — SAX Text Catalog

SAX/Bridge/Utility
SAX Text Catalog Converter

Moving Your SAX Prompt Binder From V1 to V2 Without Breaking a Wire

SAX/Bridge/Utility
SAX Text Catalog Manager

Where Shared Prompt Catalogs Go to Retire (Not Die)

SAX/Bridge/Utility
SAX Text Catalog V2

What SAX Text Catalog V2 Actually Stores

SAX/Bridge/Utility
SAX Toggle Manager

Scene switching for your whole workflow — SAX Toggle Manager

SAX/Bridge/Utility
SAX Upscaler

Upscale without leaving the pipe — SAX Upscaler

SAX/Bridge/Enhance
SAX Wildcard Editor

A Real Wildcard Editor Inside ComfyUI, With Save Protection

SAX/Bridge/Utility
Readme

SAX_Bridge

CI

JP | Key Features | Installation | Dependencies | Node Reference | MIT License

Build advanced workflows with fewer nodes. Smart trial-and-error with management nodes.

SAX_Bridge is a collection of custom nodes that fills the missing pieces in ComfyUI workflows. From loading checkpoints (or split-distribution diffusion models such as Anima, Krea 2, and Qwen-Image 2.1: UNET + text encoder + VAE), CLIP, and LoRA to prompt processing, sampling, detailing, and output — all in a minimal set of nodes, enabling high-quality generation without complex configurations. A unique scene-based control system lets you batch-manage nodes and groups, quickly switch between configurations, and shorten your iteration cycle.


Key Features

<a id="detailer"></a>

Advanced image quality in one node — Detailer

<img src="docs/images/workflow_overview.png" width="800">

SAX Loader → SAX Prompt → SAX KSampler → SAX Upscaler → SAX Enhanced Detailer → SAX Output Complete pipeline from generation to upscaling, detailing, and saving — in just 5 nodes. (checkpoint: ZUKI anime ILL)

Crops the mask region, runs i2i redraw, and blends back into the original image — all in one node. Differential Diffusion is built in, so boundary blending requires no separate adjustment. Simply append it to the end of your workflow to automatically refine areas prone to softness — faces, hands, text, and more.

For even higher quality, choose SAX Enhanced Detailer to add Shadow Enhancement, Edge Enhancement, and Latent Noise injection.

Both Detailer nodes include an optional CFG Guidance Enhancement feature — select a mode and adjust strength to improve detail rendering.

| Mode | Target | Effect | |---|---|---| | agc | High CFG (5+) | Suppresses color saturation spikes via tanh soft-clipping | | fdg | High CFG (5+) | Emphasizes detail via frequency band separation | | agc+fdg | High CFG (5+) | Both of the above | | post_fdg | Low CFG (1–3) | Detail emphasis for low-step LoRA workflows (e.g. DMD2) |

SAX Guidance is also available as a standalone node for use before SAX KSampler or SAX Upscaler. Guidance also supports PAG (Perturbed Attention Guidance) which works independently of CFG scale.

Insert a SAX Structure Lock (SDXL) node into the pipe to apply a ControlNet structure constraint to the i2i passes of both Detailer nodes and SAX Upscaler, preventing wide-area anatomy breakdown (torso, limbs, composition). Placing the node enables it; removing it disables it completely.

Finishing touches — Finisher

SAX Finisher applies post-processing effects and image quality adjustments to the final image. Place it between the Detailer and Output.

| Effect | Parameter | Description | |---|---|---| | Color Correction | color_correction | Matches color distribution to a reference image | | Smooth | smooth | Reduces jaggies and oversharpened edges via high-frequency suppression | | Sharpen | sharpen_strength / sharpen_sigma | Unsharp Mask edge sharpening | | Bloom | bloom | Soft glow from bright areas for atmospheric lighting | | Vignette | vignette | Darkens edges to draw focus to the center | | Color Temp | color_temp | Warm (+) or cool (−) color temperature shift | | Grayscale | grayscale | ITU-R BT.709 monochrome conversion (applied last) |

All parameters default to 0 / False (disabled). Effects are applied in the order listed above.

↑ Back to top


<a id="toggle-manager"></a>

Manage your entire workflow by scene — Toggle Manager

| Scene: KSampler + Grayscale | Scene: Upscaler + Detailer + Save | |:---:|:---:| | <img src="docs/images/toggle_manager_scene1.png" width="100%"> | <img src="docs/images/toggle_manager_scene2.png" width="100%"> |

Switch scenes with a single click using SAX Toggle Manager. Controls group visibility and widget values (grayscale, save) simultaneously. Instantly switch from quick preview to full-quality output.

A control node that toggles groups, subgraphs, nodes, and Boolean widgets — no wiring, no execution required. Save multiple scenes and switch the entire workflow configuration instantly with the ◀▶ button. Pre-register comparison patterns like "with/without LoRA", "with/without upscaling", or "cache on/off" to eliminate manual reconfiguration.

↑ Back to top


<a id="sam3-segmenter"></a>

Text-guided masking with instant comparison — SAM3 Segmenter × Image Preview

<img src="docs/images/segmenter_detailer.png" width="800">

Broad positive mask for "hair" minus a negative mask for skin — precise hair-only segmentation. Pass the mask to two SAX Enhanced Detailer nodes for parallel hair color variations. Compare all results side by side with SAX Image Collector + SAX Image Preview.

SAX SAM3 Multi Segmenter generates masks by specifying targets with text prompts. Combining positive (broad capture) and negative (exclusion) prompts achieves high-precision segmentation without manual masking or selection tools. The more conditions you stack, the more accurate the result — enabling fine per-part control (hair, face, ears, hands) in a single node.

Pass the generated mask to SAX Detailer for refinement, then compare the original, mask, and result side by side in SAX Image Preview for fast parameter tuning feedback.

↑ Back to top


<a id="mask-adjust"></a>

Per-branch mask tuning — Mask Adjust

SAX Mask Adjust applies grow/shrink → blur → threshold to an input MASK in one shot. When you want to fan out the same SAM3 output to multiple downstream nodes ("larger for Detailer / smaller for NoiseInjector"), this lets you avoid running SAM3 multiple times.

  • invert: flip "white = target" to "white = protected" (e.g. protect SAM3-detected face, refine the rest)
  • grow: hard-edged dilation/erosion (same separable MaxPool used by SAM3)
  • blur + threshold: smooth, jaggy-free expansion/contraction (blur=3.0, threshold=0.1 for smooth dilate, 0.9 for smooth erode)
  • blur alone: soft mask for KSampler's noise_mask

The SAM3 mask_grow and this node's grow are additive. When fanning out, set SAM3 mask_grow=0 and tune per-branch with this node for clearer intent.

↑ Back to top


<a id="text-catalog"></a>

Manage prompt variations as a binder — Text Catalog

SAX Text Catalog stores named texts (prompts, negatives, fragments) inside a single node and assigns them to output slots via Relations. Switch between scene variations, share a common negative across multiple samplers, or organize text snippets by tags — without rewiring your workflow.

  • Catalog → Item → Relation → Slot four-element model lets you separate text storage from output routing
  • Manager Dialog with search, tag filter, and a wide text editor for batch authoring
  • Hybrid tag input with auto-normalization (trim + lowercase), favorite tags pinned to the front
  • Tag-aware sorting keeps related items grouped and matches the tag toggle order
  • Output empty string for unset / orphan Relations — drops cleanly into SAX Prompt Concat
  • merge_outputs toggle collapses all Relations into a single newline-joined output — a clean single wire into SAX Prompt Concat that avoids its many-input slot ordering glitch
  • Text editor supports danbooru tag autocomplete with optional Autocomplete++ (manual input remains available without it)

See Node Reference: SAX Text Catalog for full details.

SAX Text Catalog Converter imports all V1 items and relation rows into a new or existing shared V2 catalog, preserving the original V1 links and adding a new V2 node. See the converter reference.

SAX Text Catalog V2 shares external catalogs across workflows. Manage up to 10,000 items with inline text editing, search, bulk operations, and virtualized lists; select and reorder multiple text sets directly on the node. Combine fixed text and seeded random-N selections, nest components to select whole child components, and edit items from the execution result. See which sets use each item, add checked items to a set without switching views, preview a set's output for a Seed, and pick sets from a searchable list. Import items in bulk from text or partial JSON, manage tags (list with counts, rename, merge, delete), see each candidate's single-draw probability, get same-name warnings, and hover a node row to see its last output. Duplicate, archive (not delete), and restore catalogs in the provisional SAX Text Catalog Manager node. V1 remains unchanged, and legacy V2 catalogs can be migrated explicitly. See the V2 node reference.

↑ Back to top


<a id="collector"></a>

Simplify complex wiring — Collector

SAX Node Collector aggregates outputs from multiple nodes into one, keeping downstream wiring clean. Automatically detects and re-syncs when source slots are added, removed, or renamed — connections never break during workflow editing.

SAX Pipe Collector acts as a switch that selects the first valid Pipe from multiple routes, enabling conditional branching through wiring alone. SAX Image Collector batch-combines multiple IMAGE outputs and passes them to SAX Image Preview for all-at-once comparison.

↑ Back to top


<a id="qwen-image"></a>

Qwen-Image 2.1 text-to-image and multi-image editing — Qwen Image Prompt

Generate and edit with Qwen-Image 2.1 in 4 nodes: SAX Diffusion Loader → SAX Qwen Image Prompt → SAX KSampler → SAX Output. With no reference images it runs text-to-image; connect images to image_1–image_10 for image-to-image (multi-image composition and editing), referring to them as <image1>, <image2>, ... in the prompt. SAX Diffusion Loader detects the text encoder type from the model automatically, so no extra setup is needed (recommended: cfg=1, euler, simple). Quality: steps=40 at native 2K (e.g. 2048×2048). Turbo: put Comfy-Org's qwen_image_2.1_turbo_lora_* in the Loader's lora_name and use steps=8 (about 5× faster). The prompt node also offers the KV cache and attention backend of ComfyUI's built-in features, both off by default.

↑ Back to top


<a id="minimax-h3"></a>

MiniMax H3 video + audio generation — MiniMax H3 Loader / Sampler

Generate with MiniMax H3 through MiniMaxH3-Director in 4 nodes: SAX MiniMax H3 Loader → MiniMax H3 Director → SAX MiniMax H3 Sampler → Save Video (requires ComfyUI 0.30.0 or later). The Loader loads the diffusion model, text encoder (type set automatically), video VAE, and audio VAE together, and pre-selects the files by name. The Sampler does noise, scheduler, guider, sampling, video / audio decoding, and video creation in one node, defaulting to the official res_multistep / simple / 20 steps. To use reference images / videos / audio, select the REF2VA checkpoint in ref_unet_name and turn Refs ON in the Director.

↑ Back to top


Installation

ComfyUI Manager (Recommended)

Enter the following URL in ComfyUI Manager's "Install via Git URL":

https://github.com/so16tm/SAX_Bridge

Manual Installation

cd ComfyUI/custom_nodes
git clone https://github.com/so16tm/SAX_Bridge

↑ Back to top


Dependencies

| Dependency | Purpose | Required | |---|---|---| | ComfyUI | Runtime | ✅ | | Autocomplete++ | Tag autocomplete and dynamic prompt / wildcard expansion before queue submission | Optional | | sam3 | SAX SAM3 nodes | Only when using SAM3 |

SAX no longer requires Impact Pack or ComfyUI-Custom-Scripts. Install Autocomplete++ separately and enable Enable Prompt Expansion Engine when using dynamic prompts or wildcards. Move existing wildcard files from Impact Pack to Autocomplete++'s wildcards folder; review their syntax for compatibility.

Catalog V1 / V2 text is expanded only in a queue submission snapshot, leaving saved templates unchanged. SAX applies LoRA tags and encodes BREAK on the server without expanding the text again. Ordinary text remains usable without Autocomplete++; dynamic syntax remains unexpanded. Direct API clients bypass the browser engine and must submit expanded text.

Autocomplete++ cannot read a Primitive Store seed drawn at execution or a seed inside a Pipe. Use its Random expansion mode for these workflows; synchronization with the image seed is not guaranteed. Catalog random item selection retains its backend seed behavior.

To update the tag dictionary manually, add SAX Tag Dictionary from SAX/Bridge/Utility and press 最新CSVを取得 (Get latest CSV). It downloads the latest published compatible Danbooru CSV; startup and queue submission do not trigger downloads. With Autocomplete++ installed, reload the browser and select sax_danbooru.csv in its Main Tag File setting (including any controller override). Its original CSVs and translation dictionaries remain unchanged. This optional utility also works without Autocomplete++.

sam3 is not required if you do not use SAX SAM3 nodes.

Install sam3:

pip install git+https://github.com/facebookresearch/sam3.git

Windows: triton is required

sam3 depends on triton, which was historically Linux-only. On Windows, install one of the following before installing sam3:

| Environment | Command | |---|---| | PyTorch ≥ 2.7 + CUDA ≥ 12.8 | pip install triton | | Older PyTorch / CUDA | pip install triton-windows |

triton-windows is a drop-in compatible wheel for Windows that bundles TinyCC and a minimal CUDA toolchain, so no additional setup is required. See triton-lang/triton-windows for details.

If SAM3 fails to load at runtime, SAX_Bridge will display the underlying ImportError (e.g. No module named 'triton') so you can diagnose which dependency is missing.

↑ Back to top


License

MIT License © 2026 so16tm

↑ Back to top