aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/scripts.py19
-rw-r--r--scripts/custom_code.py17
2 files changed, 19 insertions, 17 deletions
diff --git a/modules/scripts.py b/modules/scripts.py
index 9cc5a185..0e0b949b 100644
--- a/modules/scripts.py
+++ b/modules/scripts.py
@@ -13,18 +13,37 @@ class Script:
args_from = None
args_to = None
+ # The title of the script. This is what will be displayed in the dropdown menu.
def title(self):
raise NotImplementedError()
+ # How the script is displayed in the UI. See https://gradio.app/docs/#components
+ # for the different UI components you can use and how to create them.
+ # Most UI components can return a value, such as a boolean for a checkbox.
+ # The returned values are passed to the run method as parameters.
def ui(self, is_img2img):
pass
+ # Determines when the script should be shown in the dropdown menu via the
+ # returned value. As an example:
+ # is_img2img is True if the current tab is img2img, and False if it is txt2img.
+ # Thus, return is_img2img to only show the script on the img2img tab.
def show(self, is_img2img):
return True
+ # This is where the additional processing is implemented. The parameters include
+ # self, the model object "p" (a StableDiffusionProcessing class, see
+ # processing.py), and the parameters returned by the ui method.
+ # Custom functions can be defined here, and additional libraries can be imported
+ # to be used in processing. The return value should be a Processed object, which is
+ # what is returned by the process_images method.
def run(self, *args):
raise NotImplementedError()
+ # The description method is currently unused.
+ # To add a description that appears when hovering over the title, amend the "titles"
+ # dict in script.js to include the script title (returned by title) as a key, and
+ # your description as the value.
def describe(self):
return ""
diff --git a/scripts/custom_code.py b/scripts/custom_code.py
index 6583d3b8..a9b10c09 100644
--- a/scripts/custom_code.py
+++ b/scripts/custom_code.py
@@ -4,38 +4,21 @@ import gradio as gr
from modules.processing import Processed
from modules.shared import opts, cmd_opts, state
-# An example custom script that allows you to make modifications to how the model object is handled.
-# These scripts appear in the lower-left dropdown menu on the txt2img and img2img tabs.
class Script(scripts.Script):
- # The title of the script. This is what will be displayed in the dropdown menu.
def title(self):
return "Custom code"
- # Determines when the script should be shown in the dropdown menu via the returned value.
- # is_img2img is True if the current tab is img2img, and False if it is txt2img. Thus, return
- # is_img2img to only show the script on the img2img tab.
def show(self, is_img2img):
return cmd_opts.allow_code
-
- # How the script's is displayed in the UI. See https://gradio.app/docs/#components
- # for the different elements you can use and how to specify them.
- # Each UI element can return a value, such as a boolean for a checkbox.
- # The returned values are passed to the run method as parameters.
def ui(self, is_img2img):
code = gr.Textbox(label="Python code", visible=False, lines=1)
return [code]
- # This is where the additional processing is implemented. The parameters include self, the
- # model object (a StableDiffusionProcessing class, see processing.py), and the parameters
- # returned by the ui method.
- # Custom functions can be defined here, and additional libraries can be imported to be used
- # in processing. The return value should be a Processed object, which is what is returned
- # by the process_images method.
def run(self, p, code):
assert cmd_opts.allow_code, '--allow-code option must be enabled'