diff --git a/extensions-builtin/sd_forge_controlnet/lib_controlnet/infotext.py b/extensions-builtin/sd_forge_controlnet/lib_controlnet/infotext.py index 8a3a063b..ba31c48b 100644 --- a/extensions-builtin/sd_forge_controlnet/lib_controlnet/infotext.py +++ b/extensions-builtin/sd_forge_controlnet/lib_controlnet/infotext.py @@ -32,13 +32,12 @@ def serialize_unit(unit: external_code.ControlNetUnit) -> str: excluded_fields = ( "image", "enabled", - # Note: "advanced_weighting" is excluded as it is an API-only field. - "advanced_weighting", - # Note: "inpaint_crop_image" is img2img inpaint only flag, which does not - # provide much information when restoring the unit. - "inpaint_crop_input_image", + "input_mode", + "use_preview_as_input", + "generated_image", + "mask_image", ) - + log_value = { field_to_displaytext(field): getattr(unit, field) for field in vars(external_code.ControlNetUnit()).keys() @@ -48,7 +47,7 @@ def serialize_unit(unit: external_code.ControlNetUnit) -> str: if not all("," not in str(v) and ":" not in str(v) for v in log_value.values()): logger.error(f"Unexpected tokens encountered:\n{log_value}") return "" - + return ", ".join(f"{field}: {value}" for field, value in log_value.items()) diff --git a/extensions-builtin/sd_forge_controlnet/scripts/controlnet.py b/extensions-builtin/sd_forge_controlnet/scripts/controlnet.py index 00e671eb..fd30b670 100644 --- a/extensions-builtin/sd_forge_controlnet/scripts/controlnet.py +++ b/extensions-builtin/sd_forge_controlnet/scripts/controlnet.py @@ -396,7 +396,9 @@ class ControlNetForForgeOfficial(scripts.Script): @torch.no_grad() def process(self, p, *args, **kwargs): self.current_params = {} - for i, unit in enumerate(self.get_enabled_units(args)): + enabled_units = self.get_enabled_units(args) + Infotext.write_infotext(enabled_units, p) + for i, unit in enumerate(enabled_units): self.bound_check_params(unit) params = ControlNetCachedParameters() self.process_unit_after_click_generate(p, unit, params, *args, **kwargs)