webuiのPNG Infoからt2iやi2iのパラメータ送るときにシード値とモデルを除外するチェックボックスを追加するパッチ。
作成日: 2022/10/20
パッチ作成時のSHA1 ID:7f8ab1ee8f304031b3404e25761dd0f4c7be7df8

使い方

  1. webuiのフォルダにdiff.patchという名前のファイルを作る。内容は以下の通り。改行コードはLFにすること。
diff --git a/modules/generation_parameters_copypaste.py b/modules/generation_parameters_copypaste.py
index 0f04144..dd29f0d 100644
--- a/modules/generation_parameters_copypaste.py
+++ b/modules/generation_parameters_copypaste.py
@@ -59,8 +59,8 @@ Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 965400086, Size: 512x512, Model
     return res


-def connect_paste(button, paste_fields, input_comp, js=None):
-    def paste_func(prompt):
+def connect_paste(button, paste_fields, input_comp, js=None, excepted_comp=None):
+    def paste_func(prompt, excepted = []):
         if not prompt and not shared.cmd_opts.hide_ui_dir_config:
             filename = os.path.join(script_path, "params.txt")
             if os.path.exists(filename):
@@ -72,9 +72,9 @@ def connect_paste(button, paste_fields, input_comp, js=None):

         for output, key in paste_fields:
             if callable(key):
-                v = key(params)
+                v = None if output.elem_id and output.elem_id.replace('setting_', '') in excepted else key(params)
             else:
-                v = params.get(key, None)
+                v = None if key in excepted else params.get(key, None)

             if v is None:
                 res.append(gr.update())
@@ -93,6 +93,6 @@ def connect_paste(button, paste_fields, input_comp, js=None):
     button.click(
         fn=paste_func,
         _js=js,
-        inputs=[input_comp],
+        inputs=[input_comp] if excepted_comp == None else [input_comp, excepted_comp],
         outputs=[x[0] for x in paste_fields],
     )
diff --git a/modules/ui.py b/modules/ui.py
index a2dbd41..f1cd0df 100644
--- a/modules/ui.py
+++ b/modules/ui.py
@@ -1166,6 +1166,9 @@ def create_ui(wrap_gradio_gpu_call):
                     pnginfo_send_to_txt2img = gr.Button('Send to txt2img')
                     pnginfo_send_to_img2img = gr.Button('Send to img2img')

+                with gr.Row():
+                    pnginfo_excepted_parameter = gr.CheckboxGroup(choices=['Seed', 'sd_model_checkpoint'], label='Except Below', interactive=True)
+
         image.change(
             fn=wrap_gradio_call(modules.extras.run_pnginfo),
             inputs=[image],
@@ -1750,8 +1753,8 @@ Requested path was: {f}
         modules.generation_parameters_copypaste.connect_paste(txt2img_paste, txt2img_paste_fields + settings_paste_fields, txt2img_prompt)
         modules.generation_parameters_copypaste.connect_paste(img2img_paste, img2img_paste_fields + settings_paste_fields, img2img_prompt)

-        modules.generation_parameters_copypaste.connect_paste(pnginfo_send_to_txt2img, txt2img_paste_fields + settings_paste_fields, generation_info, 'switch_to_txt2img')
-        modules.generation_parameters_copypaste.connect_paste(pnginfo_send_to_img2img, img2img_paste_fields + settings_paste_fields, generation_info, 'switch_to_img2img_img2img')
+        modules.generation_parameters_copypaste.connect_paste(pnginfo_send_to_txt2img, txt2img_paste_fields + settings_paste_fields, generation_info, 'switch_to_txt2img', excepted_comp=pnginfo_excepted_parameter)
+        modules.generation_parameters_copypaste.connect_paste(pnginfo_send_to_img2img, img2img_paste_fields + settings_paste_fields, generation_info, 'switch_to_img2img_img2img', excepted_comp=pnginfo_excepted_parameter)

     ui_config_file = cmd_opts.ui_config_file
     ui_settings = {}
  1. webuiのフォルダでGit Bash Hereする。
  2. 下のコマンドを実行する。
1
2
3
patch -p1 diff.patch
unix2dos modules/ui.py
unix2dos modules/generation_parameters_copypaste.py
  1. webuiを起動する。
Edit
Pub: 20 Oct 2022 10:44 UTC
Edit: 20 Oct 2022 10:46 UTC
Views: 532