Spaces:
Paused
Paused
File size: 4,107 Bytes
33adbe7 03fc011 b6016a7 796cb1f 0276c07 bb33d1a 2f3af37 31833d7 796cb1f 34a218b 796cb1f 34a218b 796cb1f 34a218b 796cb1f 34a218b 796cb1f 34a218b 796cb1f 34a218b 796cb1f 34a218b 796cb1f 03fc011 0276c07 34a218b 03fc011 34a218b 03fc011 34a218b 03fc011 34a218b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
import gradio as gr
from gradio.themes.utils.colors import Color
import random
import time
import shared
import argparse
import modules.path
import fooocus_version
import modules.html
import modules.async_worker as worker
from modules.sdxl_styles import style_keys, aspect_ratios
def generate(*args):
yield gr.update(interactive=False), \
gr.update(visible=True, value=modules.html.make_progress_html(1, "0/30")), \
gr.update()
while worker.is_working:
time.sleep(0.1)
worker.buffer=[list(args)]
worker.outputs = []
finished=False
while not finished:
time.sleep(0.01)
if len(worker.outputs) > 0:
flag, product = worker.outputs.pop(0)
if flag == 'preview':
percentage, title, image = product
yield gr.update(interactive=False), \
gr.update(value=modules.html.make_progress_html(percentage, title)), \
gr.update(value=image) if image is not None else gr.update()
if flag == 'results':
image = product[0]
yield gr.update(interactive=True), \
gr.update(visible=False), \
gr.update(value=image)
finished = True
return
qm_color=Color(name="qm", c50="#effaed",c100="#def5db",c200="#64b445",c300="#c6eec0",c400="#b9ebb3",c500="#64b445",c600="#55993b",c700="#467e30",c800="#325a23",c900="#233f18",c950="#192d11")
shared.gradio_root = gr.Blocks(title='QualityMinds AI Christmas Card Maker', css=modules.html.css, theme=gr.themes.Default(primary_hue=qm_color))
with shared.gradio_root:
gr.Markdown(
"""
# QualityMinds KI Weihnachtskarten-Generator
* Beschreibe das Motiv der Weihnachtskarte in einem Prompt (Englisch), wähle einen Stil und generiere!
* Zur Übersetzung einer Beschreibung ins Englische kann beispielsweise [deepl.com](https://www.deepl.com/translator#de/Schneekugeln) helfen.
* Das Tool basiert auf [Stable Diffusion XL](https://stability.ai/stable-diffusion) v1.0 und der Oberfläche [Fooocus](https://github.com/lllyasviel/Fooocus), der Code ist OpenSource auf [Github](https://github.com/QualityMinds/AI-Christmas-Cards) verfügbar.
""")
with gr.Row(elem_classes='type_row'):
with gr.Column(scale=2):
gr.Markdown("##### Prompt (Englisch)", elem_classes="input-label")
prompt = gr.Textbox(label="Prompt (Englisch)", value="", placeholder="Was möchtest Du auf der Weihnachtskarte abbilden?",
autofocus=True, elem_classes='type_row', container=False, lines=2)
description_de = gr.Textbox(label="Beschreibung", visible=False)
gr.Markdown("##### Beispiele", elem_classes="input-label")
gr.Examples(examples=[["Der Weihnachtsmann mit seinem Sack voller Geschenke", "Santa Claus with his sack full of gifts"],
["Malerisches Winterdorf in einer Schneekugel", "Scenic winter village inside a snow globe"],
["Niedliche Pinguine in Schals und Mützen eingewickelt", "Cute penguins wrapped up in scarves and hats"]],
inputs=[description_de, prompt], elem_id="prompt_examples", cache_examples=False)
with gr.Column(scale=1, min_width="120px"):
gr.Markdown("##### Stil", elem_classes="input-label")
style_selection = gr.Dropdown(label='Stil', choices=style_keys, value='Kinofilm', container=False)
run_button = gr.Button(value="Weihnachtskarte\nerstellen", variant='primary', elem_classes='generate_button')
progress_html = gr.HTML(visible=False, elem_id='progress-bar', elem_classes='progress-bar')
generated_image = gr.Image(label="Weihnachtskarte", width=1280, value="resources/init.png" )
run_button.click(fn=generate, inputs=[prompt, style_selection], outputs=[run_button, progress_html, generated_image])
shared.gradio_root.queue(concurrency_count=1, api_open=False)
shared.gradio_root.launch(server_name="0.0.0.0", show_api=False)
|