SMC Config
Tell SMC Compand how hard to pull.
- SMC_CONFIG
SMC Config (class SMCConfig) doesn't touch a single pixel. It just builds the SMC_CONFIG object that SMC Anchor-Guided Compand eats on its config input. If you're coming from the FLUX.2 high-res drift problem - crops that zoom out, color that washes, detail regions that refuse to sit back in the frame - this is where you tune the fix before the fix runs.
Think of it as the equalizer for the anchor-guided correction. The node's twelve inputs all map to the same-named fields in the pack's CompandConfig, and they fall into a few groups:
The ones you'll actually touch
anchor_mp(0.1–4, default 1.0) - the megapixel target for the internally-derived low-res anchor. This is the single most important knob. Too high and the anchor is almost as drifted as the high image; too low and it's a different picture. For Klein-style workflows people usually land near 1MP, which is the model's own stable regime.warp_strength(0–3, default 0.65) - overall strength of the inward geometric correction. This is your master "how hard do I pull" dial.lowfreq_anchor_mix(0–1, default 0.72) - how much of the low-frequency tone gets pulled toward the anchor. If the correction washes colors out, this is the knob.detail_preservation(0–2, default 1.0) - how much high-frequency detail is re-added after the warp. Crank it if the correction makes everything look plastic.max_inward_shift_px(0–64, default 6.0) - the safety cap on geometric correction. The correction physically cannot move pixels more than this, so it can't destroy the image even at highwarp_strength.
The rest
radial_strength (default 1) makes the correction behave like inward radial compaction; anisotropy_strength (0.15) is a light term that compensates for "vertical ballooning" vs "horizontal ballooning" mismatch; chroma_restore (0.35) and contrast_restore (0.2) add back color and tonal presence in the regions where the flow says content diverged; base_blur_radius (9) and mask_falloff_radius (24) control the blur used to split frequency layers and feather the mask; edge_softness (6) blurs the correction mask so the transition at the mask border is gentle.
A sane starting recipe
Defaults are decent for a first pass. When drift is bad, the usual escalation is: warp_strength up toward 1.0-1.5 first, then lowfreq_anchor_mix up if color is washing, then chroma_restore/contrast_restore up a bit, and detail_preservation up to 1.2-1.4 to keep texture from collapsing. If the image starts looking like it was photoshopped onto itself, back warp_strength down before touching anything else.
Output
One output: SMC_CONFIG, wired straight into the config port of SMC Compand. Nothing else consumes it.
Install & gotchas
Same pack, same install - ComfyUI Manager (search "Stable Manifold Compander") or:
cd ComfyUI/custom_nodes
git clone https://github.com/xmarre/ComfyUI-StableManifoldCompander
No extra dependencies. To see exactly what you built, wire the config into SMC Describe Config and read it as a string. One honest caveat: with twelve knobs it's tempting to fiddle all of them. The pack is heuristic, so results are sensitive - change one variable at a time and eyeball the difference, or you'll never learn what each one does.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| anchor_mp | FLOAT | 1.000.1–4 | — |
| base_blur_radius | INT | 91–63 | — |
| mask_falloff_radius | INT | 240–128 | — |
| warp_strength | FLOAT | 0.650–3 | — |
| radial_strength | FLOAT | 1.000–3 | — |
| anisotropy_strength | FLOAT | 0.150–1 | — |
| lowfreq_anchor_mix | FLOAT | 0.720–1 | — |
| chroma_restore | FLOAT | 0.350–2 | — |
| contrast_restore | FLOAT | 0.200–2 | — |
| detail_preservation | FLOAT | 1.000–2 | — |
| max_inward_shift_px | FLOAT | 6.00–64 | — |
| edge_softness | INT | 60–64 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SMC_CONFIG | SMC_CONFIG | — |