Spaces:
Running
on
Zero
Running
on
Zero
Upload folder using huggingface_hub
Browse files
chain_injectors/controlnet_injector.py
CHANGED
|
@@ -13,6 +13,16 @@ def inject(assembler, chain_definition, chain_items):
|
|
| 13 |
'negative' not in assembler.workflow[ksampler_id]['inputs']:
|
| 14 |
print(f"Warning: KSampler node '{ksampler_name}' is missing 'positive' or 'negative' inputs. Skipping ControlNet chain.")
|
| 15 |
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
|
| 17 |
current_positive_connection = assembler.workflow[ksampler_id]['inputs']['positive']
|
| 18 |
current_negative_connection = assembler.workflow[ksampler_id]['inputs']['negative']
|
|
@@ -37,6 +47,7 @@ def inject(assembler, chain_definition, chain_items):
|
|
| 37 |
apply_cn_node['inputs']['negative'] = current_negative_connection
|
| 38 |
apply_cn_node['inputs']['control_net'] = [cn_loader_id, 0]
|
| 39 |
apply_cn_node['inputs']['image'] = [image_loader_id, 0]
|
|
|
|
| 40 |
|
| 41 |
assembler.workflow[apply_cn_id] = apply_cn_node
|
| 42 |
|
|
|
|
| 13 |
'negative' not in assembler.workflow[ksampler_id]['inputs']:
|
| 14 |
print(f"Warning: KSampler node '{ksampler_name}' is missing 'positive' or 'negative' inputs. Skipping ControlNet chain.")
|
| 15 |
return
|
| 16 |
+
|
| 17 |
+
vae_source_str = chain_definition.get('vae_source')
|
| 18 |
+
if not vae_source_str:
|
| 19 |
+
print("Warning: 'vae_source' definition missing in the recipe for the ControlNet chain. Skipping.")
|
| 20 |
+
return
|
| 21 |
+
vae_node_name, vae_idx_str = vae_source_str.split(':')
|
| 22 |
+
if vae_node_name not in assembler.node_map:
|
| 23 |
+
print(f"Warning: VAE source node '{vae_node_name}' for ControlNet chain not found. Skipping.")
|
| 24 |
+
return
|
| 25 |
+
vae_connection = [assembler.node_map[vae_node_name], int(vae_idx_str)]
|
| 26 |
|
| 27 |
current_positive_connection = assembler.workflow[ksampler_id]['inputs']['positive']
|
| 28 |
current_negative_connection = assembler.workflow[ksampler_id]['inputs']['negative']
|
|
|
|
| 47 |
apply_cn_node['inputs']['negative'] = current_negative_connection
|
| 48 |
apply_cn_node['inputs']['control_net'] = [cn_loader_id, 0]
|
| 49 |
apply_cn_node['inputs']['image'] = [image_loader_id, 0]
|
| 50 |
+
apply_cn_node['inputs']['vae'] = vae_connection
|
| 51 |
|
| 52 |
assembler.workflow[apply_cn_id] = apply_cn_node
|
| 53 |
|
core/pipelines/workflow_recipes/_partials/conditioning/sdxl.yaml
CHANGED
|
@@ -36,6 +36,7 @@ dynamic_controlnet_chains:
|
|
| 36 |
controlnet_chain:
|
| 37 |
template: "ControlNetApplyAdvanced"
|
| 38 |
ksampler_node: "ksampler"
|
|
|
|
| 39 |
|
| 40 |
dynamic_ipadapter_chains:
|
| 41 |
ipadapter_chain:
|
|
|
|
| 36 |
controlnet_chain:
|
| 37 |
template: "ControlNetApplyAdvanced"
|
| 38 |
ksampler_node: "ksampler"
|
| 39 |
+
vae_source: "ckpt_loader:2"
|
| 40 |
|
| 41 |
dynamic_ipadapter_chains:
|
| 42 |
ipadapter_chain:
|