Imagine / templates /index.html
imseldrith's picture
Update templates/index.html
ff794e8
<!DOCTYPE html>
<html>
<head>
<title>Free AI Image Generator</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.5.0/dist/css/bootstrap.min.css">
<style>
body {
background-color: #000000;
color: #ffffff;
font-family: Arial, sans-serif;
}
.container {
max-width: 600px;
margin: 0 auto;
padding: 40px;
background-color: transparent;
border-radius: 10px;
box-shadow: none;
}
img {
display: block;
margin: 0 auto;
}
h1 {
text-align: center;
margin-bottom: 30px;
color: #ffffff;
font-weight: 600;
letter-spacing: 1px;
}
label {
font-weight: bold;
margin-bottom: 10px;
color: #ffffff;
}
textarea,
select {
width: 100%;
padding: 12px;
border-radius: 5px;
border: 1px solid #dddddd;
font-size: 16px;
margin-bottom: 20px;
color: #555555;
background-color: #f9f9f9;
}
button[type="submit"] {
background-color: #ff3366;
color: #ffffff;
padding: 12px 24px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
transition: background-color 0.3s ease;
display: block;
margin: 0 auto;
}
button[type="submit"]:hover {
background-color: #cc0052;
}
.social-buttons {
text-align: center;
margin-top: 20px;
}
.social-button {
display: inline-block;
margin-right: 10px;
}
.social-icon {
color: #ffffff;
font-size: 24px;
transition: color 0.3s ease;
}
.social-icon:hover {
color: #ff3366;
}
.generating-message {
text-align: center;
margin-bottom: 20px;
color: #ffffff;
display: none;
font-size: 24px;
animation: pulse 1s ease-in-out infinite;
}
@keyframes pulse {
0% {
transform: scale(1);
opacity: 0.7;
}
50% {
transform: scale(1.2);
opacity: 1;
}
100% {
transform: scale(1);
opacity: 0.7;
}
}
.loading-spinner {
display: inline-block;
width: 40px;
height: 40px;
border: 4px solid #ffffff;
border-top-color: transparent;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.disabled-button {
cursor: not-allowed;
opacity: 0.6;
}
footer {
padding: 20px;
text-align: center;
}
/* Add styles for the page view counter and API page link */
.page-view-counter {
font-size: 14px;
color: #ffffff;
margin-top: 10px;
}
.api-link {
font-size: 14px;
color: #ffffff;
margin-top: 5px;
text-decoration: none;
}
.api-link:hover {
color: #ff3366;
}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
</head>
<body>
<div class="container">
<img src="https://imseldrith-imagine.hf.space/static/imagine_logo.gif">
<h1 class="mt-5">Image Generator</h1>
<form action="/generate" method="POST" onsubmit="showGeneratingMessage()">
<div class="mb-3">
<label for="prompt" class="form-label">Prompt:</label>
<textarea id="prompt" name="prompt" class="form-control" rows="4" cols="50" placeholder="Surprise me" required></textarea>
</div>
<div class="mb-3">
<label for="style" class="form-label">Choose Style:</label>
<select id="style" name="style" class="form-select">
<option value="NO_STYLE">No style</option>
<option value="EUPHORIC">Euphoric</option>
<option value="FANTASY">Fantasy</option>
<option value="CYBERPUNK">Cyberpunk</option>
<option value="STUDIO_GHIBLI">Studio Ghibli</option>
<option value="DISNEY">Disney</option>
<option value="GTA">GTA</option>
<option value="KAWAII_CHIBI">Kawaii Chibi</option>
<option value="ANIME_V2">Anime V2</option>
<option value="ABSTRACT_VIBRANT">Abstract Vibrant</option>
<option value="VIBRANT">Vibrant</option>
<option value="PSYCHEDELIC">Psychedelic</option>
<option value="EXTRA_TERRESTRIAL">Extra-terrestrial</option>
<option value="COSMIC">Cosmic</option>
<option value="MACRO_PHOTOGRAPHY">Macro Photography</option>
<option value="PRODUCT_PHOTOGRAPHY">Product Photography</option>
<option value="POLAROID">Polaroid</option>
<option value="NEO_FAUVISM">Neo fauvism</option>
<option value="POP_ART">Pop Art</option>
<option value="POP_ART_II">Pop Art II</option>
<option value="GRAFFITI">Graffiti</option>
<option value="SURREALISM">Surrealism</option>
<option value="BAUHAUS">Bauhaus</option>
<option value="CUBISM">Cubism</option>
<option value="JAPANESE_ART">Japanese Art</option>
<option value="SKETCH">Sketch</option>
<option value="ILLUSTRATION">Illustration</option>
<option value="PAINTING">Painting</option>
<option value="PALETTE_KNIFE">Palette Knife</option>
<option value="INK">Ink</option>
<option value="ORIGAMI">Origami</option>
<option value="STAINED_GLASS">Stained Glass</option>
<option value="STICKER">Sticker</option>
<option value="CLIP_ART">Clip Art</option>
<option value="POSTER_ART">Poster Art</option>
<option value="PAPERCUT_STYLE">PaperCut Style</option>
<option value="COLORING_BOOK">Coloring Book</option>
<option value="PATTERN">Pattern</option>
<option value="RENDER">Render</option>
<option value="CINEMATIC_RENDER">Cinematic Render</option>
<option value="COMIC_BOOK">Comic Book</option>
<option value="COMIC_V2">Comic V2</option>
<option value="LOGO">Logo</option>
<option value="ICON">Icon</option>
<option value="GLASS_ART">Glass Art</option>
<option value="KNOLLING_CASE">Knolling Case</option>
<option value="SCATTER">Scatter</option>
<option value="POLY_ART">Poly Art</option>
<option value="CLAYMATION">Claymation</option>
<option value="WOOLITIZE">Woolitize</option>
<option value="MARBLE">Marble</option>
<option value="VAN_GOGH">Van Gogh</option>
<option value="SALVADOR_DALI">Salvador Dali</option>
<option value="PICASSO">Picasso</option>
<option value="ARCHITECTURE">Architecture</option>
<option value="INTERIOR">Interior</option>
<option value="ABSTRACT_CITYSCAPE">Abstract Cityscape</option>
<option value="DYSTOPIAN">Dystopian</option>
<option value="FUTURISTIC">Futuristic</option>
<option value="NEON">Neon</option>
<option value="CHROMATIC">Chromatic</option>
<option value="MYSTICAL">Mystical</option>
<option value="LANDSCAPE">Landscape</option>
<option value="RAINBOW">Rainbow</option>
<option value="CANDYLAND">Candyland</option>
<option value="MINECRAFT">Minecraft</option>
<option value="PIXEL_ART">Pixel Art</option>
<option value="RENAISSANCE">Rennaisance</option>
<option value="ROCOCCO">Rococco</option>
<option value="MEDIEVAL">Medieval</option>
<option value="RETRO">Retro</option>
<option value="RETROWAVE">Retrowave</option>
<option value="STEAMPUNK">Steampunk</option>
<option value="AMAZONIAN">Amazonian</option>
<option value="AVATAR">Avatar</option>
<option value="GOTHIC">Gothic</option>
<option value="HAUNTED">Haunted</option>
<option value="WATERBENDER">Waterbender</option>
<option value="AQUATIC">Aquatic</option>
<option value="FIREBENDER">Firebender</option>
<option value="FORESTPUNK">Forestpunk</option>
<option value="VIBRANT_VIKING">Vibrant Viking</option>
<option value="SAMURAI">Samurai</option>
<option value="ELVEN">Elven</option>
<option value="SHAMROCK_FANTASY">Shamrock Fantasy</option>
<option value="EARTHBENDER">Earthbender</option>
<option value="AIRBENDER">Airbender</option>
<option value="METALBENDER">Metalbender</option>
<option value="BLOODBENDER">Bloodbender</option>
<option value="LIGHTNINGBENDER">Lightbender</option>
<option value="SPIRITBENDER">Spiritbender</option>
<option value="LAVABENDER">Lavabender</option>
<option value="WATERHEALER">Waterhealer</option>
</select>
</div>
<div class="mb-3">
<label for="ratio" class="form-label">Choose Ratio:</label>
<select id="ratio" name="ratio" class="form-select">
<option value="RATIO_1X1">1:1</option>
<option value="RATIO_4X3">4:3</option>
<option value="RATIO_3X2">3:2</option>
<option value="RATIO_2X3">2:3</option>
<option value="RATIO_16X9">16:9</option>
<option value="RATIO_9X16">9:16</option>
<option value="RATIO_5X4">5:4</option>
<option value="RATIO_4X5">4:5</option>
<option value="RATIO_3X1">3:1</option>
<option value="RATIO_3X4">3:4</option> </select>
</div>
<div class="mb-3">
<label for="model" class="form-label">Choose Model:</label>
<select name="model" id="model" class="form-select">
<option value="REALISTIC">Realistic</option>
<option value="CREATIVE">CREATIVE</option>
<option value="V4_BETA">V4_BETA</option>
<option value="V3">V3</option>
<option value="V1">V1</option>
<option value="ANIME">ANIME</option>
<option value="PORTRAIT">Portrait</option>
</select>
</div>
<button type="submit" class="btn btn-primary" id="generate-button">Generate Image</button>
</form>
<div class="generating-message">
<span class="loading-spinner"></span>
Generating image... Please wait
</div>
<div class="social-buttons">
<span class="social-button">
<a href="https://www.facebook.com/octaeldrith" class="social-icon"><i class="fab fa-facebook-f"></i></a>
</span>
<span class="social-button">
<a href="https://twitter.com/ims_eldrith" class="social-icon"><i class="fab fa-twitter"></i></a>
</span>
<span class="social-button">
<a href="https://instagram.com/ims_eldrith" class="social-icon"><i class="fab fa-instagram"></i></a>
</span>
<span class="social-button">
<a href="https://www.linkedin.com/in/ashiq-hussain" class="social-icon"><i class="fab fa-linkedin"></i></a>
</span>
</div>
</div>
<footer>
<p>Built with ❤️ by <a href="https://codegenius.me" style="color: red;">Ashiq Hussain Mir</a></p>
<p class="page-view-counter">
Page Views: <span id="page-view-count">67</span> | <a href="{{url_for('api_docs')}}" class="api-link">API</a>
</p>
</footer>
<script>
function showGeneratingMessage() {
var generatingMessage = document.querySelector('.generating-message');
generatingMessage.style.display = 'block';
document.getElementById('generate-button').classList.add('disabled-button');
setTimeout(function () {
generatingMessage.style.display = 'none';
document.getElementById('generate-button').classList.remove('disabled-button');
}, 7000);
}
// Update the page view counter
var pageViewCount = 67;
function updatePageViewCount() {
pageViewCount++;
document.getElementById('page-view-count').textContent = pageViewCount;
}
// Call the updatePageViewCount function when the page loads
window.addEventListener('load', updatePageViewCount);
</script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.5.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>