TopArtModels / app.py
DiffusionArtco's picture
Update app.py
7d33e57
import gradio as gr
import requests
from PIL import Image
from io import BytesIO
import base64
api_url = "https://5cb20b40-572c-426f-9466-995256f9b6eb.id.repl.co/generate_image"
def generate_image(model="Dreamlike Diffusion", prompt="", seed=0, negative_prompt="", sampler="k_dpmpp_2s_a", steps=50):
data = "?model=" + model + "&prompt=" + prompt + "&seed=" + str(seed) + "&negative_prompt=" + negative_prompt + "&sampler=" + sampler + "&steps=" + str(steps)
response = requests.post(api_url + data, timeout=400)
if response.status_code == 200:
img_base64 = response.json()["url"]
img_bytes = base64.b64decode(img_base64)
img = Image.open(BytesIO(img_bytes))
return img
else:
return None
inputs = [
gr.inputs.Dropdown(['Deliberate', 'Dreamlike Diffusion', 'Dreamshaper', 'Elden Ring Diffusion', 'Epic Diffusion', 'Experience', 'FaeTastic', 'Inkpunk Diffusion', 'Kenshi', 'Mega Merge Diffusion', 'Midjourney Diffusion', 'Midjourney PaintArt', 'ModernArt Diffusion', 'Movie Diffusion', 'NeverEnding Dream', 'PRMJ', 'ProtoGen', 'RealBiter', 'RCNZ Gorilla With A Brick', 'RPG', 'Seek.art MEGA', 'Samdoesarts Ultmerge', 'Seek.art MEGA', 'Unstable Ink Dream', 'Van Gogh Diffusion', 'VinteProtogenMix' ], label="Model", default="Dreamlike Diffusion"),
gr.inputs.Textbox(label="Prompt"),
gr.inputs.Number(label="Seed", default=0),
gr.inputs.Textbox(label="Negative Prompt", default=""),
gr.inputs.Dropdown(["k_lms", "k_heun", "k_euler", "k_euler_a", "k_dpm_2", "k_dpm_2_a", "DDIM", "k_dpm_fast", "k_dpm_adaptive", "k_dpmpp_2m", "k_dpmpp_2s_a", "k_dpmpp_sde"], label="Sampler", default="k_dpmpp_2s_a"),
gr.inputs.Number(label="Steps", default=50)
]
outputs = gr.outputs.Image(label="Generated Image", type="pil")
interface = gr.Interface(generate_image, inputs, outputs, title="",
description="<center></center>",
examples=[])
interface.launch()