yasir
Update index.html
e167b93 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<script type='text/javascript'>
window.smartlook||(function(d) {
var o=smartlook=function(){ o.api.push(arguments)},h=d.getElementsByTagName('head')[0];
var c=d.createElement('script');o.api=new Array();c.async=true;c.type='text/javascript';
c.charset='utf-8';c.src='https://web-sdk.smartlook.com/recorder.js';h.appendChild(c);
})(document);
smartlook('init', 'ab064cf709cc86cb945d2dfb051a3a1254d7fb19', { region: 'eu' });
</script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.11/katex.min.css">
<link href="https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@100&display=swap" rel="stylesheet" <meta
charset="UTF-8">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8419334759638161"
crossorigin="anonymous"></script>
<title>AI Image Creator</title>
<style>
html, body {
margin: 0;
padding: 0;
box-sizing: border-box;
overflow-x: hidden !important;
}
body {
background-color: #000000;
margin: 0;
}
#main {
display: flex;
flex-direction: column;
margin: 50px;
margin: auto;
}
#cont {
background-color: #030303;
padding: 0px;
border-radius: 12px;
box-shadow: 8px 8px 16px #050505, -8px -8px 16px #080808;
display: flex;
align-items: center;
background: linear-gradient(black, black) padding-box,
linear-gradient(to left, cyan, purple) border-box;
border-radius: 12px;
border: 2.5px solid transparent;
width: 70%;
height: 9vh;
margin: auto;
margin-top: 5%;
margin-bottom: 20px;
}
#inp {
flex-grow: 1;
padding: 10px;
margin: 10px;
background: transparent;
border: none;
border-radius: 8px;
box-shadow: linear-gradient(145deg, rgb(0, 249, 153), #ff002b);
color: #fff;
outline: none;
}
#cont button {
padding: 2.5vh 4.6vh;
margin: 1vh;
background: linear-gradient(155deg, rgb(0, 149, 249), #9D00FF, rgb(255, 0, 43));
border: none;
border-radius: 8px;
color: #fff;
cursor: pointer;
}
#cont button:hover {
background: linear-gradient(145deg, #00ffab, #, rgb(255, 0, 43));
}
#as {
display: flex;
flex-direction: row;
width: 70%;
margin: auto;
justify-content: space-between;
}
#as button {
background-color: #0a0a0a;
border: none;
padding: 3vh 4.5vh;
font-size: 15px;
color: #ffffff;
cursor: pointer;
border-radius: 12px;
transition: box-shadow 0.3s ease-in-out;
}
#model{
background-color: #181717;
border: none;
padding: 3vh 4.5vh;
font-size: 15px;
color: #ffffff;
cursor: pointer;
border-radius: 12px;
transition: box-shadow 0.3s ease-in-out;
padding: 0px 0px 0px 20px ;
}
#as button:hover {
box-shadow: 15px 15px 30px #0d0d0d, -15px -15px 30px #1a1a1a; /* Adjusted shadow and highlight on hover */
}
@media only screen and (max-width: 600px) {
#cont {
width: 90%;
margin-bottom: 20px;
}
#main{
width: 90%;
}
#cont button {
padding: 15px 15px; /* Adjust button padding for smaller screens */
}
#as{
width: 88%;
}
#as button{
padding: 15px 20px; /* Adjust button padding for smaller screens */
}
.mod{
}
}
@media only screen and (max-width: 365px){
#cont{
width: 94%;
}
#main{
width: 94%;
}
#as{
width: 94%;
}
}
dialog{
background: rgba(29, 29, 29, 1);
border-radius: 16px;
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
margin-top: 20px;
border: 1px solid rgba(14, 13, 13, 0.3);
}
#sli{
display: flex;
flex-direction: row;
align-items: center;
color: #eeeeee;
}
label{
font-family: 'Barlow Condensed';
font-size: 21px;
margin-right: 10px;
}
#sli input{
border: 1px solid rgb(137, 9, 223);
outline: none;
border-radius: 5px;
padding: 7px 20px;
background-color: transparent ;
color: white;
font-family: 'Barlow Condensed';
}
#Apply{
background-color: rgb(0, 247, 173);
padding: 5px 10px;
border: none;
color: #000000;
font-weight:500;
font-family: Arial, Helvetica, sans-serif;
font-size: 15px;
border-radius: 4px;
}
#close{
float: right;background-color: rgb(223, 7, 79); padding: 5px 10px;
border: none;
color: #000000;
font-weight:500;
font-family: Arial, Helvetica, sans-serif;
font-size: 15px;
border-radius: 4px;
}
#styles{
display: flex;
flex-direction: row;
gap: 6px;
color: white;
font-family: 'Barlow Condensed';
font-size: 20px;
flex-wrap: wrap;
}
#imshow{
width: 56vh;
height: 54vh;
display: flex;
flex-direction: row;
overflow-y: hidden;
margin: auto;
gap: 6px;
margin-top: 30px;
padding-bottom: 4px;
background: linear-gradient(black, black) padding-box,
linear-gradient(to right, red, blue) border-box;
border-radius: 20px;
border: 2.5px solid transparent;
}
#imshow img{
width: 54vh;
height: 53vh;
margin: auto;
margin-top: 7px;
border-radius: 10px;
margin-left: 0px;
}
#imshow p{
color: white;font-family: 'Barlow Condensed'; margin: auto; font-size: 3vh;text-align: center;
}
@media screen and (min-width: 500px) and (max-width: 720px) {
dialog{
max-width: 420px;
}
#imshow{
border: 2px solid blue;
width: 400px;
height: 400px;
display: flex;
flex-direction: column;
overflow-y: scroll;
margin: auto;
background: linear-gradient(black, black) padding-box,
linear-gradient(to right, red, blue) border-box;
border-radius: 20px;
border: 2.5px solid transparent;
margin-top: 30px;
padding-bottom: 7px;
gap: 14px;
}
#imshow img{
width: 95%;
height: 100%;
margin: auto;
margin-top: 7px;
}
#cont{
height: 7vh;
}
}
#styles{
align-items: center;
justify-content: center;
}
@media screen and (max-width: 500px) {
.ad{
display: flex;
flex-direction: row;
}
dialog {
max-width: 300px;
}
#imshow{
border: 2px solid blue;
width: 330px;
height: 330px;
display: flex;
flex-direction: column;
overflow-y: scroll;
margin: auto;
margin-top: 30px;
padding-bottom: 7px;
gap: 14px;
background: linear-gradient(black, black) padding-box,
linear-gradient(to right,#FF0000, #9900FF) border-box;
border-radius: 20px;
border: 2.5px solid transparent;
}
#jd{
font-size: 14px;
}
#imshow p{
width: 80%;
}
#imshow img{
width: 95%;
height: 100%;
margin: auto;
}
#imshow p{
font-size: 20px;
}
#styles{
align-items: center;
justify-content: center;
}
}
#jd{
margin: 10px;
padding: 5px;
background-color: transparent;
color: #eeeeee;
margin-right: 0;
margin-left: 0;
background: linear-gradient(black, rgb(0, 0, 0)) padding-box,
linear-gradient(to right, rgb(1, 255, 234),#ff0055) border-box;
border-radius: 20px;
border: 2.5px solid transparent;
border-radius: 7px;
margin-left: 0px;
font-family: 'Barlow Condensed';
font-size: 18px;
color: white;
}
#jd:hover{
background: linear-gradient(black, black) padding-box,
linear-gradient(to right, blue,#00ffdd) border-box;
border-radius: 10px;
border: 2.5px solid transparent;
}
#ow{
float: right;
margin: 10px;
padding: 10px;
background-color: transparent;
color: #eeeeee;
background: linear-gradient(black, black) padding-box,
linear-gradient(to right, rgb(0, 255, 149), rgb(174, 0, 255)) border-box;
border-radius: 10px;
border: 2.5px solid transparent;
border-radius: 10px;
margin-bottom: 0px;
margin-right: 0;
margin-left: 0;
border: 2px solid white;
}
#ow:hover{
background: linear-gradient(black, black) padding-box,
linear-gradient(to right, rgb(174, 0, 255),rgb(0, 255, 149)) border-box;
border-radius: 10px;
border: 2.5px solid transparent;
}
#dvv{
width: 100%;
margin-left: 10px;
}
#model{
width: 170px;
height: 50px;
overflow: visible;
}
#model option{
white-space: normal;
padding: 10px;
font-family: 'Barlow Condensed';
line-height: 1.2;
font-size: 24px;
}
.ad{
display: flex;
flex-direction: row;
}
</style>
</head>
<body>
<div id="dvv">
<button id="jd">Discord</button>
<!--<button id="ow">
Donate
</button>-->
</div>
</div>
<div id="main">
<div id="cont">
<input type="text" name="" id="inp" placeholder=" Enter Prompt here..">
<button id="create">Create </button>
</div>
<div id="as">
<select name="" id="model">
<option value="p4" class="mod">Leonardo AI</option>
</select>
<div id="Advance Setting"><button>Setting</button></div>
</div>
</div>
<dialog id="dialog">
<p style="font-size: 23px; font-family: 'Barlow Condensed'; margin: 0px; color: rgb(197, 14, 188);">Styles: </p>
<div id="styles">
<p>Cinematic</p>
<input type="radio" name="style" value="cinema" checked>
<p>Photography</p>
<input type="radio" name="style" value="photo">
<p>FILM<p>
<input type="radio" name="style" value="fumes">
<p>Creative</p>
<input type="radio" name="style" value="fantasy">
<p>No Style</p>
<input type="radio" name="style" value="no">
</div>
<div id="sli">
<label for="#np" style="margin-bottom: 15px;">Negative Prompt: </label>
<input type="text" placeholder="Negative prompt" id="np" style="margin-bottom: 15px;">
</div>
<div id="sli">
<label for="#gds">Guidence Scale: </label>
<input type="range" id="gds" value="10" min="7" max="20" step="1"><p id="gdsp">7</p>
</div>
<div id="sli">
<label for="#step">Steps: </label>
<input type="range" id="step" value="20" min="10" max="40" step="1"><p id="stepp">50</p>
</div>
<div id="sli">
<label for="#gds">Seed: </label>
<input type="range" id="seed" min="0" value="0" step="1" max="99999"><p id="seedp">0</p>
</div>
<button id="close">Close</button>
</dialog>
<div id="imshow">
<p style="width: 220px;">Your Generarted Arts Will appear Here</p>
</div>
<script>document.getElementById('jd').onclick = ()=>{
window.open('https://discord.gg/ju4yQBfQ7p')
}
/*document.getElementById('ow').onclick = ()=>{
window.open('https://www.buymeacoffee.com/mygx')
}*/
let dialog = document.getElementById('dialog')
let openbtn = document.getElementById('Advance Setting')
let closebtn = document.getElementById('close')
openbtn.onclick = ()=>{
dialog.show()
document.getElementById('imshow').style.border = '0px solid black transparent'
}
closebtn.onclick= ()=>{
dialog.close()
document.getElementById('imshow').style.background = 'linear-gradient(black, black) padding-box,linear-gradient(to right, red, blue) border-box'
}
let inp = document.getElementById('inp')
let np = document.getElementById('np')
let gd = document.getElementById('gds')
let step = document.getElementById('step')
let seed = document.getElementById('seed')
let seedp = document.getElementById('seedp')
let stepp = document.getElementById('stepp')
let gdsp = document.getElementById('gdsp')
let btn = document.getElementById('create')
gd.addEventListener('input',()=>{
gdsp.innerText = gd.value
})
step.addEventListener('input',()=>{
stepp.innerText = step.value
})
seed.addEventListener('input',()=>{
seedp.innerText = seed.value
})
isFumes = true
let prompt = 'CINEMATIC'
let nps = ' ,(bad hands, bad anatomy, bad body, bad face, bad teeth, bad arms, bad legs, deformities:1.3),poorly drawn,deformed hands,deformed fingers,deformed faces,deformed eyes,mutated fingers,deformedbody parts,mutated body parts,mutated hands, disfigured,oversaturated,bad anatom,cropped, worst quality, low quality, jpeg artifacts, ugly, duplicate, morbid, mutilated, out of frame, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, blurry, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, deformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck,deformed eyes'
document.getElementById('styles').onchange = ()=>{
const selectedStyle = document.querySelector('input[name="style"]:checked');
if(selectedStyle.value =='photo'){
prompt = 'PHOTOGRAPHY'
}
if(selectedStyle.value == 'cinema'){
prompt = "CINEMATIC"}
if(selectedStyle.value == 'fantasy'){
prompt = "CREATIVE"
}
if(selectedStyle.value == 'fumes'){
prompt = 'FILM'
}
if(selectedStyle.value == 'no'){
prompt = 'LEONARDO'
}
}
btn.onclick = async ()=>{
let isc = false
let id = ''
negative_prompt = nps
btn.disabled = true
const div = document.getElementById('imshow');
div.innerHTML = '';
document.getElementById('imshow').innerHTML = ''
let pi = document.createElement('p')
pi.innerText = 'Generating Image... Estimated Time: 20s'
document.getElementById('imshow').append(pi)
let count = 0;
seed = seed
async function generate(){
cookie = localStorage.getItem("cookie")
u = localStorage.getItem("u")
sub = localStorage.getItem("sub")
if(cookie == null){
cookie = ''
}
if(cookie == "undefined"){
cookie = ''
}
params={
'prompt': inp.value,
'nprompt': np.value,
"steps": step.value,
'gd': gd.value,
"style": prompt,
"width": 1024,
"height":1024,
"alchemy":true,
"pr":true,
"cookie": cookie,
"u":u,
"sub":sub
};
try {
const response = await fetch('https://l-d83c.onrender.com/leonardo', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Connection': 'keep-alive',
},
body: JSON.stringify(params)
});
if (response.status === 429) {
pi.innerText = 'you have reached your limit of 50 generation per hour, you will get 50 more image generaions after an hour!!'
}
/* console.log(np.value)
const imgData = await response.text();
const div = document.getElementById('imshow')
const img = document.createElement('img');
pi.innerHTML = ''
pi.innerText = ''
img.src = imgData;
div.appendChild(img);
*/
const data = await response.json();
localStorage.setItem("cookie", data.token);
localStorage.setItem("sub", data.sub);
localStorage.setItem("u", data.u);
console.log(data.result)
const div = document.getElementById('imshow')
const img = document.createElement('img');
pi.innerHTML = ''
pi.innerText = ''
img.src = data.result;
div.appendChild(img);
btn.disabled = false
} catch (error) {
btn.disabled = false
console.error('An error occurred:', error);
pi.innerText = 'An error occurred, try changing your prompt';
}
}
await Promise.all([generate()]);
}
</script>
<script type="module">
// Import the functions you need from the SDKs you need
import { initializeApp } from "https://www.gstatic.com/firebasejs/10.8.0/firebase-app.js";
import { getAnalytics } from "https://www.gstatic.com/firebasejs/10.8.0/firebase-analytics.js";
// TODO: Add SDKs for Firebase products that you want to use
// https://firebase.google.com/docs/web/setup#available-libraries
// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
const firebaseConfig = {
apiKey: "AIzaSyDA40xpjwKzWIHmDz5oRu9BircpHfqncuI",
authDomain: "fumesai.firebaseapp.com",
projectId: "fumesai",
storageBucket: "fumesai.appspot.com",
messagingSenderId: "573294764046",
appId: "1:573294764046:web:f98a507a60045cf8a91c5f",
measurementId: "G-CZ2LETVP9K"
};
// Initialize Firebase
const app = initializeApp(firebaseConfig);
const analytics = getAnalytics(app);
</script>
</body>
</html>