diff --git a/tools/ora_editor/routes/mask.py b/tools/ora_editor/routes/mask.py index a718b8f..0c0bf84 100644 --- a/tools/ora_editor/routes/mask.py +++ b/tools/ora_editor/routes/mask.py @@ -116,6 +116,7 @@ def api_mask_extract(): comfy_url = data.get('comfy_url', COMFYUI_BASE_URL) count = min(max(data.get('count', 1), 1), 10) start_mask_path = data.get('start_mask_path', None) + denoise_strength = data.get('denoise_strength', 0.8) logger.info(f"[MASK EXTRACT] Subject: {subject}") logger.info(f"[MASK EXTRACT] Use polygon: {use_polygon}") @@ -195,6 +196,7 @@ def api_mask_extract(): polygon_points=polygon_points, polygon_color=polygon_color, polygon_width=polygon_width, + denoise_strength=denoise_strength, workflow_template=workflow_template ) else: diff --git a/tools/ora_editor/services/comfyui.py b/tools/ora_editor/services/comfyui.py index ad8e4a8..6def3f2 100644 --- a/tools/ora_editor/services/comfyui.py +++ b/tools/ora_editor/services/comfyui.py @@ -279,6 +279,7 @@ class ComfyUIService: polygon_points: list | None = None, polygon_color: str = '#FF0000', polygon_width: int = 2, + denoise_strength: float = 0.8, workflow_template: dict | None = None ) -> dict: """Prepare the mask extraction workflow with a starting mask (lower denoise).""" @@ -319,6 +320,9 @@ class ComfyUIService: if "50" in workflow and 'inputs' in workflow["50"]: workflow["50"]["inputs"]["seed"] = seed + if "1:65" in workflow and 'inputs' in workflow["1:65"]: + workflow["1:65"]["inputs"]["denoise"] = denoise_strength + if "96" in workflow and 'inputs' in workflow["96"]: metadata = f"{batch_id}:{mask_index}" if batch_id else str(mask_index) workflow["96"]["inputs"]["external_uid"] = metadata diff --git a/tools/ora_editor/templates/components/canvas.html b/tools/ora_editor/templates/components/canvas.html index 2349799..bbc8386 100644 --- a/tools/ora_editor/templates/components/canvas.html +++ b/tools/ora_editor/templates/components/canvas.html @@ -43,14 +43,6 @@ - - SAM mask preview -