Spaces:
Runtime error
Runtime error
File size: 3,011 Bytes
2f69091 9add37f 32f3060 2f69091 cbbd7b9 2f69091 d443a93 fd549ec 2f69091 920478a 21463ce 2f69091 4f48d5d 2f69091 583bc53 63400c1 583bc53 2f69091 7034a9f 2f69091 583bc53 2f69091 583bc53 2f69091 f93883b 2f69091 da06a43 2f69091 d443a93 2f69091 08dfa3e 2f69091 7136067 2f69091 bcab65d |
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 77 78 79 80 81 82 83 84 85 86 87 88 |
import gradio as gr
import os
from share_btn import community_icon_html, loading_icon_html, share_js
text_gen = gr.load(name="spaces/Ashrafb/MagicPrompt-Stable-Diffusiongust")
stable_diffusion = gr.load(name="spaces/runwayml/stable-diffusion-v1-5")
def get_images(prompt):
gallery_dir = stable_diffusion(prompt, fn_index=2)
sd_output = [os.path.join(gallery_dir, image) for image in os.listdir(gallery_dir)]
return sd_output, gr.update(visible=True), gr.update(visible=True), gr.update(visible=True)
def get_prompts(prompt_text):
return text_gen(prompt_text)
css = '''
.animate-spin {
animation: spin 1s linear infinite;
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
footer{display:none !important}
'''
with gr.Blocks(css=css) as demo:
gr.HTML("""<div style="text-align: center; max-width: 700px; margin: 0 auto;">
<div
style="
display: inline-flex;
align-items: center;
gap: 0.8rem;
font-size: 1.75rem;
"
>
<h1 style="font-weight: 900; margin-bottom: 7px; margin-top: 5px;">
Magic Diffusion 🪄
</h1>
</div>
<p style="margin-bottom: 10px; font-size: 94%">
This Space prettifies your prompt using MagicPrompt
and then runs it through Stable Diffusion to create aesthetically pleasing images. Simply enter a few concepts and let it improve your prompt. You can then diffuse the prompt.
</p>
</div>""")
with gr.Row():
with gr.Column():
input_text = gr.Textbox(label="Short text prompt",
lines=4, elem_id="input-text")
with gr.Row():
see_prompts = gr.Button("Feed in your text!")
with gr.Column():
text_output = gr.Textbox(
label="Prettified text prompt",
lines=4,
elem_id="translated"
)
with gr.Row():
diffuse_btn = gr.Button(value="Diffuse the Prompt!")
with gr.Column(elem_id="generated-gallery"):
sd_output = gr.Gallery().style(grid=1, height="auto")
with gr.Group(elem_id="share-btn-container"):
community_icon = gr.HTML(community_icon_html, visible=False)
loading_icon = gr.HTML(loading_icon_html, visible=False)
see_prompts.click(get_prompts,
inputs = [input_text],
outputs = [
text_output
])
diffuse_btn.click(get_images,
inputs = [
text_output
],
outputs = [sd_output, loading_icon]
)
demo.launch(debug=True) |