Spaces:
Running on Zero
Running on Zero
File size: 1,586 Bytes
c2dd458 6f64739 c2dd458 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | from copy import deepcopy
def inject(assembler, chain_definition, chain_items):
if not chain_items:
return
target_node_name = chain_definition.get('target_node')
if not target_node_name or target_node_name not in assembler.node_map:
print(f"Warning: Target node '{target_node_name}' not found for HiDream-O1 Smoothing. Skipping.")
return
target_node_id = assembler.node_map[target_node_name]
if 'model' not in assembler.workflow[target_node_id]['inputs']:
print(f"Warning: Target node '{target_node_name}' has no 'model' input. Skipping.")
return
current_model_connection = assembler.workflow[target_node_id]['inputs']['model']
for _ in chain_items:
template = assembler._get_node_template("HiDreamO1PatchSeamSmoothing")
node_data = deepcopy(template)
node_data['inputs']['start_percent'] = 0.8
node_data['inputs']['end_percent'] = 1.0
node_data['inputs']['pattern'] = "single_shift"
node_data['inputs']['passes'] = "ramp_2_4"
node_data['inputs']['blend'] = "median"
node_data['inputs']['strength'] = 1.0
node_data['inputs']['model'] = current_model_connection
new_node_id = assembler._get_unique_id()
assembler.workflow[new_node_id] = node_data
current_model_connection = [new_node_id, 0]
assembler.workflow[target_node_id]['inputs']['model'] = current_model_connection
print("HiDream-O1 Patch Seam Smoothing injector applied.") |