File size: 1,606 Bytes
737026e
58a83d5
 
 
b3c0af8
737026e
 
 
 
b3c0af8
58a83d5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51c3d28
58a83d5
2b31400
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
from diffusers import AutoPipelineForText2Image, AutoencoderKL, DiffusionPipeline
import torch
import gradio as gr

# vae = AutoencoderKL.from_pretrained("madebyollin/sdxl-vae-fp16-fix", torch_dtype=torch.float16)
# pipeline_text2image = AutoPipelineForText2Image.from_pretrained(
#     "stabilityai/stable-diffusion-xl-base-1.0", use_safetensors=True, revision="fp16", torch_dtype=torch.float16, vae=vae
# )
pipeline_text2image = DiffusionPipeline.from_pretrained(
    "ARDICAI/stable-diffusion-2-1-finetuned"
)

def gradio_txt2img(prompt):
    return pipeline_text2image(prompt=prompt).images[0]

def api_txt2base64(prompt):
    return gradio_txt2img(prompt).to_base64()

with gr.Blocks() as demo:
    gr.Markdown("## Stable Diffusion XL - Modded to Hell Edition")
    gr.Markdown("## Text to Image\n\nConverts a prompt into an image.")
    with gr.Row():
        with gr.Column():
            txt2img_prompt = gr.Textbox(label="Input", lines=2, max_lines=2)
            txt2img_btn = gr.Button("Generate")
        with gr.Column():
            txt2img_out = gr.Image()
    with gr.Row():
        with gr.Column():
            txt2b64_prompt = gr.Textbox(label="Input", lines=2, max_lines=2)
            txt2b64_btn = gr.Button("Generate")
        with gr.Column():
            txt2b64_out = gr.Image()
    txt2img_btn.click(fn=gradio_txt2img, inputs=txt2img_prompt, outputs=txt2img_out, queue=True, api_name="gradio_txt2img")
    txt2b64_btn.click(fn=api_txt2base64, inputs=txt2b64_prompt, outputs=txt2b64_out, queue=True, api_name="gradio_txt2b64")

demo.launch(server_name="0.0.0.0", server_port=7860)