summaryrefslogtreecommitdiff
path: root/workflows
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-24 11:16:45 +0200
committerPaul Buetow <paul@buetow.org>2026-03-24 11:16:45 +0200
commit8d61721196c9f6a6b841dc3bdbb9ea9dada61c82 (patch)
tree1e41306d0af9a727a7ade2afc875edc962e2731f /workflows
parent728bb6dc7d664f8dcc2d8c9905e7c3f1ae062e48 (diff)
Add SUPIR photo restoration + local colour corrections
- workflows/photo-enhance.json: replace Real-ESRGAN-only pipeline with SUPIR_Upscale (SUPIR-v0Q + SDXL base backbone). Parameters: 20 steps, scale_by=1.0 (original resolution), Wavelet colour fix, tiled VAE + tiled sampling for L40 VRAM headroom. - photo-enhance.rb: add ImageMagick colour corrections after download: S-curve contrast (-sigmoidal-contrast 3,50%), +20% saturation (-modulate 100,120,100), micro-contrast sharpening (-unsharp). These stack on top of SUPIR's internal Wavelet colour fix. - hyperstack.rb: update comfyui_install_script to install ComfyUI-SUPIR custom node and download both SUPIR-v0Q + sd_xl_base_1.0 on provision. - hyperstack.rb: extend status_config_loaders to auto-discover hyperstack-vm-photo.toml so --watch shows the photo VM. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'workflows')
-rw-r--r--workflows/photo-enhance.json51
1 files changed, 29 insertions, 22 deletions
diff --git a/workflows/photo-enhance.json b/workflows/photo-enhance.json
index 6be7dfa..57910e9 100644
--- a/workflows/photo-enhance.json
+++ b/workflows/photo-enhance.json
@@ -8,35 +8,42 @@
}
},
"2": {
- "class_type": "UpscaleModelLoader",
- "_meta": {"title": "Load Real-ESRGAN Model"},
+ "class_type": "SUPIR_Upscale",
+ "_meta": {"title": "SUPIR Photo Restoration"},
"inputs": {
- "model_name": "RealESRGAN_x4plus.pth"
+ "supir_model": "SUPIR-v0Q.ckpt",
+ "sdxl_model": "sd_xl_base_1.0.safetensors",
+ "image": ["1", 0],
+ "seed": 42,
+ "resize_method": "lanczos",
+ "scale_by": 1.0,
+ "steps": 20,
+ "restoration_scale": -1,
+ "cfg_scale": 7.5,
+ "a_prompt": "high quality photograph, sharp, detailed, natural colors",
+ "n_prompt": "blurry, noisy, low quality, artifact, overexposed, underexposed",
+ "s_churn": 5,
+ "s_noise": 1.003,
+ "control_scale": 1.0,
+ "cfg_scale_start": 4.0,
+ "control_scale_start": 0.0,
+ "color_fix_type": "Wavelet",
+ "keep_model_loaded": true,
+ "use_tiled_vae": true,
+ "encoder_tile_size_pixels": 512,
+ "decoder_tile_size_latent": 64,
+ "fp8_unet": false,
+ "use_tiled_sampling": true,
+ "sampler_tile_size": 128,
+ "sampler_tile_stride": 64
}
},
"3": {
- "class_type": "ImageUpscaleWithModel",
- "_meta": {"title": "Enhance (internal 4x pass)"},
- "inputs": {
- "upscale_model": ["2", 0],
- "image": ["1", 0]
- }
- },
- "4": {
- "class_type": "ImageScaleBy",
- "_meta": {"title": "Scale back to original resolution"},
- "inputs": {
- "image": ["3", 0],
- "upscale_method": "lanczos",
- "scale_by": 0.25
- }
- },
- "5": {
"class_type": "SaveImage",
"_meta": {"title": "Save Enhanced Photo"},
"inputs": {
- "images": ["4", 0],
- "filename_prefix": "enhanced_"
+ "images": ["2", 0],
+ "filename_prefix": "enhanced_"
}
}
}