import gradio as gr import os # If 'share_btn.py' is a custom module, ensure it's available; otherwise, comment out or remove these imports # from share_btn import community_icon_html, loading_icon_html, share_js # Load interfaces from Hugging Face Spaces text_gen = gr.Interface.load(name="spaces/Gustavosta/MagicPrompt-Stable-Diffusion") stable_diffusion = gr.Interface.load(name="spaces/runwayml/stable-diffusion-v1-5") def get_images(prompt): # Call the stable_diffusion interface with the prompt sd_output = stable_diffusion(prompt) # Return the output images and update the visibility of icons return sd_output, gr.update(visible=True), gr.update(visible=True) def get_prompts(prompt_text): # Generate expanded prompts using the text_gen interface return text_gen(prompt_text) css = ''' /* Your CSS styles remain unchanged */ .animate-spin { animation: spin 1s linear infinite; } /* ... rest of the CSS ... */ ''' with gr.Blocks(css=css) as demo: gr.HTML("""

Prompt Refinery

🏭 Prompt Refinery generates variations of your prompt using MagicPrompt and Stable Diffusion

""") with gr.Row(): with gr.Column(): input_text = gr.Textbox(label="Input text prompt", lines=2, elem_id="input-text") see_prompts = gr.Button("✍️Expand my prompts") with gr.Column(): text_output = gr.Textbox(label="🏭 Expanded text prompts", lines=8, elem_id="translated") diffuse_btn = gr.Button(value="🏭 Render Images for My Prompts") with gr.Column(elem_id="generated-gallery"): sd_output = gr.Gallery().style(grid=2, height="auto") with gr.Group(elem_id="share-btn-container"): # Replace the content of community_icon_html and loading_icon_html with actual HTML or leave empty community_icon = gr.HTML("", visible=False) loading_icon = gr.HTML("", visible=False) # Define the interactions without 'api_name', which is deprecated see_prompts.click(get_prompts, inputs=[input_text], outputs=[text_output]) diffuse_btn.click(get_images, inputs=[text_output], outputs=[sd_output, community_icon, loading_icon]) demo.launch(debug=True)