DZRobo commited on
Commit
dc64aaa
·
unverified ·
1 Parent(s): b163497

BUG FIX and QoL. Fix cancel support to MG nodes (#6)

Browse files

Implements cooperative cancellation and user interrupt propagation in mg_cade25_easy.py, mg_supersimple_easy.py, mg_cade25.py, and related modules. Adds interruptible sampler and callback wrappers, sentinel handling, and frequent cancel checks throughout long-running loops and workflows. Also improves LoRA selection robustness in mg_combinode.py by handling missing files gracefully. Updates workflow JSON to match new node logic.

mod/easy/mg_cade25_easy.py CHANGED
@@ -283,7 +283,7 @@ def _clipseg_build_mask(image_bhwc: torch.Tensor,
283
  cur = _encode_clip_image(image_bhwc, clip_vision, target_res=224)
284
  dist = _clip_cosine_distance(cur, ref_embed)
285
  if dist > float(ref_threshold):
286
- # up to +50% gain if сильно уехали
287
  gate = 1.0 + min(0.5, (dist - float(ref_threshold)) * 4.0)
288
  m = m * gate
289
  except Exception:
@@ -1710,7 +1710,7 @@ def _build_cf_edge_mask_from_step(image_bhwc: torch.Tensor, preset_step: str) ->
1710
  edge_alpha = _safe_float(p.get('edge_alpha', 1.0), 1.0)
1711
  # Treat blend_factor as extra gain for edges (depth is not mixed here)
1712
  blend_factor = _safe_float(p.get('blend_factor', 0.02), 0.02)
1713
- # ControlNet multipliers section — use edge_strength_mul as an additional gain for edge mask
1714
  edge_strength_mul = _safe_float(p.get('edge_strength_mul', 1.0), 1.0)
1715
 
1716
  # Build edges with CF PyraCanny
@@ -1901,7 +1901,10 @@ class ComfyAdaptiveDetailEnhancer25:
1901
  clipseg_gain=1.0, clipseg_blend="fuse", clipseg_ref_gate=False, clipseg_ref_threshold=0.03,
1902
  polish_enable=False, polish_keep_low=0.4, polish_edge_lock=0.2, polish_sigma=1.0,
1903
  polish_start_after=1, polish_keep_low_ramp=0.2,
1904
- preset_step="Step 1", custom_override=False):
 
 
 
1905
  # Load base preset for the selected Step. When custom_override is True,
1906
  # visible UI controls (top-level) are kept from UI; hidden ones still come from preset.
1907
  try:
@@ -2016,6 +2019,8 @@ class ComfyAdaptiveDetailEnhancer25:
2016
  pass
2017
 
2018
  image = safe_decode(vae, latent)
 
 
2019
 
2020
  tuned_steps, tuned_cfg, tuned_denoise = AdaptiveSamplerHelper().tune(
2021
  image, steps, cfg, denoise)
@@ -2046,7 +2051,10 @@ class ComfyAdaptiveDetailEnhancer25:
2046
  str(sampler_name), str(scheduler), float(current_cfg), float(current_denoise),
2047
  base_seed=0, step_tag=step_tag,
2048
  clip_vision=clip_vision, reference_image=reference_image, clipseg_text=str(clipseg_text))
2049
- except Exception:
 
 
 
2050
  pass
2051
 
2052
  # Visual separation and start marker after seed is finalized
@@ -2189,7 +2197,11 @@ class ComfyAdaptiveDetailEnhancer25:
2189
  clipseg_enable = False
2190
  # Depth gate cache for micro-detail injection (reuse per resolution)
2191
  depth_gate_cache = {"size": None, "mask": None}
 
 
2192
  for i in range(iterations):
 
 
2193
  if i % 2 == 0:
2194
  clear_gpu_and_ram_cache()
2195
 
@@ -2420,7 +2432,9 @@ class ComfyAdaptiveDetailEnhancer25:
2420
  batch_inds = current_latent.get("batch_index", None)
2421
  noise = _sample.prepare_noise(lat_img, int(iter_seed), batch_inds)
2422
  noise_mask = current_latent.get("noise_mask", None)
2423
- callback = nodes.latent_preview.prepare_callback(sampler_model, int(current_steps))
 
 
2424
  disable_pbar = not _utils.PROGRESS_BAR_ENABLED
2425
  sampler_obj = _samplers.sampler_object(str(sampler_name))
2426
  samples = _sample.sample_custom(
@@ -2432,16 +2446,29 @@ class ComfyAdaptiveDetailEnhancer25:
2432
  current_latent = {**current_latent}
2433
  current_latent["samples"] = samples
2434
  except Exception as e:
 
 
 
 
 
 
 
 
 
 
2435
  # Fallback to original path if anything goes wrong
2436
  print(f"[CADE2.5][MGHybrid] fallback to common_ksampler due to: {e}")
2437
- current_latent, = nodes.common_ksampler(
2438
  sampler_model, iter_seed, int(current_steps), current_cfg, sampler_name, _scheduler_names()[0],
2439
  positive, negative, current_latent, denoise=current_denoise)
2440
  else:
2441
- current_latent, = nodes.common_ksampler(
2442
  sampler_model, iter_seed, int(current_steps), current_cfg, sampler_name, scheduler,
2443
  positive, negative, current_latent, denoise=current_denoise)
2444
 
 
 
 
2445
  if bool(latent_compare):
2446
  latent_diff = current_latent["samples"] - prev_samples
2447
  rms = torch.sqrt(torch.mean(latent_diff * latent_diff))
@@ -2477,6 +2504,8 @@ class ComfyAdaptiveDetailEnhancer25:
2477
  pass
2478
 
2479
  image = safe_decode(vae, current_latent)
 
 
2480
 
2481
  # Polish mode: keep global form (low frequencies) from reference while letting details refine
2482
  if bool(polish_enable) and (i >= int(polish_start_after)):
@@ -2668,6 +2697,16 @@ class ComfyAdaptiveDetailEnhancer25:
2668
  CURRENT_ONNX_MASK_BCHW = None
2669
  except Exception:
2670
  pass
 
 
 
 
 
 
 
 
 
 
2671
 
2672
  if apply_ids:
2673
  image, = IntelligentDetailStabilizer().stabilize(image, ids_strength)
@@ -2846,6 +2885,8 @@ def _smart_seed_select(model,
2846
  step_tag: str | None = None) -> int:
2847
  # Log start of SmartSeed selection
2848
  try:
 
 
2849
  try:
2850
  # Visual separation before SmartSeed block
2851
  print("")
@@ -2885,14 +2926,18 @@ def _smart_seed_select(model,
2885
  best_seed = cands[0]
2886
  best_score = -1e9
2887
  for sd in cands:
 
 
2888
  try:
2889
  # quick KSampler preview at low steps
2890
  lat_in = {"samples": latent["samples"].clone()} if isinstance(latent, dict) else latent
2891
- lat_out, = nodes.common_ksampler(
2892
  model, int(sd), int(probe_steps), float(cfg), str(sampler_name), str(scheduler),
2893
  positive, negative, lat_in, denoise=float(min(denoise, 0.65))
2894
  )
2895
  img = safe_decode(vae, lat_out)
 
 
2896
  # Base score: edge density toward a target + low speckle + balanced exposure
2897
  ed = _edge_density(img)
2898
  speck = _speckle_fraction(img)
@@ -2937,7 +2982,11 @@ def _smart_seed_select(model,
2937
  if score > best_score:
2938
  best_score = score
2939
  best_seed = sd
2940
- except Exception:
 
 
 
 
2941
  continue
2942
 
2943
  # Log end with selected seed
@@ -2949,7 +2998,11 @@ def _smart_seed_select(model,
2949
  except Exception:
2950
  pass
2951
  return int(best_seed & 0xFFFFFFFFFFFFFFFF)
2952
- except Exception:
 
 
 
 
2953
  # Fallback to time-based random
2954
  try:
2955
  import time
@@ -2966,3 +3019,30 @@ def _smart_seed_select(model,
2966
  return fallback_seed
2967
 
2968
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
283
  cur = _encode_clip_image(image_bhwc, clip_vision, target_res=224)
284
  dist = _clip_cosine_distance(cur, ref_embed)
285
  if dist > float(ref_threshold):
286
+ # up to +50% gain if distance exceeds the reference threshold
287
  gate = 1.0 + min(0.5, (dist - float(ref_threshold)) * 4.0)
288
  m = m * gate
289
  except Exception:
 
1710
  edge_alpha = _safe_float(p.get('edge_alpha', 1.0), 1.0)
1711
  # Treat blend_factor as extra gain for edges (depth is not mixed here)
1712
  blend_factor = _safe_float(p.get('blend_factor', 0.02), 0.02)
1713
+ # ControlNet multipliers: use edge_strength_mul as an additional gain for the edge mask
1714
  edge_strength_mul = _safe_float(p.get('edge_strength_mul', 1.0), 1.0)
1715
 
1716
  # Build edges with CF PyraCanny
 
1901
  clipseg_gain=1.0, clipseg_blend="fuse", clipseg_ref_gate=False, clipseg_ref_threshold=0.03,
1902
  polish_enable=False, polish_keep_low=0.4, polish_edge_lock=0.2, polish_sigma=1.0,
1903
  polish_start_after=1, polish_keep_low_ramp=0.2,
1904
+ preset_step="Step 1", custom_override=False):
1905
+ # Cooperative cancel before any heavy work
1906
+ model_management.throw_exception_if_processing_interrupted()
1907
+
1908
  # Load base preset for the selected Step. When custom_override is True,
1909
  # visible UI controls (top-level) are kept from UI; hidden ones still come from preset.
1910
  try:
 
2019
  pass
2020
 
2021
  image = safe_decode(vae, latent)
2022
+ # allow user cancel right after initial decode
2023
+ model_management.throw_exception_if_processing_interrupted()
2024
 
2025
  tuned_steps, tuned_cfg, tuned_denoise = AdaptiveSamplerHelper().tune(
2026
  image, steps, cfg, denoise)
 
2051
  str(sampler_name), str(scheduler), float(current_cfg), float(current_denoise),
2052
  base_seed=0, step_tag=step_tag,
2053
  clip_vision=clip_vision, reference_image=reference_image, clipseg_text=str(clipseg_text))
2054
+ except Exception as e:
2055
+ # propagate user cancel; swallow only non-interrupt errors
2056
+ if isinstance(e, model_management.InterruptProcessingException):
2057
+ raise
2058
  pass
2059
 
2060
  # Visual separation and start marker after seed is finalized
 
2197
  clipseg_enable = False
2198
  # Depth gate cache for micro-detail injection (reuse per resolution)
2199
  depth_gate_cache = {"size": None, "mask": None}
2200
+ # check once more right before the loop starts
2201
+ model_management.throw_exception_if_processing_interrupted()
2202
  for i in range(iterations):
2203
+ # cooperative cancel at the start of each iteration
2204
+ model_management.throw_exception_if_processing_interrupted()
2205
  if i % 2 == 0:
2206
  clear_gpu_and_ram_cache()
2207
 
 
2432
  batch_inds = current_latent.get("batch_index", None)
2433
  noise = _sample.prepare_noise(lat_img, int(iter_seed), batch_inds)
2434
  noise_mask = current_latent.get("noise_mask", None)
2435
+ callback = _wrap_interruptible_callback(sampler_model, int(current_steps))
2436
+ # cooperative cancel just before entering sampler
2437
+ model_management.throw_exception_if_processing_interrupted()
2438
  disable_pbar = not _utils.PROGRESS_BAR_ENABLED
2439
  sampler_obj = _samplers.sampler_object(str(sampler_name))
2440
  samples = _sample.sample_custom(
 
2446
  current_latent = {**current_latent}
2447
  current_latent["samples"] = samples
2448
  except Exception as e:
2449
+ # Before any fallback, propagate user cancel if set
2450
+ try:
2451
+ model_management.throw_exception_if_processing_interrupted()
2452
+ except Exception:
2453
+ globals()["_MG_CANCEL_REQUESTED"] = False
2454
+ raise
2455
+ # Do not swallow user interruption; also check sentinel just in case
2456
+ if isinstance(e, model_management.InterruptProcessingException) or globals().get("_MG_CANCEL_REQUESTED", False):
2457
+ globals()["_MG_CANCEL_REQUESTED"] = False
2458
+ raise
2459
  # Fallback to original path if anything goes wrong
2460
  print(f"[CADE2.5][MGHybrid] fallback to common_ksampler due to: {e}")
2461
+ current_latent, = _interruptible_ksampler(
2462
  sampler_model, iter_seed, int(current_steps), current_cfg, sampler_name, _scheduler_names()[0],
2463
  positive, negative, current_latent, denoise=current_denoise)
2464
  else:
2465
+ current_latent, = _interruptible_ksampler(
2466
  sampler_model, iter_seed, int(current_steps), current_cfg, sampler_name, scheduler,
2467
  positive, negative, current_latent, denoise=current_denoise)
2468
 
2469
+ # cooperative cancel immediately after sampling
2470
+ model_management.throw_exception_if_processing_interrupted()
2471
+
2472
  if bool(latent_compare):
2473
  latent_diff = current_latent["samples"] - prev_samples
2474
  rms = torch.sqrt(torch.mean(latent_diff * latent_diff))
 
2504
  pass
2505
 
2506
  image = safe_decode(vae, current_latent)
2507
+ # and again after decode before post-processing
2508
+ model_management.throw_exception_if_processing_interrupted()
2509
 
2510
  # Polish mode: keep global form (low frequencies) from reference while letting details refine
2511
  if bool(polish_enable) and (i >= int(polish_start_after)):
 
2697
  CURRENT_ONNX_MASK_BCHW = None
2698
  except Exception:
2699
  pass
2700
+ try:
2701
+ globals()["_MG_CANCEL_REQUESTED"] = False
2702
+ clear_gpu_and_ram_cache()
2703
+ except Exception:
2704
+ pass
2705
+ # best-effort cache cleanup on cancel or error
2706
+ try:
2707
+ clear_gpu_and_ram_cache()
2708
+ except Exception:
2709
+ pass
2710
 
2711
  if apply_ids:
2712
  image, = IntelligentDetailStabilizer().stabilize(image, ids_strength)
 
2885
  step_tag: str | None = None) -> int:
2886
  # Log start of SmartSeed selection
2887
  try:
2888
+ # cooperative cancel before any smart-seed work
2889
+ model_management.throw_exception_if_processing_interrupted()
2890
  try:
2891
  # Visual separation before SmartSeed block
2892
  print("")
 
2926
  best_seed = cands[0]
2927
  best_score = -1e9
2928
  for sd in cands:
2929
+ # allow user to cancel between candidates
2930
+ model_management.throw_exception_if_processing_interrupted()
2931
  try:
2932
  # quick KSampler preview at low steps
2933
  lat_in = {"samples": latent["samples"].clone()} if isinstance(latent, dict) else latent
2934
+ lat_out, = _interruptible_ksampler(
2935
  model, int(sd), int(probe_steps), float(cfg), str(sampler_name), str(scheduler),
2936
  positive, negative, lat_in, denoise=float(min(denoise, 0.65))
2937
  )
2938
  img = safe_decode(vae, lat_out)
2939
+ # and again right after decode
2940
+ model_management.throw_exception_if_processing_interrupted()
2941
  # Base score: edge density toward a target + low speckle + balanced exposure
2942
  ed = _edge_density(img)
2943
  speck = _speckle_fraction(img)
 
2982
  if score > best_score:
2983
  best_score = score
2984
  best_seed = sd
2985
+ except Exception as e:
2986
+ # do not swallow user interruption; also honour sentinel
2987
+ if isinstance(e, model_management.InterruptProcessingException) or globals().get("_MG_CANCEL_REQUESTED", False):
2988
+ globals()["_MG_CANCEL_REQUESTED"] = False
2989
+ raise
2990
  continue
2991
 
2992
  # Log end with selected seed
 
2998
  except Exception:
2999
  pass
3000
  return int(best_seed & 0xFFFFFFFFFFFFFFFF)
3001
+ except Exception as e:
3002
+ if isinstance(e, model_management.InterruptProcessingException) or globals().get("_MG_CANCEL_REQUESTED", False):
3003
+ globals()["_MG_CANCEL_REQUESTED"] = False
3004
+ # propagate cancel to stop the whole prompt cleanly
3005
+ raise
3006
  # Fallback to time-based random
3007
  try:
3008
  import time
 
3019
  return fallback_seed
3020
 
3021
 
3022
+ def _wrap_interruptible_callback(model, steps):
3023
+ base_cb = nodes.latent_preview.prepare_callback(model, int(steps))
3024
+ def _cb(step, x0, x, total_steps):
3025
+ model_management.throw_exception_if_processing_interrupted()
3026
+ return base_cb(step, x0, x, total_steps)
3027
+ return _cb
3028
+
3029
+ def _interruptible_ksampler(model, seed, steps, cfg, sampler_name, scheduler,
3030
+ positive, negative, latent, denoise=1.0):
3031
+ lat_img = _sample.fix_empty_latent_channels(model, latent["samples"])
3032
+ batch_inds = latent.get("batch_index", None)
3033
+ noise = _sample.prepare_noise(lat_img, int(seed), batch_inds)
3034
+ noise_mask = latent.get("noise_mask", None)
3035
+ callback = _wrap_interruptible_callback(model, int(steps))
3036
+ # cooperative cancel just before sampler entry
3037
+ model_management.throw_exception_if_processing_interrupted()
3038
+ disable_pbar = not _utils.PROGRESS_BAR_ENABLED
3039
+ samples = _sample.sample(
3040
+ model, noise, int(steps), float(cfg), str(sampler_name), str(scheduler),
3041
+ positive, negative, lat_img,
3042
+ denoise=float(denoise), disable_noise=False, start_step=None, last_step=None,
3043
+ force_full_denoise=False, noise_mask=noise_mask, callback=callback,
3044
+ disable_pbar=disable_pbar, seed=int(seed)
3045
+ )
3046
+ out = {**latent}
3047
+ out["samples"] = samples
3048
+ return (out,)
mod/easy/mg_supersimple_easy.py CHANGED
@@ -1,29 +1,30 @@
1
  from __future__ import annotations
2
 
3
- """MG_SuperSimple: Orchestrates a 14 step pipeline over CFCADE pairs.
4
-
5
- - Step 1: CADE with Step 1 preset. Exception: forces denoise=1.0.
6
- - Steps 2..N: ControlFusion (CF) with Step N preset CADE with Step N preset.
7
- - When custom is True: visible CADE controls (seed/steps/cfg/denoise/sampler/scheduler/clipseg_text)
8
- override corresponding Step presets across all steps (except step 1 denoise is always 1.0).
9
- - When custom is False: all CADE values come from Step presets; node UI values are ignored.
10
- - CF always uses its Step presets (no extra UI here) to keep the node minimal.
11
-
12
- Inputs
13
- - model/vae/latent/positive/negative: standard Comfy connectors
14
- - control_net: ControlNet module for CF (required)
15
- - reference_image/clip_vision: forwarded into CADE (optional)
16
-
17
- Outputs
18
- - (LATENT, IMAGE) from the final executed step
19
  """
20
 
 
21
  import torch
22
 
23
  from .mg_cade25_easy import ComfyAdaptiveDetailEnhancer25 as _CADE
24
  from .mg_controlfusion_easy import MG_ControlFusion as _CF
25
  from .mg_cade25_easy import _sampler_names as _sampler_names
26
  from .mg_cade25_easy import _scheduler_names as _scheduler_names
 
 
27
 
28
 
29
  class MG_SuperSimple:
@@ -97,10 +98,13 @@ class MG_SuperSimple:
97
  return pos, neg
98
 
99
  def run(self,
100
- step_count, custom,
101
- model, positive, negative, vae, latent, control_net,
102
- seed, steps, cfg, denoise, sampler_name, scheduler, clipseg_text,
103
- reference_image=None, clip_vision=None):
 
 
 
104
  # Clamp step_count to 1..4
105
  n = int(max(1, min(4, step_count)))
106
 
@@ -109,40 +113,48 @@ class MG_SuperSimple:
109
  cur_pos = positive
110
  cur_neg = negative
111
 
112
- # Step 1: CADE with Step 1 preset, denoise forced to 1.0
113
- denoise_step1 = 1.0
114
- lat1, img1 = self._cade(
115
- preset_step="Step 1",
116
- custom_override=bool(custom),
117
- model=model, vae=vae, positive=cur_pos, negative=cur_neg, latent=cur_latent,
118
- seed=seed, steps=steps, cfg=cfg, denoise=denoise_step1,
119
- sampler_name=sampler_name, scheduler=scheduler,
120
- clipseg_text=clipseg_text,
121
- reference_image=reference_image, clip_vision=clip_vision,
122
- )
123
- cur_latent, cur_image = lat1, img1
124
-
125
- # Steps 2..n: CF -> CADE per step
126
- for i in range(2, n + 1):
127
- # ControlFusion on current image/conds
128
- cur_pos, cur_neg = self._cf(
129
- preset_step=f"Step {i}",
130
- image=cur_image, positive=cur_pos, negative=cur_neg,
131
- control_net=control_net, vae=vae,
132
- )
133
- # CADE with shared controls
134
- # If no external reference_image is provided, use the previous step image
135
- # so that reference_clean / CLIP-Vision gating can take effect.
136
- ref_img = reference_image if (reference_image is not None) else cur_image
137
- lat_i, img_i = self._cade(
138
- preset_step=f"Step {i}",
139
  custom_override=bool(custom),
140
  model=model, vae=vae, positive=cur_pos, negative=cur_neg, latent=cur_latent,
141
- seed=seed, steps=steps, cfg=cfg, denoise=denoise,
142
  sampler_name=sampler_name, scheduler=scheduler,
143
  clipseg_text=clipseg_text,
144
- reference_image=ref_img, clip_vision=clip_vision,
145
  )
146
- cur_latent, cur_image = lat_i, img_i
147
-
148
- return (cur_latent, cur_image)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  from __future__ import annotations
2
 
3
+ """MG_SuperSimple: orchestrates a 1..4 step pipeline over CF -> CADE pairs.
4
+
5
+ Step 1: CADE with the "Step 1" preset (denoise is forced to 1.0).
6
+ Steps 2..N: ControlFusion (CF) with the "Step N" preset, then CADE with the same "Step N" preset.
7
+ When custom=True: visible CADE controls (seed/steps/cfg/denoise/sampler/scheduler/clipseg_text) override the corresponding Step presets across all steps (Step 1 still uses denoise=1.0).
8
+ When custom=False: CADE values come from Step presets; node UI values are ignored. CF always uses its Step presets (kept minimal here).
9
+ Inputs:
10
+
11
+ model/vae/latent/positive/negative: standard Comfy connectors
12
+ control_net: ControlNet module for CF (required)
13
+ reference_image/clip_vision: forwarded into CADE (optional)
14
+ Outputs:
15
+
16
+ (LATENT, IMAGE) from the final executed step
 
 
17
  """
18
 
19
+
20
  import torch
21
 
22
  from .mg_cade25_easy import ComfyAdaptiveDetailEnhancer25 as _CADE
23
  from .mg_controlfusion_easy import MG_ControlFusion as _CF
24
  from .mg_cade25_easy import _sampler_names as _sampler_names
25
  from .mg_cade25_easy import _scheduler_names as _scheduler_names
26
+ import comfy.model_management as model_management
27
+ from ..hard.mg_upscale_module import clear_gpu_and_ram_cache
28
 
29
 
30
  class MG_SuperSimple:
 
98
  return pos, neg
99
 
100
  def run(self,
101
+ step_count, custom,
102
+ model, positive, negative, vae, latent, control_net,
103
+ seed, steps, cfg, denoise, sampler_name, scheduler, clipseg_text,
104
+ reference_image=None, clip_vision=None):
105
+ # Cooperative cancel before any heavy work
106
+ model_management.throw_exception_if_processing_interrupted()
107
+
108
  # Clamp step_count to 1..4
109
  n = int(max(1, min(4, step_count)))
110
 
 
113
  cur_pos = positive
114
  cur_neg = negative
115
 
116
+ try:
117
+ # Step 1: CADE with Step 1 preset, denoise forced to 1.0
118
+ denoise_step1 = 1.0
119
+ lat1, img1 = self._cade(
120
+ preset_step="Step 1",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  custom_override=bool(custom),
122
  model=model, vae=vae, positive=cur_pos, negative=cur_neg, latent=cur_latent,
123
+ seed=seed, steps=steps, cfg=cfg, denoise=denoise_step1,
124
  sampler_name=sampler_name, scheduler=scheduler,
125
  clipseg_text=clipseg_text,
126
+ reference_image=reference_image, clip_vision=clip_vision,
127
  )
128
+ cur_latent, cur_image = lat1, img1
129
+
130
+ # Steps 2..n: CF -> CADE per step
131
+ for i in range(2, n + 1):
132
+ # allow user cancel between steps
133
+ model_management.throw_exception_if_processing_interrupted()
134
+ # ControlFusion on current image/conds
135
+ cur_pos, cur_neg = self._cf(
136
+ preset_step=f"Step {i}",
137
+ image=cur_image, positive=cur_pos, negative=cur_neg,
138
+ control_net=control_net, vae=vae,
139
+ )
140
+ # CADE with shared controls
141
+ # If no external reference_image is provided, use the previous step image
142
+ # so that reference_clean / CLIP-Vision gating can take effect.
143
+ ref_img = reference_image if (reference_image is not None) else cur_image
144
+ lat_i, img_i = self._cade(
145
+ preset_step=f"Step {i}",
146
+ custom_override=bool(custom),
147
+ model=model, vae=vae, positive=cur_pos, negative=cur_neg, latent=cur_latent,
148
+ seed=seed, steps=steps, cfg=cfg, denoise=denoise,
149
+ sampler_name=sampler_name, scheduler=scheduler,
150
+ clipseg_text=clipseg_text,
151
+ reference_image=ref_img, clip_vision=clip_vision,
152
+ )
153
+ cur_latent, cur_image = lat_i, img_i
154
+ return (cur_latent, cur_image)
155
+ finally:
156
+ # try to free memory on cancel or normal exit
157
+ try:
158
+ clear_gpu_and_ram_cache()
159
+ except Exception:
160
+ pass
mod/hard/mg_cade25.py CHANGED
@@ -33,6 +33,9 @@ _CLIPSEG_PROC = None
33
  _CLIPSEG_DEV = "cpu"
34
  _CLIPSEG_FORCE_CPU = True # pin CLIPSeg to CPU to avoid device drift
35
 
 
 
 
36
  # Per-iteration spatial guidance mask (B,1,H,W) in [0,1]; used by cfg_func when enabled
37
  # Kept for potential future use with non-ONNX masks (e.g., CLIPSeg/ControlFusion),
38
  # but not set by this node since ONNX paths are removed.
@@ -1540,7 +1543,16 @@ class ComfyAdaptiveDetailEnhancer25:
1540
  clipseg_enable = False
1541
  # Depth gate cache for micro-detail injection (reuse per resolution)
1542
  depth_gate_cache = {"size": None, "mask": None}
 
 
 
 
 
 
 
1543
  for i in range(iterations):
 
 
1544
  if i % 2 == 0:
1545
  clear_gpu_and_ram_cache()
1546
 
@@ -1618,7 +1630,9 @@ class ComfyAdaptiveDetailEnhancer25:
1618
  batch_inds = current_latent.get("batch_index", None)
1619
  noise = _sample.prepare_noise(lat_img, int(iter_seed), batch_inds)
1620
  noise_mask = current_latent.get("noise_mask", None)
1621
- callback = nodes.latent_preview.prepare_callback(sampler_model, int(current_steps))
 
 
1622
  disable_pbar = not _utils.PROGRESS_BAR_ENABLED
1623
  sampler_obj = _samplers.sampler_object(str(sampler_name))
1624
  samples = _sample.sample_custom(
@@ -1630,16 +1644,29 @@ class ComfyAdaptiveDetailEnhancer25:
1630
  current_latent = {**current_latent}
1631
  current_latent["samples"] = samples
1632
  except Exception as e:
 
 
 
 
 
 
 
 
 
 
1633
  # Fallback to original path if anything goes wrong
1634
  print(f"[CADE2.5][MGHybrid] fallback to common_ksampler due to: {e}")
1635
- current_latent, = nodes.common_ksampler(
1636
  sampler_model, iter_seed, int(current_steps), current_cfg, sampler_name, _scheduler_names()[0],
1637
  positive, negative, current_latent, denoise=current_denoise)
1638
  else:
1639
- current_latent, = nodes.common_ksampler(
1640
  sampler_model, iter_seed, int(current_steps), current_cfg, sampler_name, scheduler,
1641
  positive, negative, current_latent, denoise=current_denoise)
1642
 
 
 
 
1643
  if bool(latent_compare):
1644
  latent_diff = current_latent["samples"] - prev_samples
1645
  rms = torch.sqrt(torch.mean(latent_diff * latent_diff))
@@ -1675,6 +1702,8 @@ class ComfyAdaptiveDetailEnhancer25:
1675
  pass
1676
 
1677
  image = safe_decode(vae, current_latent)
 
 
1678
 
1679
  # Polish mode: keep global form (low frequencies) from reference while letting details refine
1680
  if bool(polish_enable) and (i >= int(polish_start_after)):
@@ -1833,6 +1862,17 @@ class ComfyAdaptiveDetailEnhancer25:
1833
  CURRENT_ONNX_MASK_BCHW = None
1834
  except Exception:
1835
  pass
 
 
 
 
 
 
 
 
 
 
 
1836
 
1837
  if apply_ids:
1838
  image, = IntelligentDetailStabilizer().stabilize(image, ids_strength)
@@ -1862,3 +1902,33 @@ class ComfyAdaptiveDetailEnhancer25:
1862
 
1863
 
1864
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  _CLIPSEG_DEV = "cpu"
34
  _CLIPSEG_FORCE_CPU = True # pin CLIPSeg to CPU to avoid device drift
35
 
36
+ # Cooperative cancel sentinel: set in callbacks when user interrupts
37
+ _MG_CANCEL_REQUESTED = False
38
+
39
  # Per-iteration spatial guidance mask (B,1,H,W) in [0,1]; used by cfg_func when enabled
40
  # Kept for potential future use with non-ONNX masks (e.g., CLIPSeg/ControlFusion),
41
  # but not set by this node since ONNX paths are removed.
 
1543
  clipseg_enable = False
1544
  # Depth gate cache for micro-detail injection (reuse per resolution)
1545
  depth_gate_cache = {"size": None, "mask": None}
1546
+ # early interruption check before starting the loop
1547
+ try:
1548
+ model_management.throw_exception_if_processing_interrupted()
1549
+ except Exception:
1550
+ # ensure finally-block cleanup runs and exception propagates
1551
+ raise
1552
+
1553
  for i in range(iterations):
1554
+ # cooperative cancel at the start of each iteration
1555
+ model_management.throw_exception_if_processing_interrupted()
1556
  if i % 2 == 0:
1557
  clear_gpu_and_ram_cache()
1558
 
 
1630
  batch_inds = current_latent.get("batch_index", None)
1631
  noise = _sample.prepare_noise(lat_img, int(iter_seed), batch_inds)
1632
  noise_mask = current_latent.get("noise_mask", None)
1633
+ callback = _wrap_interruptible_callback(sampler_model, int(current_steps))
1634
+ # cooperative cancel just before entering sampler
1635
+ model_management.throw_exception_if_processing_interrupted()
1636
  disable_pbar = not _utils.PROGRESS_BAR_ENABLED
1637
  sampler_obj = _samplers.sampler_object(str(sampler_name))
1638
  samples = _sample.sample_custom(
 
1644
  current_latent = {**current_latent}
1645
  current_latent["samples"] = samples
1646
  except Exception as e:
1647
+ # Before any fallback, propagate user cancel if set
1648
+ try:
1649
+ model_management.throw_exception_if_processing_interrupted()
1650
+ except Exception:
1651
+ globals()["_MG_CANCEL_REQUESTED"] = False
1652
+ raise
1653
+ # Do not swallow user interruption; also check sentinel just in case
1654
+ if isinstance(e, model_management.InterruptProcessingException) or globals().get("_MG_CANCEL_REQUESTED", False):
1655
+ globals()["_MG_CANCEL_REQUESTED"] = False
1656
+ raise
1657
  # Fallback to original path if anything goes wrong
1658
  print(f"[CADE2.5][MGHybrid] fallback to common_ksampler due to: {e}")
1659
+ current_latent, = _interruptible_ksampler(
1660
  sampler_model, iter_seed, int(current_steps), current_cfg, sampler_name, _scheduler_names()[0],
1661
  positive, negative, current_latent, denoise=current_denoise)
1662
  else:
1663
+ current_latent, = _interruptible_ksampler(
1664
  sampler_model, iter_seed, int(current_steps), current_cfg, sampler_name, scheduler,
1665
  positive, negative, current_latent, denoise=current_denoise)
1666
 
1667
+ # cooperative cancel right after sampling, before further heavy work
1668
+ model_management.throw_exception_if_processing_interrupted()
1669
+
1670
  if bool(latent_compare):
1671
  latent_diff = current_latent["samples"] - prev_samples
1672
  rms = torch.sqrt(torch.mean(latent_diff * latent_diff))
 
1702
  pass
1703
 
1704
  image = safe_decode(vae, current_latent)
1705
+ # allow cancel between sampling and post-decode logic
1706
+ model_management.throw_exception_if_processing_interrupted()
1707
 
1708
  # Polish mode: keep global form (low frequencies) from reference while letting details refine
1709
  if bool(polish_enable) and (i >= int(polish_start_after)):
 
1862
  CURRENT_ONNX_MASK_BCHW = None
1863
  except Exception:
1864
  pass
1865
+ # reset cancel sentinel and cleanup cache
1866
+ try:
1867
+ globals()["_MG_CANCEL_REQUESTED"] = False
1868
+ clear_gpu_and_ram_cache()
1869
+ except Exception:
1870
+ pass
1871
+ # best-effort cleanup of GPU/CPU caches on cancel or error
1872
+ try:
1873
+ clear_gpu_and_ram_cache()
1874
+ except Exception:
1875
+ pass
1876
 
1877
  if apply_ids:
1878
  image, = IntelligentDetailStabilizer().stabilize(image, ids_strength)
 
1902
 
1903
 
1904
 
1905
+ def _wrap_interruptible_callback(model, steps):
1906
+ base_cb = nodes.latent_preview.prepare_callback(model, int(steps))
1907
+ def _cb(step, x0, x, total_steps):
1908
+ # mark sentinel so outer layers avoid fallbacks on cancel
1909
+ if model_management.processing_interrupted():
1910
+ globals()["_MG_CANCEL_REQUESTED"] = True
1911
+ raise model_management.InterruptProcessingException()
1912
+ return base_cb(step, x0, x, total_steps)
1913
+ return _cb
1914
+
1915
+ def _interruptible_ksampler(model, seed, steps, cfg, sampler_name, scheduler,
1916
+ positive, negative, latent, denoise=1.0):
1917
+ lat_img = _sample.fix_empty_latent_channels(model, latent["samples"])
1918
+ batch_inds = latent.get("batch_index", None)
1919
+ noise = _sample.prepare_noise(lat_img, int(seed), batch_inds)
1920
+ noise_mask = latent.get("noise_mask", None)
1921
+ callback = _wrap_interruptible_callback(model, int(steps))
1922
+ # cooperative cancel just before sampler entry
1923
+ model_management.throw_exception_if_processing_interrupted()
1924
+ disable_pbar = not _utils.PROGRESS_BAR_ENABLED
1925
+ samples = _sample.sample(
1926
+ model, noise, int(steps), float(cfg), str(sampler_name), str(scheduler),
1927
+ positive, negative, lat_img,
1928
+ denoise=float(denoise), disable_noise=False, start_step=None, last_step=None,
1929
+ force_full_denoise=False, noise_mask=noise_mask, callback=callback,
1930
+ disable_pbar=disable_pbar, seed=int(seed)
1931
+ )
1932
+ out = {**latent}
1933
+ out["samples"] = samples
1934
+ return (out,)
mod/mg_combinode.py CHANGED
@@ -60,6 +60,12 @@ def _unload_old_checkpoint(current_path):
60
  class MagicNodesCombiNode:
61
  @classmethod
62
  def INPUT_TYPES(cls):
 
 
 
 
 
 
63
  return {
64
  "required": {
65
 
@@ -72,37 +78,37 @@ class MagicNodesCombiNode:
72
 
73
  # --- LoRA 1 ---
74
  "use_lora_1": ("BOOLEAN", {"default": True}),
75
- "lora_1": (folder_paths.get_filename_list("loras"), {}),
76
  "strength_model_1": ("FLOAT", {"default": 1.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
77
  "strength_clip_1": ("FLOAT", {"default": 1.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
78
 
79
  # --- LoRA 2 ---
80
  "use_lora_2": ("BOOLEAN", {"default": False}),
81
- "lora_2": (folder_paths.get_filename_list("loras"), {}),
82
  "strength_model_2": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
83
  "strength_clip_2": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
84
 
85
  # --- LoRA 3 ---
86
  "use_lora_3": ("BOOLEAN", {"default": False}),
87
- "lora_3": (folder_paths.get_filename_list("loras"), {}),
88
  "strength_model_3": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
89
  "strength_clip_3": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
90
 
91
  # --- LoRA 4 ---
92
  "use_lora_4": ("BOOLEAN", {"default": False}),
93
- "lora_4": (folder_paths.get_filename_list("loras"), {}),
94
  "strength_model_4": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
95
  "strength_clip_4": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
96
 
97
  # --- LoRA 5 ---
98
  "use_lora_5": ("BOOLEAN", {"default": False}),
99
- "lora_5": (folder_paths.get_filename_list("loras"), {}),
100
  "strength_model_5": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
101
  "strength_clip_5": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
102
 
103
  # --- LoRA 6 ---
104
  "use_lora_6": ("BOOLEAN", {"default": False}),
105
- "lora_6": (folder_paths.get_filename_list("loras"), {}),
106
  "strength_model_6": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
107
  "strength_clip_6": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
108
  },
@@ -302,18 +308,30 @@ class MagicNodesCombiNode:
302
  lora_stack = [] # list of (lora_file, sc, sm)
303
  defer_clip = bool(standard_pipeline)
304
  for use_lora, lora_name, sm, sc in loras:
305
- if use_lora and lora_name:
306
- lora_path = folder_paths.get_full_path_or_raise("loras", lora_name)
307
- active_lora_paths.append(lora_path)
308
- # keep lora object to avoid reloading
309
- if lora_path in _lora_cache:
310
- lora_file = _lora_cache[lora_path]
311
- else:
312
- lora_file = comfy.utils.load_torch_file(lora_path, safe_load=True)
313
- _lora_cache[lora_path] = lora_file
314
- lora_stack.append((lora_file, float(sc), float(sm)))
315
- sc_apply = 0.0 if defer_clip else sc
316
- model, clip = comfy.sd.load_lora_for_models(model, clip, lora_file, sm, sc_apply)
 
 
 
 
 
 
 
 
 
 
 
 
317
 
318
  _clear_unused_loras(active_lora_paths)
319
  # Warn about duplicate LoRA selections across slots
 
60
  class MagicNodesCombiNode:
61
  @classmethod
62
  def INPUT_TYPES(cls):
63
+ def _loras_with_none():
64
+ try:
65
+ return ["None"] + list(folder_paths.get_filename_list("loras"))
66
+ except Exception:
67
+ return ["None"]
68
+
69
  return {
70
  "required": {
71
 
 
78
 
79
  # --- LoRA 1 ---
80
  "use_lora_1": ("BOOLEAN", {"default": True}),
81
+ "lora_1": (_loras_with_none(), {}),
82
  "strength_model_1": ("FLOAT", {"default": 1.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
83
  "strength_clip_1": ("FLOAT", {"default": 1.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
84
 
85
  # --- LoRA 2 ---
86
  "use_lora_2": ("BOOLEAN", {"default": False}),
87
+ "lora_2": (_loras_with_none(), {}),
88
  "strength_model_2": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
89
  "strength_clip_2": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
90
 
91
  # --- LoRA 3 ---
92
  "use_lora_3": ("BOOLEAN", {"default": False}),
93
+ "lora_3": (_loras_with_none(), {}),
94
  "strength_model_3": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
95
  "strength_clip_3": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
96
 
97
  # --- LoRA 4 ---
98
  "use_lora_4": ("BOOLEAN", {"default": False}),
99
+ "lora_4": (_loras_with_none(), {}),
100
  "strength_model_4": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
101
  "strength_clip_4": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
102
 
103
  # --- LoRA 5 ---
104
  "use_lora_5": ("BOOLEAN", {"default": False}),
105
+ "lora_5": (_loras_with_none(), {}),
106
  "strength_model_5": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
107
  "strength_clip_5": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
108
 
109
  # --- LoRA 6 ---
110
  "use_lora_6": ("BOOLEAN", {"default": False}),
111
+ "lora_6": (_loras_with_none(), {}),
112
  "strength_model_6": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
113
  "strength_clip_6": ("FLOAT", {"default": 0.0, "min": -1.5, "max": 1.5, "step": 0.01,}),
114
  },
 
308
  lora_stack = [] # list of (lora_file, sc, sm)
309
  defer_clip = bool(standard_pipeline)
310
  for use_lora, lora_name, sm, sc in loras:
311
+ # Skip when disabled or name empty
312
+ if not use_lora or not lora_name:
313
+ continue
314
+ # Resolve path safely (do not raise if missing)
315
+ try:
316
+ lora_path = folder_paths.get_full_path("loras", lora_name)
317
+ except Exception:
318
+ lora_path = None
319
+ if not lora_path or not os.path.exists(lora_path):
320
+ try:
321
+ print(f"[CombiNode] LoRA '{lora_name}' not found; skipping.")
322
+ except Exception:
323
+ pass
324
+ continue
325
+ active_lora_paths.append(lora_path)
326
+ # keep lora object to avoid reloading
327
+ if lora_path in _lora_cache:
328
+ lora_file = _lora_cache[lora_path]
329
+ else:
330
+ lora_file = comfy.utils.load_torch_file(lora_path, safe_load=True)
331
+ _lora_cache[lora_path] = lora_file
332
+ lora_stack.append((lora_file, float(sc), float(sm)))
333
+ sc_apply = 0.0 if defer_clip else sc
334
+ model, clip = comfy.sd.load_lora_for_models(model, clip, lora_file, sm, sc_apply)
335
 
336
  _clear_unused_loras(active_lora_paths)
337
  # Warn about duplicate LoRA selections across slots
workflows/mg_Easy-Workflow.json CHANGED
@@ -1 +1 @@
1
- {"id":"ab14c37a-6cec-41cf-899a-b499539f5b8b","revision":0,"last_node_id":58,"last_link_id":152,"nodes":[{"id":33,"type":"PreviewImage","pos":[934.524998846107,827.6679009139978],"size":[454.34515960057956,487.52469509807827],"flags":{},"order":24,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":142}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":16,"type":"PreviewImage","pos":[1500.7861350427,834.011023145272],"size":[454.34515960057956,487.52469509807827],"flags":{},"order":25,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":22}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":7,"type":"SaveImage","pos":[2796.435012229308,813.9383242288463],"size":[645.60324992196,715.7559184038435],"flags":{},"order":35,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":48},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{},"widgets_values":["ComfyUI"]},{"id":26,"type":"PreviewImage","pos":[2402.088511427638,-384.4257289383634],"size":[204.34144162678967,246],"flags":{},"order":32,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":41}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":45,"type":"PreviewImage","pos":[2134.6382392169603,-384.3467464741332],"size":[204.34144162678967,246],"flags":{},"order":29,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":123}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":44,"type":"MG_ControlFusion_Easy","pos":[2230.0043967143683,-89.74152781984677],"size":[270,258],"flags":{},"order":26,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"IMAGE","link":110},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":119},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":120},{"localized_name":"control_net","name":"control_net","type":"CONTROL_NET","link":146},{"localized_name":"vae","name":"vae","type":"VAE","link":134},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"enable_depth","name":"enable_depth","type":"BOOLEAN","widget":{"name":"enable_depth"},"link":null},{"localized_name":"enable_pyra","name":"enable_pyra","type":"BOOLEAN","widget":{"name":"enable_pyra"},"link":null},{"localized_name":"edge_alpha","name":"edge_alpha","type":"FLOAT","widget":{"name":"edge_alpha"},"link":null},{"localized_name":"blend_factor","name":"blend_factor","type":"FLOAT","widget":{"name":"blend_factor"},"link":null}],"outputs":[{"localized_name":"positive","name":"positive","type":"CONDITIONING","links":[115,122]},{"localized_name":"negative","name":"negative","type":"CONDITIONING","links":[116,121]},{"localized_name":"Mask_Preview","name":"Mask_Preview","type":"IMAGE","links":[123]}],"properties":{"Node name for S&R":"MG_ControlFusion_Easy"},"widgets_values":["Step 3",false,true,true,1,0.02]},{"id":42,"type":"PreviewImage","pos":[2869.9561925844105,-392.07761053265784],"size":[204.34144162678967,246],"flags":{},"order":34,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":90}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":31,"type":"PreviewImage","pos":[3124.9260576007664,-392.6557805266826],"size":[204.34144162678967,246],"flags":{},"order":36,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":46}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":41,"type":"MG_ControlFusion_Easy","pos":[2963.5735553194004,-88.49280600871076],"size":[270,258],"flags":{},"order":31,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"IMAGE","link":85},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":122},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":121},{"localized_name":"control_net","name":"control_net","type":"CONTROL_NET","link":148},{"localized_name":"vae","name":"vae","type":"VAE","link":133},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"enable_depth","name":"enable_depth","type":"BOOLEAN","widget":{"name":"enable_depth"},"link":null},{"localized_name":"enable_pyra","name":"enable_pyra","type":"BOOLEAN","widget":{"name":"enable_pyra"},"link":null},{"localized_name":"edge_alpha","name":"edge_alpha","type":"FLOAT","widget":{"name":"edge_alpha"},"link":null},{"localized_name":"blend_factor","name":"blend_factor","type":"FLOAT","widget":{"name":"blend_factor"},"link":null}],"outputs":[{"localized_name":"positive","name":"positive","type":"CONDITIONING","links":[86]},{"localized_name":"negative","name":"negative","type":"CONDITIONING","links":[87]},{"localized_name":"Mask_Preview","name":"Mask_Preview","type":"IMAGE","links":[90]}],"properties":{"Node name for S&R":"MG_ControlFusion_Easy"},"widgets_values":["Step 4",false,true,true,1,0.02]},{"id":43,"type":"MG_ControlFusion_Easy","pos":[1591.642692427568,-97.88472358998305],"size":[270,258],"flags":{},"order":19,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"IMAGE","link":97},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":102},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":103},{"localized_name":"control_net","name":"control_net","type":"CONTROL_NET","link":144},{"localized_name":"vae","name":"vae","type":"VAE","link":135},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"enable_depth","name":"enable_depth","type":"BOOLEAN","widget":{"name":"enable_depth"},"link":null},{"localized_name":"enable_pyra","name":"enable_pyra","type":"BOOLEAN","widget":{"name":"enable_pyra"},"link":null},{"localized_name":"edge_alpha","name":"edge_alpha","type":"FLOAT","widget":{"name":"edge_alpha"},"link":null},{"localized_name":"blend_factor","name":"blend_factor","type":"FLOAT","widget":{"name":"blend_factor"},"link":null}],"outputs":[{"localized_name":"positive","name":"positive","type":"CONDITIONING","links":[107,119]},{"localized_name":"negative","name":"negative","type":"CONDITIONING","links":[106,120]},{"localized_name":"Mask_Preview","name":"Mask_Preview","type":"IMAGE","links":[124]}],"properties":{"Node name for S&R":"MG_ControlFusion_Easy"},"widgets_values":["Step 2",false,true,true,1,0.02]},{"id":15,"type":"PreviewImage","pos":[1735.1930557379187,-393.0297689400224],"size":[204.34144162678967,246],"flags":{},"order":27,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":21}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":46,"type":"PreviewImage","pos":[1507.7533042139721,-396.74243519648866],"size":[204.34144162678967,246],"flags":{},"order":23,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":124}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":10,"type":"Note","pos":[-144.73815950276332,524.3438860412525],"size":[210,135.28179391870685],"flags":{},"order":0,"mode":0,"inputs":[],"outputs":[],"title":"Positive","properties":{},"widgets_values":["---->"],"color":"#232","bgcolor":"#353"},{"id":8,"type":"Note","pos":[-136.6498868216612,934.3499360344714],"size":[213.5817209730206,155.86666460906906],"flags":{},"order":1,"mode":0,"inputs":[],"outputs":[],"title":"Negative","properties":{},"widgets_values":["---->\n\n(super-wrong:1) - it's a trigger negative prompt for 'mg_7lambda_negative'"],"color":"#322","bgcolor":"#533"},{"id":53,"type":"Reroute","pos":[990.3715999390612,503.0075133219898],"size":[75,26],"flags":{},"order":20,"mode":0,"inputs":[{"name":"","type":"*","link":141}],"outputs":[{"name":"","type":"IMAGE","links":[142]}],"properties":{"showOutputText":false,"horizontal":false}},{"id":3,"type":"MagicSeedLatent","pos":[629.902126183393,-182.7453558545654],"size":[270,198],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"vae","name":"vae","shape":7,"type":"VAE","link":2},{"localized_name":"image","name":"image","shape":7,"type":"IMAGE","link":null},{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":null},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":null},{"localized_name":"batch_size","name":"batch_size","type":"INT","widget":{"name":"batch_size"},"link":null},{"localized_name":"sigma","name":"sigma","type":"FLOAT","widget":{"name":"sigma"},"link":null},{"localized_name":"bias","name":"bias","type":"FLOAT","widget":{"name":"bias"},"link":null},{"localized_name":"mix_image","name":"mix_image","type":"BOOLEAN","widget":{"name":"mix_image"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[19]}],"properties":{"Node name for S&R":"MagicSeedLatent"},"widgets_values":[672,944,1,0.8,0.5,false],"color":"#323","bgcolor":"#535"},{"id":4,"type":"ControlNetLoader","pos":[1106.8272213312625,465.13839701649334],"size":[271.9963341032716,58],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"control_net_name","name":"control_net_name","type":"COMBO","widget":{"name":"control_net_name"},"link":null}],"outputs":[{"label":"CONTROL_NET","localized_name":"CONTROL_NET","name":"CONTROL_NET","type":"CONTROL_NET","slot_index":0,"links":[143]}],"properties":{"Node name for S&R":"ControlNetLoader","models":[{"name":"control_v11p_sd15_scribble_fp16.safetensors","url":"https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_scribble_fp16.safetensors?download=true","directory":"controlnet"}]},"widgets_values":["diffusers_xl_depth_full.safetensors"],"color":"#233","bgcolor":"#355"},{"id":5,"type":"CLIPVisionLoader","pos":[1107.383961736022,356.1351441545039],"size":[267.557917518395,58],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"clip_name","name":"clip_name","type":"COMBO","widget":{"name":"clip_name"},"link":null}],"outputs":[{"localized_name":"CLIP_VISION","name":"CLIP_VISION","type":"CLIP_VISION","links":[17,92]}],"properties":{"Node name for S&R":"CLIPVisionLoader"},"widgets_values":["open_clip_model(NS).safetensors"],"color":"#2a363b","bgcolor":"#3f5159"},{"id":49,"type":"Reroute","pos":[2127.6689254267244,589.457535723742],"size":[75,26],"flags":{},"order":15,"mode":0,"inputs":[{"name":"","type":"*","link":129}],"outputs":[{"name":"","type":"VAE","links":[130,131,134]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#432","bgcolor":"#653"},{"id":47,"type":"Reroute","pos":[2126.2268260656597,621.1837216671687],"size":[75,26],"flags":{},"order":12,"mode":0,"inputs":[{"name":"","type":"*","link":125}],"outputs":[{"name":"","type":"CLIP_VISION","links":[126,127]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#2a363b","bgcolor":"#3f5159"},{"id":55,"type":"Reroute","pos":[2125.520836752072,649.1034792254129],"size":[75,26],"flags":{},"order":11,"mode":0,"inputs":[{"name":"","type":"*","link":145}],"outputs":[{"name":"","type":"CONTROL_NET","links":[146,147]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#233","bgcolor":"#355"},{"id":52,"type":"Reroute","pos":[2847.2765065980852,559.1734491413802],"size":[75,26],"flags":{},"order":18,"mode":0,"inputs":[{"name":"","type":"*","link":139}],"outputs":[{"name":"","type":"MODEL","links":[140]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#223","bgcolor":"#335"},{"id":50,"type":"Reroute","pos":[2847.276506598083,593.7838338069366],"size":[75,26],"flags":{},"order":21,"mode":0,"inputs":[{"name":"","type":"*","link":131}],"outputs":[{"name":"","type":"VAE","links":[132,133]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#432","bgcolor":"#653"},{"id":48,"type":"Reroute","pos":[2847.2765065980825,624.0679203892983],"size":[75,26],"flags":{},"order":17,"mode":0,"inputs":[{"name":"","type":"*","link":127}],"outputs":[{"name":"","type":"CLIP_VISION","links":[128]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#2a363b","bgcolor":"#3f5159"},{"id":56,"type":"Reroute","pos":[2843.686318562366,656.3139760307369],"size":[75,26],"flags":{},"order":16,"mode":0,"inputs":[{"name":"","type":"*","link":147}],"outputs":[{"name":"","type":"CONTROL_NET","links":[148]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#233","bgcolor":"#355"},{"id":19,"type":"Reroute","pos":[1498.7055053565248,550.5312952244669],"size":[75,26],"flags":{},"order":7,"mode":0,"inputs":[{"name":"","type":"*","link":150}],"outputs":[{"name":"","type":"MODEL","links":[136,137]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#223","bgcolor":"#335"},{"id":20,"type":"Reroute","pos":[1500.2829216438683,587.3239702140152],"size":[75,26],"flags":{},"order":10,"mode":0,"inputs":[{"name":"","type":"*","link":31}],"outputs":[{"name":"","type":"VAE","links":[32,129,135]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#432","bgcolor":"#653"},{"id":17,"type":"Reroute","pos":[1500.0465475793615,619.3098903755488],"size":[75,26],"flags":{},"order":6,"mode":0,"inputs":[{"name":"","type":"*","link":92}],"outputs":[{"name":"","type":"CLIP_VISION","links":[28,125]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#2a363b","bgcolor":"#3f5159"},{"id":54,"type":"Reroute","pos":[1500.2152857001722,653.5359574268514],"size":[75,26],"flags":{},"order":5,"mode":0,"inputs":[{"name":"","type":"*","link":143}],"outputs":[{"name":"","type":"CONTROL_NET","links":[144,145]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#233","bgcolor":"#355"},{"id":51,"type":"Reroute","pos":[2129.1110247877914,554.8471510581859],"size":[75,26],"flags":{},"order":13,"mode":0,"inputs":[{"name":"","type":"*","link":137}],"outputs":[{"name":"","type":"MODEL","links":[138,139]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#223","bgcolor":"#335"},{"id":24,"type":"ComfyAdaptiveDetailEnhancer25_Easy","pos":[2216.167965338495,236.13994164208663],"size":[304.44140625,394],"flags":{},"order":28,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":138},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":115},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":116},{"localized_name":"vae","name":"vae","type":"VAE","link":130},{"localized_name":"latent","name":"latent","type":"LATENT","link":62},{"localized_name":"reference_image","name":"reference_image","shape":7,"type":"IMAGE","link":66},{"localized_name":"clip_vision","name":"clip_vision","shape":7,"type":"CLIP_VISION","link":126},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"clipseg_text","name":"clipseg_text","shape":7,"type":"STRING","widget":{"name":"clipseg_text"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[61]},{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[40,65,85]},{"localized_name":"mask_preview","name":"mask_preview","type":"IMAGE","links":[41]}],"properties":{"Node name for S&R":"ComfyAdaptiveDetailEnhancer25_Easy"},"widgets_values":["Step 3",false,0,"fixed",30,7,0.55,"ddim","MGHybrid","hand, feet, face"]},{"id":25,"type":"PreviewImage","pos":[2076.6050781706476,818.6164042016213],"size":[607.2076918734667,715.3763941463438],"flags":{},"order":30,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":40}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":29,"type":"ComfyAdaptiveDetailEnhancer25_Easy","pos":[2947.1571822581677,229.68250150174998],"size":[304.44140625,394],"flags":{},"order":33,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":140},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":86},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":87},{"localized_name":"vae","name":"vae","type":"VAE","link":132},{"localized_name":"latent","name":"latent","type":"LATENT","link":61},{"localized_name":"reference_image","name":"reference_image","shape":7,"type":"IMAGE","link":65},{"localized_name":"clip_vision","name":"clip_vision","shape":7,"type":"CLIP_VISION","link":128},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"clipseg_text","name":"clipseg_text","shape":7,"type":"STRING","widget":{"name":"clipseg_text"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":null},{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[48]},{"localized_name":"mask_preview","name":"mask_preview","type":"IMAGE","links":[46]}],"properties":{"Node name for S&R":"ComfyAdaptiveDetailEnhancer25_Easy"},"widgets_values":["Step 4",false,0,"fixed",30,7,0.45,"ddim","MGHybrid","hand, feet, face"]},{"id":11,"type":"ComfyAdaptiveDetailEnhancer25_Easy","pos":[1572.9731847035082,222.56018167321056],"size":[304.44140625,394],"flags":{},"order":22,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":136},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":107},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":106},{"localized_name":"vae","name":"vae","type":"VAE","link":32},{"localized_name":"latent","name":"latent","type":"LATENT","link":37},{"localized_name":"reference_image","name":"reference_image","shape":7,"type":"IMAGE","link":24},{"localized_name":"clip_vision","name":"clip_vision","shape":7,"type":"CLIP_VISION","link":28},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"clipseg_text","name":"clipseg_text","shape":7,"type":"STRING","widget":{"name":"clipseg_text"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[62]},{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[22,66,110]},{"localized_name":"mask_preview","name":"mask_preview","type":"IMAGE","links":[21]}],"properties":{"Node name for S&R":"ComfyAdaptiveDetailEnhancer25_Easy"},"widgets_values":["Step 2",false,0,"fixed",30,7,0.65,"ddim","MGHybrid","hand, feet, face"]},{"id":14,"type":"ComfyAdaptiveDetailEnhancer25_Easy","pos":[1028.7352577781799,-254.68484251639404],"size":[304.44140625,394],"flags":{},"order":14,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":152},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":13},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":14},{"localized_name":"vae","name":"vae","type":"VAE","link":15},{"localized_name":"latent","name":"latent","type":"LATENT","link":19},{"localized_name":"reference_image","name":"reference_image","shape":7,"type":"IMAGE","link":null},{"localized_name":"clip_vision","name":"clip_vision","shape":7,"type":"CLIP_VISION","link":17},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"clipseg_text","name":"clipseg_text","shape":7,"type":"STRING","widget":{"name":"clipseg_text"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[37]},{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[24,97,141]},{"localized_name":"mask_preview","name":"mask_preview","type":"IMAGE","links":[]}],"properties":{"Node name for S&R":"ComfyAdaptiveDetailEnhancer25_Easy"},"widgets_values":["Step 1",false,0,"fixed",30,7,0.9999,"ddim","MGHybrid","hand, feet, face"]},{"id":58,"type":"PatchSageAttention","pos":[627.8244030121156,-297.19892309893845],"size":[270,58],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":151},{"localized_name":"sage_attention","name":"sage_attention","type":"COMBO","widget":{"name":"sage_attention"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[152]}],"properties":{"Node name for S&R":"PatchSageAttention"},"widgets_values":["auto_quality"],"color":"#223","bgcolor":"#335"},{"id":2,"type":"MagicNodesCombiNode","pos":[93.09648271877055,-350.9065523480804],"size":[439.3682369626521,1874.7812342789503],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"model_in","name":"model_in","shape":7,"type":"MODEL","link":null},{"localized_name":"clip_in","name":"clip_in","shape":7,"type":"CLIP","link":null},{"localized_name":"vae_in","name":"vae_in","shape":7,"type":"VAE","link":null},{"localized_name":"positive_in","name":"positive_in","shape":7,"type":"CONDITIONING","link":null},{"localized_name":"negative_in","name":"negative_in","shape":7,"type":"CONDITIONING","link":null},{"localized_name":"use_checkpoint","name":"use_checkpoint","type":"BOOLEAN","widget":{"name":"use_checkpoint"},"link":null},{"localized_name":"checkpoint","name":"checkpoint","type":"COMBO","widget":{"name":"checkpoint"},"link":null},{"localized_name":"clear_cache","name":"clear_cache","type":"BOOLEAN","widget":{"name":"clear_cache"},"link":null},{"localized_name":"use_lora_1","name":"use_lora_1","type":"BOOLEAN","widget":{"name":"use_lora_1"},"link":null},{"localized_name":"lora_1","name":"lora_1","type":"COMBO","widget":{"name":"lora_1"},"link":null},{"localized_name":"strength_model_1","name":"strength_model_1","type":"FLOAT","widget":{"name":"strength_model_1"},"link":null},{"localized_name":"strength_clip_1","name":"strength_clip_1","type":"FLOAT","widget":{"name":"strength_clip_1"},"link":null},{"localized_name":"use_lora_2","name":"use_lora_2","type":"BOOLEAN","widget":{"name":"use_lora_2"},"link":null},{"localized_name":"lora_2","name":"lora_2","type":"COMBO","widget":{"name":"lora_2"},"link":null},{"localized_name":"strength_model_2","name":"strength_model_2","type":"FLOAT","widget":{"name":"strength_model_2"},"link":null},{"localized_name":"strength_clip_2","name":"strength_clip_2","type":"FLOAT","widget":{"name":"strength_clip_2"},"link":null},{"localized_name":"use_lora_3","name":"use_lora_3","type":"BOOLEAN","widget":{"name":"use_lora_3"},"link":null},{"localized_name":"lora_3","name":"lora_3","type":"COMBO","widget":{"name":"lora_3"},"link":null},{"localized_name":"strength_model_3","name":"strength_model_3","type":"FLOAT","widget":{"name":"strength_model_3"},"link":null},{"localized_name":"strength_clip_3","name":"strength_clip_3","type":"FLOAT","widget":{"name":"strength_clip_3"},"link":null},{"localized_name":"use_lora_4","name":"use_lora_4","type":"BOOLEAN","widget":{"name":"use_lora_4"},"link":null},{"localized_name":"lora_4","name":"lora_4","type":"COMBO","widget":{"name":"lora_4"},"link":null},{"localized_name":"strength_model_4","name":"strength_model_4","type":"FLOAT","widget":{"name":"strength_model_4"},"link":null},{"localized_name":"strength_clip_4","name":"strength_clip_4","type":"FLOAT","widget":{"name":"strength_clip_4"},"link":null},{"localized_name":"use_lora_5","name":"use_lora_5","type":"BOOLEAN","widget":{"name":"use_lora_5"},"link":null},{"localized_name":"lora_5","name":"lora_5","type":"COMBO","widget":{"name":"lora_5"},"link":null},{"localized_name":"strength_model_5","name":"strength_model_5","type":"FLOAT","widget":{"name":"strength_model_5"},"link":null},{"localized_name":"strength_clip_5","name":"strength_clip_5","type":"FLOAT","widget":{"name":"strength_clip_5"},"link":null},{"localized_name":"use_lora_6","name":"use_lora_6","type":"BOOLEAN","widget":{"name":"use_lora_6"},"link":null},{"localized_name":"lora_6","name":"lora_6","type":"COMBO","widget":{"name":"lora_6"},"link":null},{"localized_name":"strength_model_6","name":"strength_model_6","type":"FLOAT","widget":{"name":"strength_model_6"},"link":null},{"localized_name":"strength_clip_6","name":"strength_clip_6","type":"FLOAT","widget":{"name":"strength_clip_6"},"link":null},{"localized_name":"positive_prompt","name":"positive_prompt","shape":7,"type":"STRING","widget":{"name":"positive_prompt"},"link":null},{"localized_name":"negative_prompt","name":"negative_prompt","shape":7,"type":"STRING","widget":{"name":"negative_prompt"},"link":null},{"localized_name":"clip_set_last_layer_positive","name":"clip_set_last_layer_positive","shape":7,"type":"INT","widget":{"name":"clip_set_last_layer_positive"},"link":null},{"localized_name":"clip_set_last_layer_negative","name":"clip_set_last_layer_negative","shape":7,"type":"INT","widget":{"name":"clip_set_last_layer_negative"},"link":null},{"localized_name":"recipe_slot","name":"recipe_slot","shape":7,"type":"COMBO","widget":{"name":"recipe_slot"},"link":null},{"localized_name":"recipe_save","name":"recipe_save","shape":7,"type":"BOOLEAN","widget":{"name":"recipe_save"},"link":null},{"localized_name":"recipe_use","name":"recipe_use","shape":7,"type":"BOOLEAN","widget":{"name":"recipe_use"},"link":null},{"localized_name":"standard_pipeline","name":"standard_pipeline","shape":7,"type":"BOOLEAN","widget":{"name":"standard_pipeline"},"link":null},{"localized_name":"clip_lora_pos_gain","name":"clip_lora_pos_gain","shape":7,"type":"FLOAT","widget":{"name":"clip_lora_pos_gain"},"link":null},{"localized_name":"clip_lora_neg_gain","name":"clip_lora_neg_gain","shape":7,"type":"FLOAT","widget":{"name":"clip_lora_neg_gain"},"link":null},{"localized_name":"dynamic_pos","name":"dynamic_pos","shape":7,"type":"BOOLEAN","widget":{"name":"dynamic_pos"},"link":null},{"localized_name":"dynamic_neg","name":"dynamic_neg","shape":7,"type":"BOOLEAN","widget":{"name":"dynamic_neg"},"link":null},{"localized_name":"dyn_seed","name":"dyn_seed","shape":7,"type":"INT","widget":{"name":"dyn_seed"},"link":null},{"localized_name":"dynamic_break_freeze","name":"dynamic_break_freeze","shape":7,"type":"BOOLEAN","widget":{"name":"dynamic_break_freeze"},"link":null},{"localized_name":"show_expanded_prompts","name":"show_expanded_prompts","shape":7,"type":"BOOLEAN","widget":{"name":"show_expanded_prompts"},"link":null},{"localized_name":"save_expanded_prompts","name":"save_expanded_prompts","shape":7,"type":"BOOLEAN","widget":{"name":"save_expanded_prompts"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[150,151]},{"localized_name":"CLIP","name":"CLIP","type":"CLIP","links":null},{"localized_name":"Positive","name":"Positive","type":"CONDITIONING","links":[13,102]},{"localized_name":"Negative","name":"Negative","type":"CONDITIONING","links":[14,103]},{"localized_name":"VAE","name":"VAE","type":"VAE","links":[2,15,31]}],"properties":{"Node name for S&R":"MagicNodesCombiNode"},"widgets_values":[true,"7Lambda_1.3_2D_Universal.safetensors",true,true,"mg_7lambda_negative.safetensors",-1,0.2,false,"mg_7lambda_negative.safetensors",0,0,false,"mg_7lambda_negative.safetensors",0,0,false,"mg_7lambda_negative.safetensors",0,0,false,"mg_7lambda_negative.safetensors",0,0,false,"mg_7lambda_negative.safetensors",false,false,"(correct human anatomy:1).\n(masterwork:1), very aesthetic, super detailed, newest, masterpiece, amazing quality, highres, sharpen image, best quality.\n25yrs 1woman, necklace, earnings, jewelry, wrist jewelry, ponytail hair, blue hair, blue eyes, yellow kimono with floral print, holds a large pillow, purple pillow, smile, 2 hands.\nFront view, Bedroom","(super-wrong:1), wrong, worst, mistake, (anatomically incorrect human:1), wrong geometry\n(six fingers:1), pixelated,\n(bad hands:1), deformed nails, (fused fingers), (incorrecting hold in hand:1), bad fingers\nugly, (bad anatomy), junior artist, beginner's drawing, bad composition, loose, underpainting, muddy colors, broken symmetry, unclear focal point, blurry details, incorrect perspective, shaky outlines, uneven lines,\n(unsharpen eyes:1), imperfect eyes, skewed eyes, unnatural face, unnatural body, extra limb, missing limbs, distorted eyelashes, misplaced pupils, noisly eyes, long neck,\nobject clipping, clothing clipping, object intersection, unrealistic overlap, geometry intersection,\ntext, typo, signature, watermarks on image, error",-2,-2,"Off",false,false,false,0.92,1,false,false,0,false,false,false]}],"links":[[2,2,4,3,0,"VAE"],[13,2,2,14,1,"CONDITIONING"],[14,2,3,14,2,"CONDITIONING"],[15,2,4,14,3,"VAE"],[17,5,0,14,6,"CLIP_VISION"],[19,3,0,14,4,"LATENT"],[21,11,2,15,0,"IMAGE"],[22,11,1,16,0,"IMAGE"],[24,14,1,11,5,"IMAGE"],[28,17,0,11,6,"CLIP_VISION"],[31,2,4,20,0,"*"],[32,20,0,11,3,"VAE"],[37,14,0,11,4,"LATENT"],[40,24,1,25,0,"IMAGE"],[41,24,2,26,0,"IMAGE"],[46,29,2,31,0,"IMAGE"],[48,29,1,7,0,"IMAGE"],[61,24,0,29,4,"LATENT"],[62,11,0,24,4,"LATENT"],[65,24,1,29,5,"IMAGE"],[66,11,1,24,5,"IMAGE"],[85,24,1,41,0,"IMAGE"],[86,41,0,29,1,"CONDITIONING"],[87,41,1,29,2,"CONDITIONING"],[90,41,2,42,0,"IMAGE"],[92,5,0,17,0,"*"],[97,14,1,43,0,"IMAGE"],[102,2,2,43,1,"CONDITIONING"],[103,2,3,43,2,"CONDITIONING"],[106,43,1,11,2,"CONDITIONING"],[107,43,0,11,1,"CONDITIONING"],[110,11,1,44,0,"IMAGE"],[115,44,0,24,1,"CONDITIONING"],[116,44,1,24,2,"CONDITIONING"],[119,43,0,44,1,"CONDITIONING"],[120,43,1,44,2,"CONDITIONING"],[121,44,1,41,2,"CONDITIONING"],[122,44,0,41,1,"CONDITIONING"],[123,44,2,45,0,"IMAGE"],[124,43,2,46,0,"IMAGE"],[125,17,0,47,0,"*"],[126,47,0,24,6,"CLIP_VISION"],[127,47,0,48,0,"*"],[128,48,0,29,6,"CLIP_VISION"],[129,20,0,49,0,"*"],[130,49,0,24,3,"VAE"],[131,49,0,50,0,"*"],[132,50,0,29,3,"VAE"],[133,50,0,41,4,"VAE"],[134,49,0,44,4,"VAE"],[135,20,0,43,4,"VAE"],[136,19,0,11,0,"MODEL"],[137,19,0,51,0,"*"],[138,51,0,24,0,"MODEL"],[139,51,0,52,0,"*"],[140,52,0,29,0,"MODEL"],[141,14,1,53,0,"*"],[142,53,0,33,0,"IMAGE"],[143,4,0,54,0,"*"],[144,54,0,43,3,"CONTROL_NET"],[145,54,0,55,0,"*"],[146,55,0,44,3,"CONTROL_NET"],[147,55,0,56,0,"*"],[148,56,0,41,3,"CONTROL_NET"],[150,2,0,19,0,"*"],[151,2,0,58,0,"MODEL"],[152,58,0,14,0,"MODEL"]],"groups":[{"id":1,"title":"Step1 - Pre-warm","bounding":[985.2202161884722,-368.00948371274734,405.87327906278074,908.4829257340471],"color":"#a1309b","font_size":22,"flags":{}},{"id":2,"title":"Step2 - warming","bounding":[1491.7975585478357,-546.9292924524468,464.03429546870484,1238.2310938486526],"color":"#b58b2a","font_size":22,"flags":{}},{"id":3,"title":"Step3 - Pre-ready","bounding":[2110.501998988056,-553.0885338063888,518.639493048679,1245.9769642733752],"color":"#3f789e","font_size":22,"flags":{}},{"id":4,"title":"Step4 - High-res","bounding":[2836.675702344997,-548.5808647096898,526.8246054854121,1235.0376260654407],"color":"#8A8","font_size":22,"flags":{}},{"id":5,"title":"1 - Pre-warm","bounding":[912.8922171272666,734.9178623674503,505.331679024805,647.6692243308507],"color":"#a1309b","font_size":22,"flags":{}},{"id":6,"title":"2 - warming","bounding":[1478.1593316885921,734.6063030539617,505.331679024805,647.6692243308507],"color":"#b58b2a","font_size":22,"flags":{}},{"id":7,"title":"3 - Pre-ready","bounding":[2040.803574403982,730.9381266791784,683.3155821674318,849.0584001035625],"color":"#3f789e","font_size":22,"flags":{}},{"id":8,"title":"Step4 - High-res","bounding":[2771.933529470263,732.683066906069,700.3585746163794,850.3693995227123],"color":"#8A8","font_size":22,"flags":{}}],"config":{},"extra":{"ds":{"scale":1.1167815779424883,"offset":[314.5473164115067,582.999969688245]}},"version":0.4}
 
1
+ {"id":"ab14c37a-6cec-41cf-899a-b499539f5b8b","revision":0,"last_node_id":58,"last_link_id":152,"nodes":[{"id":33,"type":"PreviewImage","pos":[934.524998846107,827.6679009139978],"size":[454.34515960057956,487.52469509807827],"flags":{},"order":24,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":142}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":16,"type":"PreviewImage","pos":[1500.7861350427,834.011023145272],"size":[454.34515960057956,487.52469509807827],"flags":{},"order":25,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":22}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":7,"type":"SaveImage","pos":[2796.435012229308,813.9383242288463],"size":[645.60324992196,715.7559184038435],"flags":{},"order":35,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":48},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{},"widgets_values":["ComfyUI"]},{"id":26,"type":"PreviewImage","pos":[2402.088511427638,-384.4257289383634],"size":[204.34144162678967,246],"flags":{},"order":32,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":41}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":45,"type":"PreviewImage","pos":[2134.6382392169603,-384.3467464741332],"size":[204.34144162678967,246],"flags":{},"order":29,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":123}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":44,"type":"MG_ControlFusion_Easy","pos":[2230.0043967143683,-89.74152781984677],"size":[270,258],"flags":{},"order":26,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"IMAGE","link":110},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":119},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":120},{"localized_name":"control_net","name":"control_net","type":"CONTROL_NET","link":146},{"localized_name":"vae","name":"vae","type":"VAE","link":134},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"enable_depth","name":"enable_depth","type":"BOOLEAN","widget":{"name":"enable_depth"},"link":null},{"localized_name":"enable_pyra","name":"enable_pyra","type":"BOOLEAN","widget":{"name":"enable_pyra"},"link":null},{"localized_name":"edge_alpha","name":"edge_alpha","type":"FLOAT","widget":{"name":"edge_alpha"},"link":null},{"localized_name":"blend_factor","name":"blend_factor","type":"FLOAT","widget":{"name":"blend_factor"},"link":null}],"outputs":[{"localized_name":"positive","name":"positive","type":"CONDITIONING","links":[115,122]},{"localized_name":"negative","name":"negative","type":"CONDITIONING","links":[116,121]},{"localized_name":"Mask_Preview","name":"Mask_Preview","type":"IMAGE","links":[123]}],"properties":{"Node name for S&R":"MG_ControlFusion_Easy"},"widgets_values":["Step 3",false,true,true,1,0.02]},{"id":42,"type":"PreviewImage","pos":[2869.9561925844105,-392.07761053265784],"size":[204.34144162678967,246],"flags":{},"order":34,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":90}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":31,"type":"PreviewImage","pos":[3124.9260576007664,-392.6557805266826],"size":[204.34144162678967,246],"flags":{},"order":36,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":46}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":41,"type":"MG_ControlFusion_Easy","pos":[2963.5735553194004,-88.49280600871076],"size":[270,258],"flags":{},"order":31,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"IMAGE","link":85},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":122},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":121},{"localized_name":"control_net","name":"control_net","type":"CONTROL_NET","link":148},{"localized_name":"vae","name":"vae","type":"VAE","link":133},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"enable_depth","name":"enable_depth","type":"BOOLEAN","widget":{"name":"enable_depth"},"link":null},{"localized_name":"enable_pyra","name":"enable_pyra","type":"BOOLEAN","widget":{"name":"enable_pyra"},"link":null},{"localized_name":"edge_alpha","name":"edge_alpha","type":"FLOAT","widget":{"name":"edge_alpha"},"link":null},{"localized_name":"blend_factor","name":"blend_factor","type":"FLOAT","widget":{"name":"blend_factor"},"link":null}],"outputs":[{"localized_name":"positive","name":"positive","type":"CONDITIONING","links":[86]},{"localized_name":"negative","name":"negative","type":"CONDITIONING","links":[87]},{"localized_name":"Mask_Preview","name":"Mask_Preview","type":"IMAGE","links":[90]}],"properties":{"Node name for S&R":"MG_ControlFusion_Easy"},"widgets_values":["Step 4",false,true,true,1,0.02]},{"id":43,"type":"MG_ControlFusion_Easy","pos":[1591.642692427568,-97.88472358998305],"size":[270,258],"flags":{},"order":19,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"IMAGE","link":97},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":102},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":103},{"localized_name":"control_net","name":"control_net","type":"CONTROL_NET","link":144},{"localized_name":"vae","name":"vae","type":"VAE","link":135},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"enable_depth","name":"enable_depth","type":"BOOLEAN","widget":{"name":"enable_depth"},"link":null},{"localized_name":"enable_pyra","name":"enable_pyra","type":"BOOLEAN","widget":{"name":"enable_pyra"},"link":null},{"localized_name":"edge_alpha","name":"edge_alpha","type":"FLOAT","widget":{"name":"edge_alpha"},"link":null},{"localized_name":"blend_factor","name":"blend_factor","type":"FLOAT","widget":{"name":"blend_factor"},"link":null}],"outputs":[{"localized_name":"positive","name":"positive","type":"CONDITIONING","links":[107,119]},{"localized_name":"negative","name":"negative","type":"CONDITIONING","links":[106,120]},{"localized_name":"Mask_Preview","name":"Mask_Preview","type":"IMAGE","links":[124]}],"properties":{"Node name for S&R":"MG_ControlFusion_Easy"},"widgets_values":["Step 2",false,true,true,1,0.02]},{"id":15,"type":"PreviewImage","pos":[1735.1930557379187,-393.0297689400224],"size":[204.34144162678967,246],"flags":{},"order":27,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":21}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":46,"type":"PreviewImage","pos":[1507.7533042139721,-396.74243519648866],"size":[204.34144162678967,246],"flags":{},"order":23,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":124}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":10,"type":"Note","pos":[-144.73815950276332,524.3438860412525],"size":[210,135.28179391870685],"flags":{},"order":0,"mode":0,"inputs":[],"outputs":[],"title":"Positive","properties":{},"widgets_values":["---->"],"color":"#232","bgcolor":"#353"},{"id":8,"type":"Note","pos":[-136.6498868216612,934.3499360344714],"size":[213.5817209730206,155.86666460906906],"flags":{},"order":1,"mode":0,"inputs":[],"outputs":[],"title":"Negative","properties":{},"widgets_values":["---->\n\n(super-wrong:1) - it's a trigger negative prompt for 'mg_7lambda_negative'"],"color":"#322","bgcolor":"#533"},{"id":53,"type":"Reroute","pos":[990.3715999390612,503.0075133219898],"size":[75,26],"flags":{},"order":20,"mode":0,"inputs":[{"name":"","type":"*","link":141}],"outputs":[{"name":"","type":"IMAGE","links":[142]}],"properties":{"showOutputText":false,"horizontal":false}},{"id":3,"type":"MagicSeedLatent","pos":[629.902126183393,-182.7453558545654],"size":[270,198],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"vae","name":"vae","shape":7,"type":"VAE","link":2},{"localized_name":"image","name":"image","shape":7,"type":"IMAGE","link":null},{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":null},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":null},{"localized_name":"batch_size","name":"batch_size","type":"INT","widget":{"name":"batch_size"},"link":null},{"localized_name":"sigma","name":"sigma","type":"FLOAT","widget":{"name":"sigma"},"link":null},{"localized_name":"bias","name":"bias","type":"FLOAT","widget":{"name":"bias"},"link":null},{"localized_name":"mix_image","name":"mix_image","type":"BOOLEAN","widget":{"name":"mix_image"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[19]}],"properties":{"Node name for S&R":"MagicSeedLatent"},"widgets_values":[672,944,1,0.8,0.5,false],"color":"#323","bgcolor":"#535"},{"id":4,"type":"ControlNetLoader","pos":[1106.8272213312625,465.13839701649334],"size":[271.9963341032716,58],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"control_net_name","name":"control_net_name","type":"COMBO","widget":{"name":"control_net_name"},"link":null}],"outputs":[{"label":"CONTROL_NET","localized_name":"CONTROL_NET","name":"CONTROL_NET","type":"CONTROL_NET","slot_index":0,"links":[143]}],"properties":{"Node name for S&R":"ControlNetLoader","models":[{"name":"control_v11p_sd15_scribble_fp16.safetensors","url":"https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_scribble_fp16.safetensors?download=true","directory":"controlnet"}]},"widgets_values":["diffusers_xl_depth_full.safetensors"],"color":"#233","bgcolor":"#355"},{"id":5,"type":"CLIPVisionLoader","pos":[1107.383961736022,356.1351441545039],"size":[267.557917518395,58],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"clip_name","name":"clip_name","type":"COMBO","widget":{"name":"clip_name"},"link":null}],"outputs":[{"localized_name":"CLIP_VISION","name":"CLIP_VISION","type":"CLIP_VISION","links":[17,92]}],"properties":{"Node name for S&R":"CLIPVisionLoader"},"widgets_values":["open_clip_model(NS).safetensors"],"color":"#2a363b","bgcolor":"#3f5159"},{"id":49,"type":"Reroute","pos":[2127.6689254267244,589.457535723742],"size":[75,26],"flags":{},"order":15,"mode":0,"inputs":[{"name":"","type":"*","link":129}],"outputs":[{"name":"","type":"VAE","links":[130,131,134]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#432","bgcolor":"#653"},{"id":47,"type":"Reroute","pos":[2126.2268260656597,621.1837216671687],"size":[75,26],"flags":{},"order":12,"mode":0,"inputs":[{"name":"","type":"*","link":125}],"outputs":[{"name":"","type":"CLIP_VISION","links":[126,127]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#2a363b","bgcolor":"#3f5159"},{"id":55,"type":"Reroute","pos":[2125.520836752072,649.1034792254129],"size":[75,26],"flags":{},"order":11,"mode":0,"inputs":[{"name":"","type":"*","link":145}],"outputs":[{"name":"","type":"CONTROL_NET","links":[146,147]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#233","bgcolor":"#355"},{"id":52,"type":"Reroute","pos":[2847.2765065980852,559.1734491413802],"size":[75,26],"flags":{},"order":18,"mode":0,"inputs":[{"name":"","type":"*","link":139}],"outputs":[{"name":"","type":"MODEL","links":[140]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#223","bgcolor":"#335"},{"id":50,"type":"Reroute","pos":[2847.276506598083,593.7838338069366],"size":[75,26],"flags":{},"order":21,"mode":0,"inputs":[{"name":"","type":"*","link":131}],"outputs":[{"name":"","type":"VAE","links":[132,133]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#432","bgcolor":"#653"},{"id":48,"type":"Reroute","pos":[2847.2765065980825,624.0679203892983],"size":[75,26],"flags":{},"order":17,"mode":0,"inputs":[{"name":"","type":"*","link":127}],"outputs":[{"name":"","type":"CLIP_VISION","links":[128]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#2a363b","bgcolor":"#3f5159"},{"id":56,"type":"Reroute","pos":[2843.686318562366,656.3139760307369],"size":[75,26],"flags":{},"order":16,"mode":0,"inputs":[{"name":"","type":"*","link":147}],"outputs":[{"name":"","type":"CONTROL_NET","links":[148]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#233","bgcolor":"#355"},{"id":19,"type":"Reroute","pos":[1498.7055053565248,550.5312952244669],"size":[75,26],"flags":{},"order":7,"mode":0,"inputs":[{"name":"","type":"*","link":150}],"outputs":[{"name":"","type":"MODEL","links":[136,137]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#223","bgcolor":"#335"},{"id":20,"type":"Reroute","pos":[1500.2829216438683,587.3239702140152],"size":[75,26],"flags":{},"order":10,"mode":0,"inputs":[{"name":"","type":"*","link":31}],"outputs":[{"name":"","type":"VAE","links":[32,129,135]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#432","bgcolor":"#653"},{"id":17,"type":"Reroute","pos":[1500.0465475793615,619.3098903755488],"size":[75,26],"flags":{},"order":6,"mode":0,"inputs":[{"name":"","type":"*","link":92}],"outputs":[{"name":"","type":"CLIP_VISION","links":[28,125]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#2a363b","bgcolor":"#3f5159"},{"id":54,"type":"Reroute","pos":[1500.2152857001722,653.5359574268514],"size":[75,26],"flags":{},"order":5,"mode":0,"inputs":[{"name":"","type":"*","link":143}],"outputs":[{"name":"","type":"CONTROL_NET","links":[144,145]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#233","bgcolor":"#355"},{"id":51,"type":"Reroute","pos":[2129.1110247877914,554.8471510581859],"size":[75,26],"flags":{},"order":13,"mode":0,"inputs":[{"name":"","type":"*","link":137}],"outputs":[{"name":"","type":"MODEL","links":[138,139]}],"properties":{"showOutputText":false,"horizontal":false},"color":"#223","bgcolor":"#335"},{"id":24,"type":"ComfyAdaptiveDetailEnhancer25_Easy","pos":[2216.167965338495,236.13994164208663],"size":[304.44140625,394],"flags":{},"order":28,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":138},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":115},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":116},{"localized_name":"vae","name":"vae","type":"VAE","link":130},{"localized_name":"latent","name":"latent","type":"LATENT","link":62},{"localized_name":"reference_image","name":"reference_image","shape":7,"type":"IMAGE","link":66},{"localized_name":"clip_vision","name":"clip_vision","shape":7,"type":"CLIP_VISION","link":126},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"clipseg_text","name":"clipseg_text","shape":7,"type":"STRING","widget":{"name":"clipseg_text"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[61]},{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[40,65,85]},{"localized_name":"mask_preview","name":"mask_preview","type":"IMAGE","links":[41]}],"properties":{"Node name for S&R":"ComfyAdaptiveDetailEnhancer25_Easy"},"widgets_values":["Step 3",false,0,"fixed",30,7,0.55,"ddim","MGHybrid","hand, feet, face"]},{"id":25,"type":"PreviewImage","pos":[2076.6050781706476,818.6164042016213],"size":[607.2076918734667,715.3763941463438],"flags":{},"order":30,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":40}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":29,"type":"ComfyAdaptiveDetailEnhancer25_Easy","pos":[2947.1571822581677,229.68250150174998],"size":[304.44140625,394],"flags":{},"order":33,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":140},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":86},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":87},{"localized_name":"vae","name":"vae","type":"VAE","link":132},{"localized_name":"latent","name":"latent","type":"LATENT","link":61},{"localized_name":"reference_image","name":"reference_image","shape":7,"type":"IMAGE","link":65},{"localized_name":"clip_vision","name":"clip_vision","shape":7,"type":"CLIP_VISION","link":128},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"clipseg_text","name":"clipseg_text","shape":7,"type":"STRING","widget":{"name":"clipseg_text"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":null},{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[48]},{"localized_name":"mask_preview","name":"mask_preview","type":"IMAGE","links":[46]}],"properties":{"Node name for S&R":"ComfyAdaptiveDetailEnhancer25_Easy"},"widgets_values":["Step 4",false,0,"fixed",30,7,0.45,"ddim","MGHybrid","hand, feet, face"]},{"id":11,"type":"ComfyAdaptiveDetailEnhancer25_Easy","pos":[1572.9731847035082,222.56018167321056],"size":[304.44140625,394],"flags":{},"order":22,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":136},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":107},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":106},{"localized_name":"vae","name":"vae","type":"VAE","link":32},{"localized_name":"latent","name":"latent","type":"LATENT","link":37},{"localized_name":"reference_image","name":"reference_image","shape":7,"type":"IMAGE","link":24},{"localized_name":"clip_vision","name":"clip_vision","shape":7,"type":"CLIP_VISION","link":28},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"clipseg_text","name":"clipseg_text","shape":7,"type":"STRING","widget":{"name":"clipseg_text"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[62]},{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[22,66,110]},{"localized_name":"mask_preview","name":"mask_preview","type":"IMAGE","links":[21]}],"properties":{"Node name for S&R":"ComfyAdaptiveDetailEnhancer25_Easy"},"widgets_values":["Step 2",false,0,"fixed",30,7,0.65,"ddim","MGHybrid","hand, feet, face"]},{"id":14,"type":"ComfyAdaptiveDetailEnhancer25_Easy","pos":[1028.7352577781799,-254.68484251639404],"size":[304.44140625,394],"flags":{},"order":14,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":152},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":13},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":14},{"localized_name":"vae","name":"vae","type":"VAE","link":15},{"localized_name":"latent","name":"latent","type":"LATENT","link":19},{"localized_name":"reference_image","name":"reference_image","shape":7,"type":"IMAGE","link":null},{"localized_name":"clip_vision","name":"clip_vision","shape":7,"type":"CLIP_VISION","link":17},{"localized_name":"preset_step","name":"preset_step","type":"COMBO","widget":{"name":"preset_step"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"clipseg_text","name":"clipseg_text","shape":7,"type":"STRING","widget":{"name":"clipseg_text"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[37]},{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[24,97,141]},{"localized_name":"mask_preview","name":"mask_preview","type":"IMAGE","links":[]}],"properties":{"Node name for S&R":"ComfyAdaptiveDetailEnhancer25_Easy"},"widgets_values":["Step 1",false,0,"fixed",30,7,0.9999,"ddim","MGHybrid","hand, feet, face"]},{"id":58,"type":"PatchSageAttention","pos":[627.8244030121156,-297.19892309893845],"size":[270,58],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":151},{"localized_name":"sage_attention","name":"sage_attention","type":"COMBO","widget":{"name":"sage_attention"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[152]}],"properties":{"Node name for S&R":"PatchSageAttention"},"widgets_values":["auto_quality"],"color":"#223","bgcolor":"#335"},{"id":2,"type":"MagicNodesCombiNode","pos":[93.09648271877055,-350.9065523480804],"size":[439.3682369626521,1874.7812342789503],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"model_in","name":"model_in","shape":7,"type":"MODEL","link":null},{"localized_name":"clip_in","name":"clip_in","shape":7,"type":"CLIP","link":null},{"localized_name":"vae_in","name":"vae_in","shape":7,"type":"VAE","link":null},{"localized_name":"positive_in","name":"positive_in","shape":7,"type":"CONDITIONING","link":null},{"localized_name":"negative_in","name":"negative_in","shape":7,"type":"CONDITIONING","link":null},{"localized_name":"use_checkpoint","name":"use_checkpoint","type":"BOOLEAN","widget":{"name":"use_checkpoint"},"link":null},{"localized_name":"checkpoint","name":"checkpoint","type":"COMBO","widget":{"name":"checkpoint"},"link":null},{"localized_name":"clear_cache","name":"clear_cache","type":"BOOLEAN","widget":{"name":"clear_cache"},"link":null},{"localized_name":"use_lora_1","name":"use_lora_1","type":"BOOLEAN","widget":{"name":"use_lora_1"},"link":null},{"localized_name":"lora_1","name":"lora_1","type":"COMBO","widget":{"name":"lora_1"},"link":null},{"localized_name":"strength_model_1","name":"strength_model_1","type":"FLOAT","widget":{"name":"strength_model_1"},"link":null},{"localized_name":"strength_clip_1","name":"strength_clip_1","type":"FLOAT","widget":{"name":"strength_clip_1"},"link":null},{"localized_name":"use_lora_2","name":"use_lora_2","type":"BOOLEAN","widget":{"name":"use_lora_2"},"link":null},{"localized_name":"lora_2","name":"lora_2","type":"COMBO","widget":{"name":"lora_2"},"link":null},{"localized_name":"strength_model_2","name":"strength_model_2","type":"FLOAT","widget":{"name":"strength_model_2"},"link":null},{"localized_name":"strength_clip_2","name":"strength_clip_2","type":"FLOAT","widget":{"name":"strength_clip_2"},"link":null},{"localized_name":"use_lora_3","name":"use_lora_3","type":"BOOLEAN","widget":{"name":"use_lora_3"},"link":null},{"localized_name":"lora_3","name":"lora_3","type":"COMBO","widget":{"name":"lora_3"},"link":null},{"localized_name":"strength_model_3","name":"strength_model_3","type":"FLOAT","widget":{"name":"strength_model_3"},"link":null},{"localized_name":"strength_clip_3","name":"strength_clip_3","type":"FLOAT","widget":{"name":"strength_clip_3"},"link":null},{"localized_name":"use_lora_4","name":"use_lora_4","type":"BOOLEAN","widget":{"name":"use_lora_4"},"link":null},{"localized_name":"lora_4","name":"lora_4","type":"COMBO","widget":{"name":"lora_4"},"link":null},{"localized_name":"strength_model_4","name":"strength_model_4","type":"FLOAT","widget":{"name":"strength_model_4"},"link":null},{"localized_name":"strength_clip_4","name":"strength_clip_4","type":"FLOAT","widget":{"name":"strength_clip_4"},"link":null},{"localized_name":"use_lora_5","name":"use_lora_5","type":"BOOLEAN","widget":{"name":"use_lora_5"},"link":null},{"localized_name":"lora_5","name":"lora_5","type":"COMBO","widget":{"name":"lora_5"},"link":null},{"localized_name":"strength_model_5","name":"strength_model_5","type":"FLOAT","widget":{"name":"strength_model_5"},"link":null},{"localized_name":"strength_clip_5","name":"strength_clip_5","type":"FLOAT","widget":{"name":"strength_clip_5"},"link":null},{"localized_name":"use_lora_6","name":"use_lora_6","type":"BOOLEAN","widget":{"name":"use_lora_6"},"link":null},{"localized_name":"lora_6","name":"lora_6","type":"COMBO","widget":{"name":"lora_6"},"link":null},{"localized_name":"strength_model_6","name":"strength_model_6","type":"FLOAT","widget":{"name":"strength_model_6"},"link":null},{"localized_name":"strength_clip_6","name":"strength_clip_6","type":"FLOAT","widget":{"name":"strength_clip_6"},"link":null},{"localized_name":"positive_prompt","name":"positive_prompt","shape":7,"type":"STRING","widget":{"name":"positive_prompt"},"link":null},{"localized_name":"negative_prompt","name":"negative_prompt","shape":7,"type":"STRING","widget":{"name":"negative_prompt"},"link":null},{"localized_name":"clip_set_last_layer_positive","name":"clip_set_last_layer_positive","shape":7,"type":"INT","widget":{"name":"clip_set_last_layer_positive"},"link":null},{"localized_name":"clip_set_last_layer_negative","name":"clip_set_last_layer_negative","shape":7,"type":"INT","widget":{"name":"clip_set_last_layer_negative"},"link":null},{"localized_name":"recipe_slot","name":"recipe_slot","shape":7,"type":"COMBO","widget":{"name":"recipe_slot"},"link":null},{"localized_name":"recipe_save","name":"recipe_save","shape":7,"type":"BOOLEAN","widget":{"name":"recipe_save"},"link":null},{"localized_name":"recipe_use","name":"recipe_use","shape":7,"type":"BOOLEAN","widget":{"name":"recipe_use"},"link":null},{"localized_name":"standard_pipeline","name":"standard_pipeline","shape":7,"type":"BOOLEAN","widget":{"name":"standard_pipeline"},"link":null},{"localized_name":"clip_lora_pos_gain","name":"clip_lora_pos_gain","shape":7,"type":"FLOAT","widget":{"name":"clip_lora_pos_gain"},"link":null},{"localized_name":"clip_lora_neg_gain","name":"clip_lora_neg_gain","shape":7,"type":"FLOAT","widget":{"name":"clip_lora_neg_gain"},"link":null},{"localized_name":"dynamic_pos","name":"dynamic_pos","shape":7,"type":"BOOLEAN","widget":{"name":"dynamic_pos"},"link":null},{"localized_name":"dynamic_neg","name":"dynamic_neg","shape":7,"type":"BOOLEAN","widget":{"name":"dynamic_neg"},"link":null},{"localized_name":"dyn_seed","name":"dyn_seed","shape":7,"type":"INT","widget":{"name":"dyn_seed"},"link":null},{"localized_name":"dynamic_break_freeze","name":"dynamic_break_freeze","shape":7,"type":"BOOLEAN","widget":{"name":"dynamic_break_freeze"},"link":null},{"localized_name":"show_expanded_prompts","name":"show_expanded_prompts","shape":7,"type":"BOOLEAN","widget":{"name":"show_expanded_prompts"},"link":null},{"localized_name":"save_expanded_prompts","name":"save_expanded_prompts","shape":7,"type":"BOOLEAN","widget":{"name":"save_expanded_prompts"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[150,151]},{"localized_name":"CLIP","name":"CLIP","type":"CLIP","links":null},{"localized_name":"Positive","name":"Positive","type":"CONDITIONING","links":[13,102]},{"localized_name":"Negative","name":"Negative","type":"CONDITIONING","links":[14,103]},{"localized_name":"VAE","name":"VAE","type":"VAE","links":[2,15,31]}],"properties":{"Node name for S&R":"MagicNodesCombiNode"},"widgets_values":[true,"None",true,false,"None",-1,0.2,false,"None",0,0,false,"None",0,0,false,"None",0,0,false,"None",0,0,false,"None",false,false,"(correct human anatomy:1).\n(masterwork:1), very aesthetic, super detailed, newest, masterpiece, amazing quality, highres, sharpen image, best quality.\n25yrs 1woman, necklace, earnings, jewelry, wrist jewelry, ponytail hair, blue hair, blue eyes, yellow kimono with floral print, holds a large pillow, purple pillow, smile, 2 hands.\nFront view, Bedroom","(super-wrong:1), wrong, worst, mistake, (anatomically incorrect human:1), wrong geometry\n(six fingers:1), pixelated,\n(bad hands:1), deformed nails, (fused fingers), (incorrecting hold in hand:1), bad fingers\nugly, (bad anatomy), junior artist, beginner's drawing, bad composition, loose, underpainting, muddy colors, broken symmetry, unclear focal point, blurry details, incorrect perspective, shaky outlines, uneven lines,\n(unsharpen eyes:1), imperfect eyes, skewed eyes, unnatural face, unnatural body, extra limb, missing limbs, distorted eyelashes, misplaced pupils, noisly eyes, long neck,\nobject clipping, clothing clipping, object intersection, unrealistic overlap, geometry intersection,\ntext, typo, signature, watermarks on image, error",-2,-2,"Off",false,false,false,0.92,1,false,false,0,false,false,false]}],"links":[[2,2,4,3,0,"VAE"],[13,2,2,14,1,"CONDITIONING"],[14,2,3,14,2,"CONDITIONING"],[15,2,4,14,3,"VAE"],[17,5,0,14,6,"CLIP_VISION"],[19,3,0,14,4,"LATENT"],[21,11,2,15,0,"IMAGE"],[22,11,1,16,0,"IMAGE"],[24,14,1,11,5,"IMAGE"],[28,17,0,11,6,"CLIP_VISION"],[31,2,4,20,0,"*"],[32,20,0,11,3,"VAE"],[37,14,0,11,4,"LATENT"],[40,24,1,25,0,"IMAGE"],[41,24,2,26,0,"IMAGE"],[46,29,2,31,0,"IMAGE"],[48,29,1,7,0,"IMAGE"],[61,24,0,29,4,"LATENT"],[62,11,0,24,4,"LATENT"],[65,24,1,29,5,"IMAGE"],[66,11,1,24,5,"IMAGE"],[85,24,1,41,0,"IMAGE"],[86,41,0,29,1,"CONDITIONING"],[87,41,1,29,2,"CONDITIONING"],[90,41,2,42,0,"IMAGE"],[92,5,0,17,0,"*"],[97,14,1,43,0,"IMAGE"],[102,2,2,43,1,"CONDITIONING"],[103,2,3,43,2,"CONDITIONING"],[106,43,1,11,2,"CONDITIONING"],[107,43,0,11,1,"CONDITIONING"],[110,11,1,44,0,"IMAGE"],[115,44,0,24,1,"CONDITIONING"],[116,44,1,24,2,"CONDITIONING"],[119,43,0,44,1,"CONDITIONING"],[120,43,1,44,2,"CONDITIONING"],[121,44,1,41,2,"CONDITIONING"],[122,44,0,41,1,"CONDITIONING"],[123,44,2,45,0,"IMAGE"],[124,43,2,46,0,"IMAGE"],[125,17,0,47,0,"*"],[126,47,0,24,6,"CLIP_VISION"],[127,47,0,48,0,"*"],[128,48,0,29,6,"CLIP_VISION"],[129,20,0,49,0,"*"],[130,49,0,24,3,"VAE"],[131,49,0,50,0,"*"],[132,50,0,29,3,"VAE"],[133,50,0,41,4,"VAE"],[134,49,0,44,4,"VAE"],[135,20,0,43,4,"VAE"],[136,19,0,11,0,"MODEL"],[137,19,0,51,0,"*"],[138,51,0,24,0,"MODEL"],[139,51,0,52,0,"*"],[140,52,0,29,0,"MODEL"],[141,14,1,53,0,"*"],[142,53,0,33,0,"IMAGE"],[143,4,0,54,0,"*"],[144,54,0,43,3,"CONTROL_NET"],[145,54,0,55,0,"*"],[146,55,0,44,3,"CONTROL_NET"],[147,55,0,56,0,"*"],[148,56,0,41,3,"CONTROL_NET"],[150,2,0,19,0,"*"],[151,2,0,58,0,"MODEL"],[152,58,0,14,0,"MODEL"]],"groups":[{"id":1,"title":"Step1 - Pre-warm","bounding":[985.2202161884722,-368.00948371274734,405.87327906278074,908.4829257340471],"color":"#a1309b","font_size":22,"flags":{}},{"id":2,"title":"Step2 - warming","bounding":[1491.7975585478357,-546.9292924524468,464.03429546870484,1238.2310938486526],"color":"#b58b2a","font_size":22,"flags":{}},{"id":3,"title":"Step3 - Pre-ready","bounding":[2110.501998988056,-553.0885338063888,518.639493048679,1245.9769642733752],"color":"#3f789e","font_size":22,"flags":{}},{"id":4,"title":"Step4 - High-res","bounding":[2836.675702344997,-548.5808647096898,526.8246054854121,1235.0376260654407],"color":"#8A8","font_size":22,"flags":{}},{"id":5,"title":"1 - Pre-warm","bounding":[912.8922171272666,734.9178623674503,505.331679024805,647.6692243308507],"color":"#a1309b","font_size":22,"flags":{}},{"id":6,"title":"2 - warming","bounding":[1478.1593316885921,734.6063030539617,505.331679024805,647.6692243308507],"color":"#b58b2a","font_size":22,"flags":{}},{"id":7,"title":"3 - Pre-ready","bounding":[2040.803574403982,730.9381266791784,683.3155821674318,849.0584001035625],"color":"#3f789e","font_size":22,"flags":{}},{"id":8,"title":"Step4 - High-res","bounding":[2771.933529470263,732.683066906069,700.3585746163794,850.3693995227123],"color":"#8A8","font_size":22,"flags":{}}],"config":{},"extra":{"ds":{"scale":1.1167815779424886,"offset":[205.33901426105587,523.8684695773068]}},"version":0.4}
workflows/mg_SuperSimple-Workflow.json CHANGED
@@ -1 +1 @@
1
- {"id":"56753873-517d-40af-ae8d-5268147c2215","revision":0,"last_node_id":11,"last_link_id":13,"nodes":[{"id":3,"type":"MagicSeedLatent","pos":[512.301972673182,-160.53141723865224],"size":[270,198],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"vae","name":"vae","shape":7,"type":"VAE","link":2},{"localized_name":"image","name":"image","shape":7,"type":"IMAGE","link":null},{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":null},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":null},{"localized_name":"batch_size","name":"batch_size","type":"INT","widget":{"name":"batch_size"},"link":null},{"localized_name":"sigma","name":"sigma","type":"FLOAT","widget":{"name":"sigma"},"link":null},{"localized_name":"bias","name":"bias","type":"FLOAT","widget":{"name":"bias"},"link":null},{"localized_name":"mix_image","name":"mix_image","type":"BOOLEAN","widget":{"name":"mix_image"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[1]}],"properties":{"Node name for S&R":"MagicSeedLatent"},"widgets_values":[672,944,1,0.8,0.5,false]},{"id":5,"type":"CLIPVisionLoader","pos":[506.9319719576752,211.9373321706582],"size":[270,58],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"clip_name","name":"clip_name","type":"COMBO","widget":{"name":"clip_name"},"link":null}],"outputs":[{"localized_name":"CLIP_VISION","name":"CLIP_VISION","type":"CLIP_VISION","links":[6]}],"properties":{"Node name for S&R":"CLIPVisionLoader"},"widgets_values":["open_clip_model(NS).safetensors"]},{"id":4,"type":"ControlNetLoader","pos":[511.7792692396367,92.03226884939174],"size":[250.8316192626953,70.76512908935547],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"control_net_name","name":"control_net_name","type":"COMBO","widget":{"name":"control_net_name"},"link":null}],"outputs":[{"label":"CONTROL_NET","localized_name":"CONTROL_NET","name":"CONTROL_NET","type":"CONTROL_NET","slot_index":0,"links":[5]}],"properties":{"Node name for S&R":"ControlNetLoader","models":[{"name":"control_v11p_sd15_scribble_fp16.safetensors","url":"https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_scribble_fp16.safetensors?download=true","directory":"controlnet"}]},"widgets_values":["diffusers_xl_depth_full.safetensors"]},{"id":7,"type":"SaveImage","pos":[1313.88318732331,-284.27461870524576],"size":[649.1787028832787,738.4004538255251],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":9},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{},"widgets_values":["ComfyUI"]},{"id":9,"type":"Note","pos":[910.5361930926384,-655.0060405255866],"size":[392.52185101243265,274.0344197725986],"flags":{},"order":2,"mode":0,"inputs":[],"outputs":[],"properties":{},"widgets_values":["Choose `step_count` (2/3/4) and Run.\n\n- When \"Custom\" is off, presets fully drive parameters\n- When \"Custom\" is on, the visible CADE controls override the Step presets across all steps; Step 1 still enforces `denoise=1.0`\n "],"color":"#432","bgcolor":"#653"},{"id":8,"type":"Note","pos":[-185.13480893968315,807.6288513313478],"size":[210,139.74892023047641],"flags":{},"order":3,"mode":0,"inputs":[],"outputs":[],"title":"Negative","properties":{},"widgets_values":["(super-wrong:1) - it's a trigger negative prompt for 'mg_7lambda_negative'"],"color":"#322","bgcolor":"#533"},{"id":10,"type":"Note","pos":[-187.5189731363135,484.2103704484261],"size":[210,135.28179391870685],"flags":{},"order":4,"mode":0,"inputs":[],"outputs":[],"title":"Positive","properties":{},"widgets_values":["->"],"color":"#232","bgcolor":"#353"},{"id":2,"type":"MagicNodesCombiNode","pos":[43.7826785907816,-342.50895107491186],"size":[438.90744171577774,1665.2680405789415],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"model_in","name":"model_in","shape":7,"type":"MODEL","link":null},{"localized_name":"clip_in","name":"clip_in","shape":7,"type":"CLIP","link":null},{"localized_name":"vae_in","name":"vae_in","shape":7,"type":"VAE","link":null},{"localized_name":"positive_in","name":"positive_in","shape":7,"type":"CONDITIONING","link":null},{"localized_name":"negative_in","name":"negative_in","shape":7,"type":"CONDITIONING","link":null},{"localized_name":"use_checkpoint","name":"use_checkpoint","type":"BOOLEAN","widget":{"name":"use_checkpoint"},"link":null},{"localized_name":"checkpoint","name":"checkpoint","type":"COMBO","widget":{"name":"checkpoint"},"link":null},{"localized_name":"clear_cache","name":"clear_cache","type":"BOOLEAN","widget":{"name":"clear_cache"},"link":null},{"localized_name":"use_lora_1","name":"use_lora_1","type":"BOOLEAN","widget":{"name":"use_lora_1"},"link":null},{"localized_name":"lora_1","name":"lora_1","type":"COMBO","widget":{"name":"lora_1"},"link":null},{"localized_name":"strength_model_1","name":"strength_model_1","type":"FLOAT","widget":{"name":"strength_model_1"},"link":null},{"localized_name":"strength_clip_1","name":"strength_clip_1","type":"FLOAT","widget":{"name":"strength_clip_1"},"link":null},{"localized_name":"use_lora_2","name":"use_lora_2","type":"BOOLEAN","widget":{"name":"use_lora_2"},"link":null},{"localized_name":"lora_2","name":"lora_2","type":"COMBO","widget":{"name":"lora_2"},"link":null},{"localized_name":"strength_model_2","name":"strength_model_2","type":"FLOAT","widget":{"name":"strength_model_2"},"link":null},{"localized_name":"strength_clip_2","name":"strength_clip_2","type":"FLOAT","widget":{"name":"strength_clip_2"},"link":null},{"localized_name":"use_lora_3","name":"use_lora_3","type":"BOOLEAN","widget":{"name":"use_lora_3"},"link":null},{"localized_name":"lora_3","name":"lora_3","type":"COMBO","widget":{"name":"lora_3"},"link":null},{"localized_name":"strength_model_3","name":"strength_model_3","type":"FLOAT","widget":{"name":"strength_model_3"},"link":null},{"localized_name":"strength_clip_3","name":"strength_clip_3","type":"FLOAT","widget":{"name":"strength_clip_3"},"link":null},{"localized_name":"use_lora_4","name":"use_lora_4","type":"BOOLEAN","widget":{"name":"use_lora_4"},"link":null},{"localized_name":"lora_4","name":"lora_4","type":"COMBO","widget":{"name":"lora_4"},"link":null},{"localized_name":"strength_model_4","name":"strength_model_4","type":"FLOAT","widget":{"name":"strength_model_4"},"link":null},{"localized_name":"strength_clip_4","name":"strength_clip_4","type":"FLOAT","widget":{"name":"strength_clip_4"},"link":null},{"localized_name":"use_lora_5","name":"use_lora_5","type":"BOOLEAN","widget":{"name":"use_lora_5"},"link":null},{"localized_name":"lora_5","name":"lora_5","type":"COMBO","widget":{"name":"lora_5"},"link":null},{"localized_name":"strength_model_5","name":"strength_model_5","type":"FLOAT","widget":{"name":"strength_model_5"},"link":null},{"localized_name":"strength_clip_5","name":"strength_clip_5","type":"FLOAT","widget":{"name":"strength_clip_5"},"link":null},{"localized_name":"use_lora_6","name":"use_lora_6","type":"BOOLEAN","widget":{"name":"use_lora_6"},"link":null},{"localized_name":"lora_6","name":"lora_6","type":"COMBO","widget":{"name":"lora_6"},"link":null},{"localized_name":"strength_model_6","name":"strength_model_6","type":"FLOAT","widget":{"name":"strength_model_6"},"link":null},{"localized_name":"strength_clip_6","name":"strength_clip_6","type":"FLOAT","widget":{"name":"strength_clip_6"},"link":null},{"localized_name":"positive_prompt","name":"positive_prompt","shape":7,"type":"STRING","widget":{"name":"positive_prompt"},"link":null},{"localized_name":"negative_prompt","name":"negative_prompt","shape":7,"type":"STRING","widget":{"name":"negative_prompt"},"link":null},{"localized_name":"clip_set_last_layer_positive","name":"clip_set_last_layer_positive","shape":7,"type":"INT","widget":{"name":"clip_set_last_layer_positive"},"link":null},{"localized_name":"clip_set_last_layer_negative","name":"clip_set_last_layer_negative","shape":7,"type":"INT","widget":{"name":"clip_set_last_layer_negative"},"link":null},{"localized_name":"recipe_slot","name":"recipe_slot","shape":7,"type":"COMBO","widget":{"name":"recipe_slot"},"link":null},{"localized_name":"recipe_save","name":"recipe_save","shape":7,"type":"BOOLEAN","widget":{"name":"recipe_save"},"link":null},{"localized_name":"recipe_use","name":"recipe_use","shape":7,"type":"BOOLEAN","widget":{"name":"recipe_use"},"link":null},{"localized_name":"standard_pipeline","name":"standard_pipeline","shape":7,"type":"BOOLEAN","widget":{"name":"standard_pipeline"},"link":null},{"localized_name":"clip_lora_pos_gain","name":"clip_lora_pos_gain","shape":7,"type":"FLOAT","widget":{"name":"clip_lora_pos_gain"},"link":null},{"localized_name":"clip_lora_neg_gain","name":"clip_lora_neg_gain","shape":7,"type":"FLOAT","widget":{"name":"clip_lora_neg_gain"},"link":null},{"localized_name":"dynamic_pos","name":"dynamic_pos","shape":7,"type":"BOOLEAN","widget":{"name":"dynamic_pos"},"link":null},{"localized_name":"dynamic_neg","name":"dynamic_neg","shape":7,"type":"BOOLEAN","widget":{"name":"dynamic_neg"},"link":null},{"localized_name":"dyn_seed","name":"dyn_seed","shape":7,"type":"INT","widget":{"name":"dyn_seed"},"link":null},{"localized_name":"dynamic_break_freeze","name":"dynamic_break_freeze","shape":7,"type":"BOOLEAN","widget":{"name":"dynamic_break_freeze"},"link":null},{"localized_name":"show_expanded_prompts","name":"show_expanded_prompts","shape":7,"type":"BOOLEAN","widget":{"name":"show_expanded_prompts"},"link":null},{"localized_name":"save_expanded_prompts","name":"save_expanded_prompts","shape":7,"type":"BOOLEAN","widget":{"name":"save_expanded_prompts"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[12]},{"localized_name":"CLIP","name":"CLIP","type":"CLIP","links":null},{"localized_name":"Positive","name":"Positive","type":"CONDITIONING","links":[3]},{"localized_name":"Negative","name":"Negative","type":"CONDITIONING","links":[4]},{"localized_name":"VAE","name":"VAE","type":"VAE","links":[2,10]}],"properties":{"Node name for S&R":"MagicNodesCombiNode"},"widgets_values":[true,"7Lambda_1.3_2D_Universal.safetensors",false,true,"mg_7lambda_negative.safetensors",-1,0.2,false,"mg_7lambda_negative.safetensors",0,0,false,"mg_7lambda_negative.safetensors",0,0,false,"mg_7lambda_negative.safetensors",0,0,false,"mg_7lambda_negative.safetensors",0,0,false,"mg_7lambda_negative.safetensors",false,false,"(correct human anatomy:1).\n(masterwork:1), very aesthetic, super detailed, newest, masterpiece, amazing quality, highres, sharpen image, best quality.\n25yrs 1woman, necklace, earnings, jewelry, wrist jewelry, ponytail hair, blue hair, blue eyes, yellow kimono with floral print, holds a large pillow, purple pillow, smile, 2 hands.\nFront view, Bedroom","(super-wrong:1), wrong, worst, mistake, (anatomically incorrect human:1), wrong geometry\n(six fingers:1), pixelated,\n(bad hands:1), deformed nails, (fused fingers), (incorrecting hold in hand:1), bad fingers\nugly, (bad anatomy), junior artist, beginner's drawing, bad composition, loose, underpainting, muddy colors, broken symmetry, unclear focal point, blurry details, incorrect perspective, shaky outlines, uneven lines,\n(unsharpen eyes:1), imperfect eyes, skewed eyes, unnatural face, unnatural body, extra limb, missing limbs, distorted eyelashes, misplaced pupils, noisly eyes, long neck,\nobject clipping, clothing clipping, object intersection, unrealistic overlap, geometry intersection,\ntext, typo, signature, watermarks on image, error",-2,-2,"Off",false,false,false,0.92,0.2,false,false,0,false,false,false]},{"id":11,"type":"PatchSageAttention","pos":[513.1090242917288,-276.13824745203897],"size":[270,58],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":12},{"localized_name":"sage_attention","name":"sage_attention","type":"COMBO","widget":{"name":"sage_attention"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[13]}],"properties":{"Node name for S&R":"PatchSageAttention"},"widgets_values":["auto_quality"]},{"id":1,"type":"MG_SuperSimple","pos":[967.5636043818711,-308.67868061536035],"size":[270,414],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":13},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":3},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":4},{"localized_name":"vae","name":"vae","type":"VAE","link":10},{"localized_name":"latent","name":"latent","type":"LATENT","link":1},{"localized_name":"control_net","name":"control_net","type":"CONTROL_NET","link":5},{"localized_name":"reference_image","name":"reference_image","shape":7,"type":"IMAGE","link":null},{"localized_name":"clip_vision","name":"clip_vision","shape":7,"type":"CLIP_VISION","link":6},{"localized_name":"step_count","name":"step_count","type":"INT","widget":{"name":"step_count"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"clipseg_text","name":"clipseg_text","type":"STRING","widget":{"name":"clipseg_text"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":null},{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[9]}],"properties":{"Node name for S&R":"MG_SuperSimple"},"widgets_values":[4,false,824025253278145,"randomize",30,4.5,0.65,"ddim","MGHybrid","hand, feet, face"]}],"links":[[1,3,0,1,4,"LATENT"],[2,2,4,3,0,"VAE"],[3,2,2,1,1,"CONDITIONING"],[4,2,3,1,2,"CONDITIONING"],[5,4,0,1,5,"CONTROL_NET"],[6,5,0,1,7,"CLIP_VISION"],[9,1,1,7,0,"IMAGE"],[10,2,4,1,3,"VAE"],[12,2,0,11,0,"MODEL"],[13,11,0,1,0,"MODEL"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.7400249944258689,"offset":[289.8997630357029,579.3737880920758]}},"version":0.4}
 
1
+ {"id":"56753873-517d-40af-ae8d-5268147c2215","revision":0,"last_node_id":11,"last_link_id":13,"nodes":[{"id":3,"type":"MagicSeedLatent","pos":[512.301972673182,-160.53141723865224],"size":[270,198],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"vae","name":"vae","shape":7,"type":"VAE","link":2},{"localized_name":"image","name":"image","shape":7,"type":"IMAGE","link":null},{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":null},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":null},{"localized_name":"batch_size","name":"batch_size","type":"INT","widget":{"name":"batch_size"},"link":null},{"localized_name":"sigma","name":"sigma","type":"FLOAT","widget":{"name":"sigma"},"link":null},{"localized_name":"bias","name":"bias","type":"FLOAT","widget":{"name":"bias"},"link":null},{"localized_name":"mix_image","name":"mix_image","type":"BOOLEAN","widget":{"name":"mix_image"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[1]}],"properties":{"Node name for S&R":"MagicSeedLatent"},"widgets_values":[672,944,1,0.8,0.5,false]},{"id":5,"type":"CLIPVisionLoader","pos":[506.9319719576752,211.9373321706582],"size":[270,58],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"clip_name","name":"clip_name","type":"COMBO","widget":{"name":"clip_name"},"link":null}],"outputs":[{"localized_name":"CLIP_VISION","name":"CLIP_VISION","type":"CLIP_VISION","links":[6]}],"properties":{"Node name for S&R":"CLIPVisionLoader"},"widgets_values":["open_clip_model(NS).safetensors"]},{"id":4,"type":"ControlNetLoader","pos":[511.7792692396367,92.03226884939174],"size":[250.8316192626953,70.76512908935547],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"control_net_name","name":"control_net_name","type":"COMBO","widget":{"name":"control_net_name"},"link":null}],"outputs":[{"label":"CONTROL_NET","localized_name":"CONTROL_NET","name":"CONTROL_NET","type":"CONTROL_NET","slot_index":0,"links":[5]}],"properties":{"Node name for S&R":"ControlNetLoader","models":[{"name":"control_v11p_sd15_scribble_fp16.safetensors","url":"https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_scribble_fp16.safetensors?download=true","directory":"controlnet"}]},"widgets_values":["diffusers_xl_depth_full.safetensors"]},{"id":7,"type":"SaveImage","pos":[1313.88318732331,-284.27461870524576],"size":[649.1787028832787,738.4004538255251],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":9},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{},"widgets_values":["ComfyUI"]},{"id":9,"type":"Note","pos":[910.5361930926384,-655.0060405255866],"size":[392.52185101243265,274.0344197725986],"flags":{},"order":2,"mode":0,"inputs":[],"outputs":[],"properties":{},"widgets_values":["Choose `step_count` (2/3/4) and Run.\n\n- When \"Custom\" is off, presets fully drive parameters\n- When \"Custom\" is on, the visible CADE controls override the Step presets across all steps; Step 1 still enforces `denoise=1.0`\n "],"color":"#432","bgcolor":"#653"},{"id":8,"type":"Note","pos":[-185.13480893968315,807.6288513313478],"size":[210,139.74892023047641],"flags":{},"order":3,"mode":0,"inputs":[],"outputs":[],"title":"Negative","properties":{},"widgets_values":["(super-wrong:1) - it's a trigger negative prompt for 'mg_7lambda_negative'"],"color":"#322","bgcolor":"#533"},{"id":10,"type":"Note","pos":[-187.5189731363135,484.2103704484261],"size":[210,135.28179391870685],"flags":{},"order":4,"mode":0,"inputs":[],"outputs":[],"title":"Positive","properties":{},"widgets_values":["->"],"color":"#232","bgcolor":"#353"},{"id":11,"type":"PatchSageAttention","pos":[513.1090242917288,-276.13824745203897],"size":[270,58],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":12},{"localized_name":"sage_attention","name":"sage_attention","type":"COMBO","widget":{"name":"sage_attention"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[13]}],"properties":{"Node name for S&R":"PatchSageAttention"},"widgets_values":["auto_quality"]},{"id":1,"type":"MG_SuperSimple","pos":[967.5636043818711,-308.67868061536035],"size":[270,414],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":13},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":3},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":4},{"localized_name":"vae","name":"vae","type":"VAE","link":10},{"localized_name":"latent","name":"latent","type":"LATENT","link":1},{"localized_name":"control_net","name":"control_net","type":"CONTROL_NET","link":5},{"localized_name":"reference_image","name":"reference_image","shape":7,"type":"IMAGE","link":null},{"localized_name":"clip_vision","name":"clip_vision","shape":7,"type":"CLIP_VISION","link":6},{"localized_name":"step_count","name":"step_count","type":"INT","widget":{"name":"step_count"},"link":null},{"localized_name":"custom","name":"custom","type":"BOOLEAN","widget":{"name":"custom"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"clipseg_text","name":"clipseg_text","type":"STRING","widget":{"name":"clipseg_text"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":null},{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[9]}],"properties":{"Node name for S&R":"MG_SuperSimple"},"widgets_values":[4,false,824025253278145,"randomize",30,4.5,0.65,"ddim","MGHybrid","hand, feet, face"]},{"id":2,"type":"MagicNodesCombiNode","pos":[43.7826785907816,-342.50895107491186],"size":[438.90744171577774,1665.2680405789415],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"model_in","name":"model_in","shape":7,"type":"MODEL","link":null},{"localized_name":"clip_in","name":"clip_in","shape":7,"type":"CLIP","link":null},{"localized_name":"vae_in","name":"vae_in","shape":7,"type":"VAE","link":null},{"localized_name":"positive_in","name":"positive_in","shape":7,"type":"CONDITIONING","link":null},{"localized_name":"negative_in","name":"negative_in","shape":7,"type":"CONDITIONING","link":null},{"localized_name":"use_checkpoint","name":"use_checkpoint","type":"BOOLEAN","widget":{"name":"use_checkpoint"},"link":null},{"localized_name":"checkpoint","name":"checkpoint","type":"COMBO","widget":{"name":"checkpoint"},"link":null},{"localized_name":"clear_cache","name":"clear_cache","type":"BOOLEAN","widget":{"name":"clear_cache"},"link":null},{"localized_name":"use_lora_1","name":"use_lora_1","type":"BOOLEAN","widget":{"name":"use_lora_1"},"link":null},{"localized_name":"lora_1","name":"lora_1","type":"COMBO","widget":{"name":"lora_1"},"link":null},{"localized_name":"strength_model_1","name":"strength_model_1","type":"FLOAT","widget":{"name":"strength_model_1"},"link":null},{"localized_name":"strength_clip_1","name":"strength_clip_1","type":"FLOAT","widget":{"name":"strength_clip_1"},"link":null},{"localized_name":"use_lora_2","name":"use_lora_2","type":"BOOLEAN","widget":{"name":"use_lora_2"},"link":null},{"localized_name":"lora_2","name":"lora_2","type":"COMBO","widget":{"name":"lora_2"},"link":null},{"localized_name":"strength_model_2","name":"strength_model_2","type":"FLOAT","widget":{"name":"strength_model_2"},"link":null},{"localized_name":"strength_clip_2","name":"strength_clip_2","type":"FLOAT","widget":{"name":"strength_clip_2"},"link":null},{"localized_name":"use_lora_3","name":"use_lora_3","type":"BOOLEAN","widget":{"name":"use_lora_3"},"link":null},{"localized_name":"lora_3","name":"lora_3","type":"COMBO","widget":{"name":"lora_3"},"link":null},{"localized_name":"strength_model_3","name":"strength_model_3","type":"FLOAT","widget":{"name":"strength_model_3"},"link":null},{"localized_name":"strength_clip_3","name":"strength_clip_3","type":"FLOAT","widget":{"name":"strength_clip_3"},"link":null},{"localized_name":"use_lora_4","name":"use_lora_4","type":"BOOLEAN","widget":{"name":"use_lora_4"},"link":null},{"localized_name":"lora_4","name":"lora_4","type":"COMBO","widget":{"name":"lora_4"},"link":null},{"localized_name":"strength_model_4","name":"strength_model_4","type":"FLOAT","widget":{"name":"strength_model_4"},"link":null},{"localized_name":"strength_clip_4","name":"strength_clip_4","type":"FLOAT","widget":{"name":"strength_clip_4"},"link":null},{"localized_name":"use_lora_5","name":"use_lora_5","type":"BOOLEAN","widget":{"name":"use_lora_5"},"link":null},{"localized_name":"lora_5","name":"lora_5","type":"COMBO","widget":{"name":"lora_5"},"link":null},{"localized_name":"strength_model_5","name":"strength_model_5","type":"FLOAT","widget":{"name":"strength_model_5"},"link":null},{"localized_name":"strength_clip_5","name":"strength_clip_5","type":"FLOAT","widget":{"name":"strength_clip_5"},"link":null},{"localized_name":"use_lora_6","name":"use_lora_6","type":"BOOLEAN","widget":{"name":"use_lora_6"},"link":null},{"localized_name":"lora_6","name":"lora_6","type":"COMBO","widget":{"name":"lora_6"},"link":null},{"localized_name":"strength_model_6","name":"strength_model_6","type":"FLOAT","widget":{"name":"strength_model_6"},"link":null},{"localized_name":"strength_clip_6","name":"strength_clip_6","type":"FLOAT","widget":{"name":"strength_clip_6"},"link":null},{"localized_name":"positive_prompt","name":"positive_prompt","shape":7,"type":"STRING","widget":{"name":"positive_prompt"},"link":null},{"localized_name":"negative_prompt","name":"negative_prompt","shape":7,"type":"STRING","widget":{"name":"negative_prompt"},"link":null},{"localized_name":"clip_set_last_layer_positive","name":"clip_set_last_layer_positive","shape":7,"type":"INT","widget":{"name":"clip_set_last_layer_positive"},"link":null},{"localized_name":"clip_set_last_layer_negative","name":"clip_set_last_layer_negative","shape":7,"type":"INT","widget":{"name":"clip_set_last_layer_negative"},"link":null},{"localized_name":"recipe_slot","name":"recipe_slot","shape":7,"type":"COMBO","widget":{"name":"recipe_slot"},"link":null},{"localized_name":"recipe_save","name":"recipe_save","shape":7,"type":"BOOLEAN","widget":{"name":"recipe_save"},"link":null},{"localized_name":"recipe_use","name":"recipe_use","shape":7,"type":"BOOLEAN","widget":{"name":"recipe_use"},"link":null},{"localized_name":"standard_pipeline","name":"standard_pipeline","shape":7,"type":"BOOLEAN","widget":{"name":"standard_pipeline"},"link":null},{"localized_name":"clip_lora_pos_gain","name":"clip_lora_pos_gain","shape":7,"type":"FLOAT","widget":{"name":"clip_lora_pos_gain"},"link":null},{"localized_name":"clip_lora_neg_gain","name":"clip_lora_neg_gain","shape":7,"type":"FLOAT","widget":{"name":"clip_lora_neg_gain"},"link":null},{"localized_name":"dynamic_pos","name":"dynamic_pos","shape":7,"type":"BOOLEAN","widget":{"name":"dynamic_pos"},"link":null},{"localized_name":"dynamic_neg","name":"dynamic_neg","shape":7,"type":"BOOLEAN","widget":{"name":"dynamic_neg"},"link":null},{"localized_name":"dyn_seed","name":"dyn_seed","shape":7,"type":"INT","widget":{"name":"dyn_seed"},"link":null},{"localized_name":"dynamic_break_freeze","name":"dynamic_break_freeze","shape":7,"type":"BOOLEAN","widget":{"name":"dynamic_break_freeze"},"link":null},{"localized_name":"show_expanded_prompts","name":"show_expanded_prompts","shape":7,"type":"BOOLEAN","widget":{"name":"show_expanded_prompts"},"link":null},{"localized_name":"save_expanded_prompts","name":"save_expanded_prompts","shape":7,"type":"BOOLEAN","widget":{"name":"save_expanded_prompts"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[12]},{"localized_name":"CLIP","name":"CLIP","type":"CLIP","links":null},{"localized_name":"Positive","name":"Positive","type":"CONDITIONING","links":[3]},{"localized_name":"Negative","name":"Negative","type":"CONDITIONING","links":[4]},{"localized_name":"VAE","name":"VAE","type":"VAE","links":[2,10]}],"properties":{"Node name for S&R":"MagicNodesCombiNode"},"widgets_values":[true,"None",false,false,"None",-1,0.2,false,"None",0,0,false,"None",0,0,false,"None",0,0,false,"None",0,0,false,"None",false,false,"(correct human anatomy:1).\n(masterwork:1), very aesthetic, super detailed, newest, masterpiece, amazing quality, highres, sharpen image, best quality.\n25yrs 1woman, necklace, earnings, jewelry, wrist jewelry, ponytail hair, blue hair, blue eyes, yellow kimono with floral print, holds a large pillow, purple pillow, smile, 2 hands.\nFront view, Bedroom","(super-wrong:1), wrong, worst, mistake, (anatomically incorrect human:1), wrong geometry\n(six fingers:1), pixelated,\n(bad hands:1), deformed nails, (fused fingers), (incorrecting hold in hand:1), bad fingers\nugly, (bad anatomy), junior artist, beginner's drawing, bad composition, loose, underpainting, muddy colors, broken symmetry, unclear focal point, blurry details, incorrect perspective, shaky outlines, uneven lines,\n(unsharpen eyes:1), imperfect eyes, skewed eyes, unnatural face, unnatural body, extra limb, missing limbs, distorted eyelashes, misplaced pupils, noisly eyes, long neck,\nobject clipping, clothing clipping, object intersection, unrealistic overlap, geometry intersection,\ntext, typo, signature, watermarks on image, error",-2,-2,"Off",false,false,false,0.92,0.2,false,false,0,false,false,false]}],"links":[[1,3,0,1,4,"LATENT"],[2,2,4,3,0,"VAE"],[3,2,2,1,1,"CONDITIONING"],[4,2,3,1,2,"CONDITIONING"],[5,4,0,1,5,"CONTROL_NET"],[6,5,0,1,7,"CLIP_VISION"],[9,1,1,7,0,"IMAGE"],[10,2,4,1,3,"VAE"],[12,2,0,11,0,"MODEL"],[13,11,0,1,0,"MODEL"]],"groups":[],"config":{},"extra":{"ds":{"scale":1.083470594338915,"offset":[384.9360293986372,501.93873776549896]}},"version":0.4}