Spaces:
Runtime error
Runtime error
import gradio as gr | |
import sys | |
from utils import load_lora_model | |
from bg_alpha import adjust_transparency | |
from lineart import get_pipe | |
import os | |
from PIL import Image | |
import spaces | |
path = os.getcwd() | |
output_dir = f"{path}/output" | |
lora_dir = f"{path}/models/lora" | |
load_lora_model(lora_dir) | |
pipe = get_pipe(lora_dir) | |
def generate(prompt, negative_prompt): | |
default_pos = "((white background)), lineart, <lora:sdxl_BWLine:1.0>, monochrome, " | |
default_neg = "" | |
prompt = default_pos + prompt | |
negative_prompt = default_neg + negative_prompt | |
width, height = 1024, 1024 | |
color = (255, 255, 255) | |
white_bg = Image.new("RGB", (width, height), color) | |
image = pipe( | |
prompt=prompt, | |
negative_prompt = negative_prompt, | |
image=[white_bg], | |
num_inference_steps=50, | |
controlnet_conditioning_scale=[0.1] | |
).images[0] | |
return image | |
class webui: | |
def __init__(self): | |
self.demo = gr.Blocks() | |
def process(self, pos_prompt, neg_prompt): | |
image = generate(pos_prompt, neg_prompt) | |
image = adjust_transparency(image) | |
return [image] | |
def launch(self, share): | |
with self.demo: | |
with gr.Column(): | |
with gr.Tab("output"): | |
output_0 = gr.Gallery(format="png") | |
#output_file = gr.File() | |
with gr.Column(): | |
pos_prompt = gr.Textbox(value="1girl, cute, kawaii, medium breasts, medium hair, smile, mini skirt, best quality, very aesthetic," ,max_lines=1000, label="positive prompt") | |
neg_prompt = gr.Textbox(value="bold line, multiple people," ,max_lines=1000, label="negative prompt") | |
submit = gr.Button(value="Start") | |
submit.click( | |
self.process, | |
inputs=[pos_prompt, neg_prompt], #[input_image, pos_prompt, neg_prompt, alpha_th, thickness, reference_image], | |
outputs=[output_0] | |
) | |
self.demo.queue() | |
self.demo.launch(share=share) | |
if __name__ == "__main__": | |
ui = webui() | |
if len(sys.argv) > 1: | |
if sys.argv[1] == "share": | |
ui.launch(share=True) | |
else: | |
ui.launch(share=False) | |
else: | |
ui.launch(share=False) | |