Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| # Load the model | |
| model = gr.load("models/strangerzonehf/Flux-Midjourney-Mix2-LoRA") | |
| # Updated CSS with new additions | |
| custom_css = """ | |
| @import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Uncial+Antiqua&display=swap'); | |
| body { | |
| background-color: #1b1b1b; /* Dungeon-like backdrop */ | |
| color: #f5f5f5; | |
| font-family: 'Cinzel', serif; /* Fantasy-themed font */ | |
| margin: 0; | |
| padding: 0; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: flex-start; | |
| height: 100vh; | |
| background-image: url('https://www.transparenttextures.com/patterns/dark-matter.png'); /* Subtle dungeon texture */ | |
| } | |
| .gradio-container { | |
| max-width: 950px; | |
| margin: auto; | |
| padding: 30px; | |
| background: linear-gradient(145deg, #2e2b2a, #3a3433); /* Mystic gradient for depth */ | |
| border: 4px solid #8b4513; | |
| border-radius: 15px; | |
| box-shadow: 0 0 20px rgba(0, 0, 0, 0.8); | |
| } | |
| h1, h2 { | |
| color: #ffd700; | |
| text-align: center; | |
| font-family: 'Uncial Antiqua', serif; /* Ancient fantasy font */ | |
| text-shadow: 3px 3px #7c5200; /* Gold shine effect */ | |
| } | |
| .description { | |
| margin-top: 15px; | |
| color: #d4af37; /* Lighter gold for elegance */ | |
| font-size: 18px; | |
| line-height: 1.6; | |
| text-align: center; | |
| } | |
| a { | |
| color: #ffd700; | |
| text-decoration: none; | |
| font-weight: bold; | |
| } | |
| a:hover { | |
| color: #ffcc33; /* Brighter gold for interactivity */ | |
| } | |
| textarea, input[type="text"] { | |
| background-color: #292828; | |
| color: #f5e6ca; | |
| border: 2px solid #8b4513; | |
| border-radius: 5px; | |
| padding: 10px; | |
| font-family: 'Palatino Linotype', serif; | |
| font-size: 16px; | |
| } | |
| textarea:focus, input[type="text"]:focus { | |
| outline: none; | |
| border-color: #ffd700; | |
| box-shadow: 0 0 8px #ffd700; | |
| } | |
| button { | |
| background: #8b4513; | |
| color: #f0e6d2; | |
| font-size: 18px; | |
| font-family: 'Palatino Linotype', serif; | |
| border: none; | |
| border-radius: 8px; | |
| padding: 12px 30px; | |
| cursor: pointer; | |
| transition: 0.3s ease-in-out; | |
| box-shadow: 0 0 15px rgba(0, 0, 0, 0.6); | |
| } | |
| button:hover { | |
| background: #a0522d; | |
| box-shadow: 0 0 15px #ffd700; | |
| } | |
| .gradio-output { | |
| background: #2f2f2f; | |
| color: #ffd700; | |
| border: 2px solid #8b4513; | |
| border-radius: 8px; | |
| padding: 20px; | |
| text-align: center; | |
| box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); | |
| } | |
| .gradio-output img { | |
| max-width: 100%; | |
| border: 2px solid #a0522d; | |
| border-radius: 8px; | |
| box-shadow: 0 0 10px rgba(0, 0, 0, 0.8); | |
| } | |
| .footer { | |
| text-align: center; | |
| margin-top: 30px; | |
| color: #ffd700; | |
| font-size: 14px; | |
| text-shadow: 1px 1px #7c5200; | |
| } | |
| .footer a { | |
| color: #ffd700; | |
| text-decoration: none; | |
| margin: 0 10px; | |
| } | |
| .footer a:hover { | |
| color: #ffcc33; | |
| text-shadow: 2px 2px #ff9900; | |
| } | |
| @keyframes fadeIn { | |
| 0% { opacity: 0; } | |
| 100% { opacity: 1; } | |
| } | |
| .loading-animation { | |
| text-align: center; | |
| color: #ffd700; | |
| font-size: 18px; | |
| margin-top: 10px; | |
| font-family: 'Uncial Antiqua', serif; | |
| animation: fadeIn 1.5s ease-in-out infinite alternate; | |
| } | |
| """ | |
| # JavaScript for optional background music | |
| background_music = """ | |
| <script> | |
| var audio = new Audio('https://www.fesliyanstudios.com/play-mp3/387'); | |
| audio.loop = true; | |
| audio.volume = 0.5; | |
| audio.play(); | |
| </script> | |
| """ | |
| # Define Gradio interface with a loading animation | |
| def model_with_loading(prompt): | |
| return model(prompt) | |
| iface = gr.Interface( | |
| fn=model_with_loading, | |
| inputs=gr.Textbox(lines=3, label="🎲 Enter Your Quest:", placeholder="Describe your scene, hero, or epic landscape..."), | |
| outputs=gr.Image(type="pil", label="🖼️ Your Legendary Vision"), | |
| title="🛡️ Dungeons & Dragons Image Generator ⚔️", | |
| description="**Unleash Your Imagination!** Create heroes, maps, quests, and epic scenes to bring your campaigns to life. " | |
| "Tailored for adventurers seeking inspiration or Dungeon Masters constructing their next grand story. <br>" | |
| "[Visit Our Website](https://chatdnd.net) | [Support Us](https://buymeacoffee.com/watchoutformike)", | |
| css=custom_css, | |
| live=False | |
| ) | |
| # Launch the interface with background music | |
| iface.launch(inline=False) | |