generateImage / app.py
SAUL19's picture
Update app.py
eba5c4c
raw
history blame contribute delete
901 Bytes
import gradio as gr
from gradio.inputs import Textbox
from PIL import Image
from io import BytesIO
import torch
from torch.cuda.amp import autocast
from diffusers import DiffusionPipeline
import os
model_id = "stabilityai/stable-diffusion-xl-base-1.0"
device = "cuda" if torch.cuda.is_available() else "cpu"
pipe = DiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float32, use_safetensors=True, variant="fp16")
pipe = pipe.to(device)
def generate_image(prompt: str, secret: str):
if secret != os.getenv("SECRET_KEY"):
return "Not Authorized"
with autocast(device):
image = pipe(prompt, guidance_scale=8.5).images[0]
buffer = BytesIO()
image.save(buffer, format="PNG")
buffer.seek(0)
return buffer
iface = gr.Interface(fn=generate_image, inputs=[Textbox(label="prompt"), Textbox(label="secret")], outputs=gr.outputs.Bytes())
iface.launch()