Introduce diffusion-inpaint restoration engine in HVideoTool: added support for a new restoration method that regenerates masked regions via an external SwarmUI server, requiring YOLO detections for mask creation. Updated configuration management to include diffusion parameters, enhanced the UI for engine selection, and improved documentation in README and CLAUDE.md to guide users on the new functionality.

This commit is contained in:
Leonid Pershin
2026-06-08 06:21:44 +03:00
parent 8a366ed43d
commit 15f89b395d
14 changed files with 903 additions and 70 deletions
+27
View File
@@ -52,6 +52,22 @@ def apply(config: AppConfig) -> None:
setattr(config, key, data[key])
if "dm_feed_restored" in data:
config.dm_feed_restored = bool(data["dm_feed_restored"])
# diffusion-inpaint engine
for key in ("diff_backend", "diff_url", "diff_model", "diff_prompt", "diff_negative"):
if key in data:
setattr(config, key, data[key])
if "diff_steps" in data:
config.diff_steps = int(data["diff_steps"])
if "diff_cfg" in data:
config.diff_cfg = float(data["diff_cfg"])
if "diff_denoise" in data:
config.diff_denoise = float(data["diff_denoise"])
if "diff_seed" in data:
config.diff_seed = int(data["diff_seed"])
if "diff_mask_dilate" in data:
config.diff_mask_dilate = int(data["diff_mask_dilate"])
if "diff_mask_blur" in data:
config.diff_mask_blur = int(data["diff_mask_blur"])
def save(config: AppConfig) -> None:
@@ -69,6 +85,17 @@ def save(config: AppConfig) -> None:
dm_model=config.dm_model,
dm_gpu=config.dm_gpu,
dm_feed_restored=config.dm_feed_restored,
diff_backend=config.diff_backend,
diff_url=config.diff_url,
diff_model=config.diff_model,
diff_prompt=config.diff_prompt,
diff_negative=config.diff_negative,
diff_steps=config.diff_steps,
diff_cfg=config.diff_cfg,
diff_denoise=config.diff_denoise,
diff_seed=config.diff_seed,
diff_mask_dilate=config.diff_mask_dilate,
diff_mask_blur=config.diff_mask_blur,
)
_write(data)