stickerparty / app.py
takamarou's picture
debug mode
d5d120d
raw
history blame
1.54 kB
import spaces
import os
import torch
import gradio as gr
from fastapi import FastAPI
from huggingface_hub import login
from diffusers import StableDiffusion3Pipeline, DDPMScheduler
from dotenv import load_dotenv
import uvicorn
login(token=os.getenv("HF_TOKEN"))
app = FastAPI(debug=True)
pipeline = StableDiffusion3Pipeline.from_pretrained(
"stabilityai/stable-diffusion-3-medium",
revision="refs/pr/26",
torch_dtype=torch.float16,
)
pipeline.to("cuda")
@app.get("/")
def index():
print('here')
return "Hello"
@spaces.GPU
def generate(prompt, negative_prompt, num_inference_steps, height, width, guidance_scale):
print('start generate', prompt, negative_prompt, num_inference_steps, height, width, guidance_scale)
return pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
num_inference_steps=num_inference_steps,
height=height,
width=width,
guidance_scale=guidance_scale
).images
io = gr.Interface(
fn=generate,
inputs=[
gr.Textbox(label="Prompt", lines=3),
gr.Textbox(label="Negative Prompt", lines=2),
gr.Slider(label="Inference Steps", value=20, minimum=1, maximum=30, step=1),
gr.Number(label="Height"),
gr.Number(label="Width"),
gr.Slider(label="Guidance Scale", value=7, minimum=1, maximum=15, step=1)
],
outputs=gr.Gallery(),
)
#app = gr.mount_gradio_app(app, io, path="/gradio")
print('starting')
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=7680)