Spaces:
Running
on
T4
Running
on
T4
from typing import List | |
import time | |
import gradio as gr | |
from modules.sprites import generate_sides, build_gifs, build_spritesheet | |
def generate(prompt, thresh): | |
timestamp = int(time.time()) | |
sides = generate_sides(prompt, 3)[0] | |
spritesheet = build_spritesheet(sides, prompt, timestamp=timestamp, thresh=thresh)[0] | |
filepaths = build_gifs(sides, prompt, save=True, timestamp=timestamp, thresh=thresh)[1] | |
return spritesheet, filepaths[0], filepaths[1], filepaths[2], filepaths[3] | |
demo = gr.Blocks() | |
with demo: | |
gr.Markdown(""" | |
# Stable Diffusion Sprite Sheets | |
Generate a sprite sheet of pixel art character sides and their corresponding walk animations! Checkpoint by [Onodofthenorth](https://huggingface.co/Onodofthenorth/SD_PixelArt_SpriteSheet_Generator). Sprites are 32x32 pixels scaled up to 96x96. NSFW content replaced with blank sprites. | |
""") | |
with gr.Row(): | |
with gr.Column(): | |
prompt = gr.Textbox(label="Prompt", placeholder="Enter text prompt") | |
threshold = gr.Slider(label="Background removal amount", placeholder="Tweak how strong the background removal is", minimum=0, maximum=255, value=96) | |
button = gr.Button("Generate") | |
with gr.Box(): | |
with gr.Row(): | |
spritesheet = gr.Image(label="Sprite Sheet") | |
with gr.Row(): | |
front = gr.Image(label="Front") | |
back = gr.Image(label="Back") | |
left = gr.Image(label="Left") | |
right = gr.Image(label="Right") | |
button.click(fn=generate, inputs=[prompt, threshold], outputs=[spritesheet, front, back, left, right]) | |
demo.queue() | |
demo.launch(show_api=True) | |