stable-diffusion-webui/scripts/create_inspiration_images.py

46 lines
1.5 KiB
Python
Raw Normal View History

2022-10-20 15:58:52 +00:00
import csv, os, shutil
import modules.scripts as scripts
from modules import processing, shared, sd_samplers, images
from modules.processing import Processed
class Script(scripts.Script):
def title(self):
return "Create artists style image"
def show(self, is_img2img):
return not is_img2img
def ui(self, is_img2img):
return []
def show(self, is_img2img):
return not is_img2img
def run(self, p): #, max_snapshoots_num):
path = os.path.join("style_snapshoot", "artist")
if not os.path.exists(path):
os.makedirs(path)
p.do_not_save_samples = True
p.do_not_save_grid = True
p.negative_prompt = "portrait photo"
f = open('artists.csv')
f_csv = csv.reader(f)
for row in f_csv:
name = row[0]
artist_path = os.path.join(path, name)
if not os.path.exists(artist_path):
os.mkdir(artist_path)
if len(os.listdir(artist_path)) > 0:
continue
print(name)
p.prompt = name
processed = processing.process_images(p)
for img in processed.images:
i = 0
filename = os.path.join(artist_path, format(0, "03d") + ".jpg")
while os.path.exists(filename):
i += 1
filename = os.path.join(artist_path, format(i, "03d") + ".jpg")
img.save(filename, quality=70)
return processed