horde-engine 7.2.3__tar.gz → 7.2.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. {horde_engine-7.2.3 → horde_engine-7.2.4}/PKG-INFO +1 -1
  2. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/_version.py +2 -2
  3. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/horde.py +8 -6
  4. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/comfy_node_inputs.json +9 -0
  5. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/post_processing.py +5 -0
  6. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/payload_pp.py +27 -6
  7. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_image_facefix.json +68 -5
  8. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_image_facefix.json +19 -1
  9. {horde_engine-7.2.3 → horde_engine-7.2.4}/.gitignore +0 -0
  10. {horde_engine-7.2.3 → horde_engine-7.2.4}/LICENSE +0 -0
  11. {horde_engine-7.2.3 → horde_engine-7.2.4}/README.md +0 -0
  12. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/__init__.py +0 -0
  13. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/__pyinstaller.py +0 -0
  14. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/api.py +0 -0
  15. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/benchmark.py +0 -0
  16. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/beta_models.py +0 -0
  17. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/comfy_horde.py +0 -0
  18. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/config_path.py +0 -0
  19. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/consts.py +0 -0
  20. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/exceptions.py +0 -0
  21. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/__init__.py +0 -0
  22. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/adaptive_sampler_bound.py +0 -0
  23. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/comfy_events.py +0 -0
  24. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/comfy_patches.py +0 -0
  25. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/component_cache.py +0 -0
  26. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/component_materialize.py +0 -0
  27. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/component_restore.py +0 -0
  28. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/component_stability_probe.py +0 -0
  29. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/cpu_weight_retention.py +0 -0
  30. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/graph_utils.py +0 -0
  31. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/in_process.py +0 -0
  32. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/interface.py +0 -0
  33. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/model_dirs.py +0 -0
  34. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/phase_timing.py +0 -0
  35. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/progress_hook.py +0 -0
  36. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/results.py +0 -0
  37. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/sampler_options.py +0 -0
  38. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/sampling_lease.py +0 -0
  39. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/server_shim.py +0 -0
  40. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/shared_components.py +0 -0
  41. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/sigma_schedules.py +0 -0
  42. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/stage_graph.py +0 -0
  43. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/stage_payloads.py +0 -0
  44. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/standalone_vae.py +0 -0
  45. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/weight_prefetch.py +0 -0
  46. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/execution/zero_copy_load.py +0 -0
  47. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/feature_impact.py +0 -0
  48. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/feature_requirements.py +0 -0
  49. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/initialisation.py +0 -0
  50. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/installation/__init__.py +0 -0
  51. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/installation/__main__.py +0 -0
  52. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/installation/installer.py +0 -0
  53. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/installation/manifest.json +0 -0
  54. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/installation/manifest.py +0 -0
  55. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/integrations/__init__.py +0 -0
  56. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/integrations/logfire_comfy_internals.py +0 -0
  57. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/integrations/logfire_setup.py +0 -0
  58. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/metrics.py +0 -0
  59. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_database/db_dep.json +0 -0
  60. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_database/db_embeds.json +0 -0
  61. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_database/diffusers.json +0 -0
  62. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_database/med_config.json +0 -0
  63. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/__init__.py +0 -0
  64. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/annotator_provider.py +0 -0
  65. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/base.py +0 -0
  66. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/civitai_adhoc.py +0 -0
  67. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/civitai_provider.py +0 -0
  68. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/civitai_records.py +0 -0
  69. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/codeformer.py +0 -0
  70. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/compvis.py +0 -0
  71. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/controlnet.py +0 -0
  72. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/controlnet_annotator.py +0 -0
  73. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/diffusers.py +0 -0
  74. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/esrgan.py +0 -0
  75. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/gfpgan.py +0 -0
  76. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/hyper.py +0 -0
  77. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/lora.py +0 -0
  78. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/miscellaneous.py +0 -0
  79. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/safety_checker.py +0 -0
  80. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/model_manager/ti.py +0 -0
  81. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/__init__.py +0 -0
  82. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/LICENSE +0 -0
  83. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/README.md +0 -0
  84. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/__init__.py +0 -0
  85. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_example.json +0 -0
  86. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_fg_all.json +0 -0
  87. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_joint_bg.json +0 -0
  88. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_joint_fg.json +0 -0
  89. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_bg.json +0 -0
  90. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_bg_stop_at.json +0 -0
  91. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_fg.json +0 -0
  92. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_fg_example.json +0 -0
  93. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_fg_example_rgba.json +0 -0
  94. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_joint.json +0 -0
  95. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/layered_diffusion.py +0 -0
  96. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/__init__.py +0 -0
  97. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/attention_sharing.py +0 -0
  98. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/enums.py +0 -0
  99. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/models.py +0 -0
  100. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/utils.py +0 -0
  101. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/pyproject.toml +0 -0
  102. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/comfyui_layerdiffuse/requirements.txt +0 -0
  103. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/LICENSE +0 -0
  104. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/README.md +0 -0
  105. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/__init__.py +0 -0
  106. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/VERSION +0 -0
  107. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/__init__.py +0 -0
  108. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/archs/__init__.py +0 -0
  109. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/archs/arcface_arch.py +0 -0
  110. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/archs/arch_util.py +0 -0
  111. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/archs/codeformer_arch.py +0 -0
  112. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/archs/rrdbnet_arch.py +0 -0
  113. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/archs/vgg_arch.py +0 -0
  114. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/archs/vqgan_arch.py +0 -0
  115. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/data/__init__.py +0 -0
  116. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/data/data_sampler.py +0 -0
  117. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/data/data_util.py +0 -0
  118. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/data/prefetch_dataloader.py +0 -0
  119. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/data/transforms.py +0 -0
  120. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/losses/__init__.py +0 -0
  121. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/losses/loss_util.py +0 -0
  122. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/losses/losses.py +0 -0
  123. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/metrics/__init__.py +0 -0
  124. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/metrics/metric_util.py +0 -0
  125. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/metrics/psnr_ssim.py +0 -0
  126. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/models/__init__.py +0 -0
  127. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/__init__.py +0 -0
  128. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/__init__.py +0 -0
  129. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/deform_conv.py +0 -0
  130. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_cuda.cpp +0 -0
  131. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_cuda_kernel.cu +0 -0
  132. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_ext.cpp +0 -0
  133. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/__init__.py +0 -0
  134. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/fused_act.py +0 -0
  135. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/src/fused_bias_act.cpp +0 -0
  136. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/src/fused_bias_act_kernel.cu +0 -0
  137. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/__init__.py +0 -0
  138. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/src/upfirdn2d.cpp +0 -0
  139. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/src/upfirdn2d_kernel.cu +0 -0
  140. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/upfirdn2d.py +0 -0
  141. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/setup.py +0 -0
  142. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/train.py +0 -0
  143. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/utils/__init__.py +0 -0
  144. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/utils/dist_util.py +0 -0
  145. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/utils/download_util.py +0 -0
  146. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/utils/file_client.py +0 -0
  147. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/utils/img_util.py +0 -0
  148. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/utils/lmdb_util.py +0 -0
  149. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/utils/logger.py +0 -0
  150. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/utils/matlab_functions.py +0 -0
  151. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/utils/misc.py +0 -0
  152. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/utils/options.py +0 -0
  153. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/utils/realesrgan_utils.py +0 -0
  154. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/utils/registry.py +0 -0
  155. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/basicsr/version.py +0 -0
  156. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/__init__.py +0 -0
  157. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/__init__.py +0 -0
  158. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/align_trans.py +0 -0
  159. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/matlab_cp2tform.py +0 -0
  160. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface.py +0 -0
  161. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface_net.py +0 -0
  162. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface_utils.py +0 -0
  163. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/__init__.py +0 -0
  164. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/face_detector.py +0 -0
  165. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/__init__.py +0 -0
  166. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/common.py +0 -0
  167. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/experimental.py +0 -0
  168. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolo.py +0 -0
  169. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolov5l.yaml +0 -0
  170. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolov5n.yaml +0 -0
  171. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/__init__.py +0 -0
  172. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/autoanchor.py +0 -0
  173. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/datasets.py +0 -0
  174. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/extract_ckpt.py +0 -0
  175. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/general.py +0 -0
  176. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/torch_utils.py +0 -0
  177. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/parsing/__init__.py +0 -0
  178. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/parsing/bisenet.py +0 -0
  179. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/parsing/parsenet.py +0 -0
  180. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/parsing/resnet.py +0 -0
  181. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/utils/__init__.py +0 -0
  182. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/utils/face_restoration_helper.py +0 -0
  183. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/utils/face_utils.py +0 -0
  184. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/facelib/utils/misc.py +0 -0
  185. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/r_chainner/README.md +0 -0
  186. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/r_chainner/__init__.py +0 -0
  187. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/r_chainner/gfpganv1_clean_arch.py +0 -0
  188. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/r_chainner/model_loading.py +0 -0
  189. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/r_chainner/stylegan2_clean_arch.py +0 -0
  190. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/facerestore_cf/r_chainner/types.py +0 -0
  191. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/node_controlnet_model_loader.py +0 -0
  192. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/node_image_loader.py +0 -0
  193. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/node_image_output.py +0 -0
  194. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/node_lora_loader.py +0 -0
  195. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/node_model_loader.py +0 -0
  196. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/node_stage_io.py +0 -0
  197. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/node_upscale_model_loader.py +0 -0
  198. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/nodes/node_v3_canary.py +0 -0
  199. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/__init__.py +0 -0
  200. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/constants.py +0 -0
  201. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/context.py +0 -0
  202. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/definition.py +0 -0
  203. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/__init__.py +0 -0
  204. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image.py +0 -0
  205. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image_gen/__init__.py +0 -0
  206. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image_gen/baselines.py +0 -0
  207. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image_gen/bindings.py +0 -0
  208. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image_gen/cascade.py +0 -0
  209. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image_gen/controlnet.py +0 -0
  210. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image_gen/creative_upscale.py +0 -0
  211. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image_gen/features.py +0 -0
  212. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image_gen/flux.py +0 -0
  213. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image_gen/qr_code.py +0 -0
  214. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image_gen/qwen.py +0 -0
  215. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image_gen/stable_diffusion.py +0 -0
  216. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image_gen/steps.py +0 -0
  217. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/families/image_gen/z_image.py +0 -0
  218. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/graph.py +0 -0
  219. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/horde_compat.py +0 -0
  220. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/identifiers.py +0 -0
  221. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/node_schemas.py +0 -0
  222. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/patches.py +0 -0
  223. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/payload.py +0 -0
  224. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/registry.py +0 -0
  225. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/resolution.py +0 -0
  226. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline/sdk_adapter.py +0 -0
  227. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_controlnet.json +0 -0
  228. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_controlnet_annotator.json +0 -0
  229. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_controlnet_hires_fix.json +0 -0
  230. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_flux.json +0 -0
  231. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_image_upscale.json +0 -0
  232. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_qr_code.json +0 -0
  233. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_qwen.json +0 -0
  234. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_stable_cascade.json +0 -0
  235. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_stable_cascade_2pass.json +0 -0
  236. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_stable_cascade_remix.json +0 -0
  237. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_stable_diffusion.json +0 -0
  238. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_stable_diffusion_hires_fix.json +0 -0
  239. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_stable_diffusion_img2img_mask.json +0 -0
  240. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipeline_designs/pipeline_stable_diffusion_paint.json +0 -0
  241. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_controlnet.json +0 -0
  242. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_controlnet_annotator.json +0 -0
  243. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_controlnet_hires_fix.json +0 -0
  244. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_creative_upscale.json +0 -0
  245. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_flux.json +0 -0
  246. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_image_upscale.json +0 -0
  247. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_qr_code.json +0 -0
  248. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_qwen.json +0 -0
  249. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_stable_cascade.json +0 -0
  250. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_stable_cascade_2pass.json +0 -0
  251. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_stable_cascade_remix.json +0 -0
  252. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_stable_diffusion.json +0 -0
  253. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_stable_diffusion_hires_fix.json +0 -0
  254. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_stable_diffusion_img2img_mask.json +0 -0
  255. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_stable_diffusion_paint.json +0 -0
  256. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pipelines/pipeline_z_image.json +0 -0
  257. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/preload.py +0 -0
  258. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/profiling.py +0 -0
  259. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/py.typed +0 -0
  260. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pyinstaller_hooks/__init__.py +0 -0
  261. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/pyinstaller_hooks/hook-hordelib.horde.py +0 -0
  262. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/safety.py +0 -0
  263. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/safety_checker.py +0 -0
  264. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/settings.py +0 -0
  265. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/shared_model_manager.py +0 -0
  266. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/train.py +0 -0
  267. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/__init__.py +0 -0
  268. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/device_pinning.py +0 -0
  269. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/distance.py +0 -0
  270. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/dynamicprompt.py +0 -0
  271. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/fd_limits.py +0 -0
  272. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/gpuinfo.py +0 -0
  273. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/image_utils.py +0 -0
  274. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/ioredirect.py +0 -0
  275. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/logger.py +0 -0
  276. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/memory_trim.py +0 -0
  277. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/nvml.py +0 -0
  278. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/optional_deps.py +0 -0
  279. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/sanitizer.py +0 -0
  280. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/switch.py +0 -0
  281. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/torch_build.py +0 -0
  282. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/utils/torch_memory.py +0 -0
  283. {horde_engine-7.2.3 → horde_engine-7.2.4}/hordelib/vram_planning.py +0 -0
  284. {horde_engine-7.2.3 → horde_engine-7.2.4}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: horde-engine
3
- Version: 7.2.3
3
+ Version: 7.2.4
4
4
  Summary: A wrapper around ComfyUI to allow use by AI Horde.
5
5
  Project-URL: Homepage, https://github.com/Haidra-Org/hordelib
6
6
  Project-URL: Bug Tracker, https://github.com/Haidra-Org/hordelib/issues
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '7.2.3'
22
- __version_tuple__ = version_tuple = (7, 2, 3)
21
+ __version__ = version = '7.2.4'
22
+ __version_tuple__ = version_tuple = (7, 2, 4)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -794,13 +794,14 @@ class HordeLib:
794
794
  strength=payload.get("facefixer_strength", 1.0),
795
795
  image_index=img_idx,
796
796
  ):
797
- # facefixer_strength is deliberately not forwarded: the
798
- # legacy mapping never wired it to codeformer_fidelity, so
799
- # honoring it would change existing job output.
797
+ # facefixer_strength blends the restored image back over the
798
+ # pre-fix one; absent, it is 1.0 (full restoration), which is
799
+ # what the graph produced before the knob was honored.
800
800
  image_ret = self.post_process(
801
801
  FacefixPayload(
802
802
  model=post_processing,
803
803
  source_image=final_image,
804
+ strength=payload.get("facefixer_strength", 1.0),
804
805
  ),
805
806
  )
806
807
  single_image_faults += image_ret.faults
@@ -1120,14 +1121,15 @@ class HordeLib:
1120
1121
  def image_facefix(self, payload: dict) -> ResultingImageReturn:
1121
1122
  """Fix faces in an image (legacy dict surface; prefer :meth:`post_process`).
1122
1123
 
1123
- ``facefixer_strength`` in the dict is ignored, as it always has been: the legacy
1124
- parameter mapping never wired it to the graph's ``codeformer_fidelity`` input. Typed
1125
- callers can set :attr:`FacefixPayload.fidelity` explicitly.
1124
+ ``facefixer_strength`` blends the restored image back over the input (1.0, the default when
1125
+ absent, is full restoration). CodeFormer's ``codeformer_fidelity`` is a separate knob with
1126
+ different meaning; typed callers set it through :attr:`FacefixPayload.fidelity`.
1126
1127
  """
1127
1128
  logger.debug("image_facefix called")
1128
1129
  return self.post_process(
1129
1130
  FacefixPayload(
1130
1131
  model=payload["model"],
1131
1132
  source_image=payload["source_image"],
1133
+ strength=payload.get("facefixer_strength", 1.0),
1132
1134
  ),
1133
1135
  )
@@ -199,6 +199,15 @@
199
199
  ],
200
200
  "optional": []
201
201
  },
202
+ "ImageBlend": {
203
+ "required": [
204
+ "image1",
205
+ "image2",
206
+ "blend_factor",
207
+ "blend_mode"
208
+ ],
209
+ "optional": []
210
+ },
202
211
  "ImageBlur": {
203
212
  "required": [
204
213
  "image",
@@ -66,6 +66,11 @@ IMAGE_FACEFIX_DEFINITION: PostProcessingDefinition = PipelineDefinition(
66
66
  bindings=(
67
67
  *node("image_loader", "HordeImageLoader").bind(image="source_image"),
68
68
  *node("face_restore_with_model", "FaceRestoreCFWithModel").bind(codeformer_fidelity="fidelity"),
69
+ # The restorer replaces every detected face outright, so requested strength is honored as a
70
+ # blend of its output back over the untouched input: at 1.0 the blend returns the restored
71
+ # image bit-for-bit, at 0.0 the original. Doing it in the graph keeps one image encode and
72
+ # works for GFPGAN too, whose architecture takes no strength of its own.
73
+ *node("facefix_blend", "ImageBlend").bind(blend_factor="strength"),
69
74
  ),
70
75
  outputs=(OutputSpec(node="output_image"),),
71
76
  patch_steps=(_apply_model_file,),
@@ -61,7 +61,15 @@ class FacefixPayload(_PostProcessingPayloadBase):
61
61
 
62
62
  model: str
63
63
  fidelity: float = 0.5
64
- """CodeFormer fidelity weight (0 = strongest restoration, 1 = closest to input)."""
64
+ """CodeFormer fidelity weight (0 = strongest restoration, 1 = closest to input).
65
+
66
+ This is CodeFormer-specific and unrelated to :attr:`strength`: it steers the restoration
67
+ itself (identity versus quality) and GFPGAN's architecture ignores it entirely."""
68
+ strength: float = 1.0
69
+ """How much of the restored image is blended back over the input (1 = fully restored, 0 = untouched).
70
+
71
+ Fixer-agnostic by construction: the blend happens in image space after the restorer runs, so it
72
+ means the same thing for GFPGAN (which has no strength input of its own) and CodeFormers."""
65
73
 
66
74
  @field_validator("fidelity", mode="before")
67
75
  @classmethod
@@ -72,6 +80,15 @@ class FacefixPayload(_PostProcessingPayloadBase):
72
80
  return 0.5
73
81
  return min(max(value, 0.0), 1.0)
74
82
 
83
+ @field_validator("strength", mode="before")
84
+ @classmethod
85
+ def _clamp_strength(cls, value: Any) -> float:
86
+ try:
87
+ value = float(value)
88
+ except (TypeError, ValueError):
89
+ return 1.0
90
+ return min(max(value, 0.0), 1.0)
91
+
75
92
 
76
93
  class StripBackgroundPayload(_PostProcessingPayloadBase):
77
94
  """Remove the image background (pure-Python rembg; not a ComfyUI graph)."""
@@ -90,10 +107,10 @@ def post_processing_payload_from_horde_dict(data: dict[str, Any]) -> PostProcess
90
107
  ``model``, ``source_image``, and (for upscales) optional ``width``/``height`` meaning
91
108
  "shrink the result back to this size".
92
109
 
93
- Note: ``facefixer_strength`` is deliberately *not* mapped onto ``FacefixPayload.fidelity``
94
- — the legacy path silently ignored it (the graph's hardcoded 0.5 always applied), and
95
- honoring it here would change output images for existing callers. Typed callers can set
96
- ``fidelity`` explicitly.
110
+ ``facefixer_strength`` maps onto ``FacefixPayload.strength`` (the blend of the restored image
111
+ over the input), not onto ``fidelity``: fidelity is CodeFormer's identity/quality tradeoff and
112
+ means nothing to GFPGAN. Absent, strength defaults to 1.0, which is full restoration and leaves
113
+ output identical to a request that never named the knob.
97
114
  """
98
115
  model = data.get("model")
99
116
  if not isinstance(model, str):
@@ -113,7 +130,11 @@ def post_processing_payload_from_horde_dict(data: dict[str, Any]) -> PostProcess
113
130
  rescale_height=data.get("height"),
114
131
  )
115
132
  case PostProcessorKind.facefixer:
116
- return FacefixPayload(model=model, source_image=source_image)
133
+ return FacefixPayload(
134
+ model=model,
135
+ source_image=source_image,
136
+ strength=data.get("facefixer_strength", 1.0),
137
+ )
117
138
  case PostProcessorKind.strip_background:
118
139
  return StripBackgroundPayload(source_image=source_image)
119
140
  case _:
@@ -1,6 +1,6 @@
1
1
  {
2
- "last_node_id": 11,
3
- "last_link_id": 14,
2
+ "last_node_id": 12,
3
+ "last_link_id": 16,
4
4
  "nodes": [
5
5
  {
6
6
  "id": 6,
@@ -14,13 +14,13 @@
14
14
  "1": 416.33331298828125
15
15
  },
16
16
  "flags": {},
17
- "order": 3,
17
+ "order": 4,
18
18
  "mode": 0,
19
19
  "inputs": [
20
20
  {
21
21
  "name": "images",
22
22
  "type": "IMAGE",
23
- "link": 14
23
+ "link": 16
24
24
  }
25
25
  ],
26
26
  "title": "output_image",
@@ -81,7 +81,8 @@
81
81
  "name": "IMAGE",
82
82
  "type": "IMAGE",
83
83
  "links": [
84
- 13
84
+ 13,
85
+ 15
85
86
  ],
86
87
  "slot_index": 0
87
88
  },
@@ -145,6 +146,52 @@
145
146
  "retinaface_resnet50",
146
147
  0.5
147
148
  ]
149
+ },
150
+ {
151
+ "id": 12,
152
+ "type": "ImageBlend",
153
+ "pos": [
154
+ 397,
155
+ 331
156
+ ],
157
+ "size": {
158
+ "0": 315,
159
+ "1": 102
160
+ },
161
+ "flags": {},
162
+ "order": 3,
163
+ "mode": 0,
164
+ "inputs": [
165
+ {
166
+ "name": "image1",
167
+ "type": "IMAGE",
168
+ "link": 15
169
+ },
170
+ {
171
+ "name": "image2",
172
+ "type": "IMAGE",
173
+ "link": 14
174
+ }
175
+ ],
176
+ "outputs": [
177
+ {
178
+ "name": "IMAGE",
179
+ "type": "IMAGE",
180
+ "links": [
181
+ 16
182
+ ],
183
+ "shape": 3,
184
+ "slot_index": 0
185
+ }
186
+ ],
187
+ "title": "facefix_blend",
188
+ "properties": {
189
+ "Node name for S&R": "ImageBlend"
190
+ },
191
+ "widgets_values": [
192
+ 1,
193
+ "normal"
194
+ ]
148
195
  }
149
196
  ],
150
197
  "links": [
@@ -168,6 +215,22 @@
168
215
  14,
169
216
  11,
170
217
  0,
218
+ 12,
219
+ 1,
220
+ "IMAGE"
221
+ ],
222
+ [
223
+ 15,
224
+ 1,
225
+ 0,
226
+ 12,
227
+ 0,
228
+ "IMAGE"
229
+ ],
230
+ [
231
+ 16,
232
+ 12,
233
+ 0,
171
234
  6,
172
235
  0,
173
236
  "IMAGE"
@@ -13,7 +13,7 @@
13
13
  "inputs": {
14
14
  "filename_prefix": "ComfyUI",
15
15
  "images": [
16
- "11",
16
+ "12",
17
17
  0
18
18
  ]
19
19
  },
@@ -48,5 +48,23 @@
48
48
  "_meta": {
49
49
  "title": "face_restore_with_model"
50
50
  }
51
+ },
52
+ "12": {
53
+ "inputs": {
54
+ "blend_factor": 1,
55
+ "blend_mode": "normal",
56
+ "image1": [
57
+ "1",
58
+ 0
59
+ ],
60
+ "image2": [
61
+ "11",
62
+ 0
63
+ ]
64
+ },
65
+ "class_type": "ImageBlend",
66
+ "_meta": {
67
+ "title": "facefix_blend"
68
+ }
51
69
  }
52
70
  }
File without changes
File without changes
File without changes