import gradio as gr import random model = gr.load("models/Purz/face-projection") def generate_image(text, seed): if seed is not None: random.seed(seed) return model(text) examples = [ ["Humanoid Cat Warrior, Full View", None], ["Warhammer Sisterhood", None], ["Future Robots war", None], ["Fantasy dragon", None] ] # Custom CSS for button styling and improved prompt box design custom_css = """ /* Remove border and background color for the output image preview */ .output-image { border: none !important; background: none !important; } /* Prompt textbox styling with professional look */ input[type="text"] { border: 2px solid #007bff; border-radius: 8px; padding: 12px; font-size: 16px; width: 100%; background-color: #f0f8ff; /* Light professional background */ } /* Examples arranged in a single line, without buttons */ .gr-examples { display: flex; flex-direction: row; justify-content: space-evenly; gap: 10px; margin-top: 10px; } .gr-examples span { font-size: 14px; color: #333; cursor: pointer; padding: 5px; transition: all 0.2s ease; } /* Hover effect on examples */ .gr-examples span:hover { color: #007bff; text-decoration: underline; } /* Styling for the generate and clear buttons */ button { border-radius: 50px; background: linear-gradient(90deg, #007bff, #00d4ff); /* Blue gradient */ color: white; font-weight: bold; padding: 10px 20px; border: none; cursor: pointer; font-size: 16px; margin-top: 10px; } button:hover { background: linear-gradient(90deg, #00d4ff, #007bff); } """ # Gradio Interface with updated UI elements and custom CSS interface = gr.Interface( fn=generate_image, inputs=[ gr.Textbox(label="Describe the scene:", placeholder="Type your imagination...", interactive=True), gr.Slider(minimum=0, maximum=10000, step=1, label="Seed (optional)") ], outputs=gr.Image(label="Generated Image", type="pil"), examples=examples, css=custom_css, # Apply custom CSS description="Enter a creative prompt or choose an example to generate your AI-powered image. Model performance may vary due to CPU usage.", ) # Add buttons to the interface interface.add_button("Generate", variant="primary") interface.add_button("Clear", variant="secondary") interface.launch()