@@ -430,7 +430,7 @@ def forward(
430430 ) -> Union [FluxControlNetOutput , Tuple ]:
431431 # ControlNet-Union with multiple conditions
432432 # only load one ControlNet for saving memories
433- if len (self .nets ) == 1 and self . nets [ 0 ]. union :
433+ if len (self .nets ) == 1 :
434434 controlnet = self .nets [0 ]
435435
436436 for i , (image , mode , scale ) in enumerate (zip (controlnet_cond , controlnet_mode , conditioning_scale )):
@@ -454,17 +454,18 @@ def forward(
454454 control_block_samples = block_samples
455455 control_single_block_samples = single_block_samples
456456 else :
457- control_block_samples = [
458- control_block_sample + block_sample
459- for control_block_sample , block_sample in zip (control_block_samples , block_samples )
460- ]
461-
462- control_single_block_samples = [
463- control_single_block_sample + block_sample
464- for control_single_block_sample , block_sample in zip (
465- control_single_block_samples , single_block_samples
466- )
467- ]
457+ if block_samples is not None and control_block_samples is not None :
458+ control_block_samples = [
459+ control_block_sample + block_sample
460+ for control_block_sample , block_sample in zip (control_block_samples , block_samples )
461+ ]
462+ if single_block_samples is not None and control_single_block_samples is not None :
463+ control_single_block_samples = [
464+ control_single_block_sample + block_sample
465+ for control_single_block_sample , block_sample in zip (
466+ control_single_block_samples , single_block_samples
467+ )
468+ ]
468469
469470 # Regular Multi-ControlNets
470471 # load all ControlNets into memories
0 commit comments