カスタムスクリプト
カスタム スクリプトをインストールするには、スクリプト ディレクトリに配置し、[設定] タブの下部にある [カスタム スクリプトを再読み込み] ボタンをクリックします。
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Custom-Scripts
- Improved prompt matrix
- txt2img2img
- txt2mask
- Mask drawing UI
- Img2img Video
- Seed Travel
- Advanced Seed Blending
- Prompt Blending
- Animator
- Parameter Sequencer
- Alternate Noise Schedules
- Vid2Vid
- Txt2VectorGraphics
- Shift Attention
- Loopback and Superimpose
- Interpolate
- Run n times
- Advanced Loopback
- prompt-morph
- prompt interpolation
- Asymmetric Tiling
- Force Symmetry
- SD-latent-mirroring
- txt2palette
- StylePile
- XYZ Plot Script
- xyz-plot-grid
- Expanded-XY-grid
- Booru tag autocompletion
- Embedding to PNG
- Alpha Canvas
- Random grid
- Random
- Stable Diffusion Aesthetic Scorer
- img2tiles
- img2mosiac
- Depth Maps
- Test my prompt
- Pixel Art
- Multiple Hypernetworks
- Hypernetwork Structure(.hns)/Variable Dropout/ Monkey Patches
- Config-Presets
- Saving steps of the sampling process
サンプルスクリプト
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Developing-custom-scripts
サイトにあるサンプルを入れて試してみました
フリップして回転するものです
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
import modules.scripts as scripts import gradio as gr import os from modules import images from modules.processing import process_images, Processed from modules.processing import Processed from modules.shared import opts, cmd_opts, state class Script(scripts.Script): def title(self): return "Flip/Rotate Output" def show(self, is_img2img): return is_img2img def ui(self, is_img2img): angle = gr.Slider(minimum=0.0, maximum=360.0, step=1, value=0, label="Angle") hflip = gr.Checkbox(False, label="Horizontal flip") vflip = gr.Checkbox(False, label="Vertical flip") overwrite = gr.Checkbox(False, label="Overwrite existing files") return [angle, hflip, vflip, overwrite] def run(self, p, angle, hflip, vflip, overwrite): def rotate_and_flip(im, angle, hflip, vflip): from PIL import Image raf = im if angle != 0: raf = raf.rotate(angle, expand=True) if hflip: raf = raf.transpose(Image.FLIP_LEFT_RIGHT) if vflip: raf = raf.transpose(Image.FLIP_TOP_BOTTOM) return raf basename = "" if(not overwrite): if angle != 0: basename += "rotated_" + str(angle) if hflip: basename += "_hflip" if vflip: basename += "_vflip" else: p.do_not_save_samples = True proc = process_images(p) for i in range(len(proc.images)): proc.images[i] = rotate_and_flip(proc.images[i], angle, hflip, vflip) images.save_image(proc.images[i], p.outpath_samples, basename, proc.seed + i, proc.prompt, opts.samples_format, info= proc.info, p=p) return proc |

