|
from diffusers import AutoPipelineForText2Image, AutoencoderKL, DiffusionPipeline |
|
import torch |
|
import gradio as gr |
|
|
|
|
|
|
|
|
|
|
|
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) |