|
<!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; |
|
} |
|
@media only screen and (max-width: 600px) { |
|
#cont { |
|
width: 90%; |
|
margin-bottom: 20px; |
|
} |
|
#main{ |
|
width: 90%; |
|
} |
|
#cont button { |
|
padding: 15px 15px; |
|
} |
|
#as{ |
|
width: 88%; |
|
} |
|
#as button{ |
|
|
|
padding: 15px 20px; |
|
} |
|
.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> |
|
|
|
|
|
|
|
|
|
</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') |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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!!' |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 { 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"; |
|
|
|
|
|
|
|
|
|
const firebaseConfig = { |
|
apiKey: "AIzaSyDA40xpjwKzWIHmDz5oRu9BircpHfqncuI", |
|
authDomain: "fumesai.firebaseapp.com", |
|
projectId: "fumesai", |
|
storageBucket: "fumesai.appspot.com", |
|
messagingSenderId: "573294764046", |
|
appId: "1:573294764046:web:f98a507a60045cf8a91c5f", |
|
measurementId: "G-CZ2LETVP9K" |
|
}; |
|
|
|
const app = initializeApp(firebaseConfig); |
|
const analytics = getAnalytics(app); |
|
</script> |
|
</body> |
|
</html> |