diff --git a/args_manager.py b/args_manager.py index e5e76753..f675eb56 100644 --- a/args_manager.py +++ b/args_manager.py @@ -18,7 +18,10 @@ args_parser.parser.add_argument("--disable-image-log", action='store_true', help="Prevent writing images and logs to hard drive.") args_parser.parser.add_argument("--disable-analytics", action='store_true', - help="Disables analytics for Gradio", default=False) + help="Disables analytics for Gradio.") + +args_parser.parser.add_argument("--disable-metadata", action='store_true', + help="Disables saving metadata to images.") args_parser.parser.set_defaults( disable_cuda_malloc=True, diff --git a/modules/async_worker.py b/modules/async_worker.py index f63d2416..3e0c1bac 100644 --- a/modules/async_worker.py +++ b/modules/async_worker.py @@ -36,6 +36,7 @@ def worker(): import extras.ip_adapter as ip_adapter import extras.face_crop import fooocus_version + import args_manager from modules.sdxl_styles import apply_style, apply_wildcards, fooocus_expansion from modules.private_logger import log @@ -141,7 +142,7 @@ def worker(): inpaint_input_image = args.pop() inpaint_additional_prompt = args.pop() inpaint_mask_image_upload = args.pop() - save_metadata_to_images = args.pop() + save_metadata_to_images = args.pop() if not args_manager.args.disable_metadata else False cn_tasks = {x: [] for x in flags.ip_list} for _ in range(4): @@ -840,8 +841,8 @@ def worker(): } cn_task_index += 1 - metadata |= {'software': f'Fooocus v{fooocus_version.version}'} - metadata_string = json.dumps(metadata, ensure_ascii=False) + metadata |= {'software': f'Fooocus v{fooocus_version.version}'} + metadata_string = json.dumps(metadata, ensure_ascii=False) for x in imgs: d = [ diff --git a/webui.py b/webui.py index 1040f876..e3814ff9 100644 --- a/webui.py +++ b/webui.py @@ -381,8 +381,10 @@ with shared.gradio_root: info='Set as negative number to disable. For developer debugging.') disable_preview = gr.Checkbox(label='Disable Preview', value=False, info='Disable preview during generation.') - save_metadata_to_images = gr.Checkbox(label='Save Metadata to Images', value=modules.config.default_save_metadata_to_images, - info='Adds parameters to generated images allowing manual regeneration.') + + if not args_manager.args.disable_metadata: + save_metadata_to_images = gr.Checkbox(label='Save Metadata to Images', value=modules.config.default_save_metadata_to_images, + info='Adds parameters to generated images allowing manual regeneration.') with gr.Tab(label='Control'): debugging_cn_preprocessor = gr.Checkbox(label='Debug Preprocessors', value=False, @@ -530,7 +532,10 @@ with shared.gradio_root: ctrls += [input_image_checkbox, current_tab] ctrls += [uov_method, uov_input_image] ctrls += [outpaint_selections, inpaint_input_image, inpaint_additional_prompt, inpaint_mask_image] - ctrls += [save_metadata_to_images] + + if not args_manager.args.disable_metadata: + ctrls += [save_metadata_to_images] + ctrls += ip_ctrls state_is_generating = gr.State(False)