- ID de exploración:
- dbb2e439-b8a5-474c-8860-090523944e74Finalizado
- URL enviada:
- https://deepai.org/machine-learning-model/text2img
- Informe finalizado:
Enlaces: 2 encontrados
Los enlaces salientes identificados en la página
Enlace | Texto |
---|---|
https://twitter.com/DeepAI | |
https://www.linkedin.com/company/deepai |
Variables JavaScript: 174 encontradas
Las variables JavaScript globales cargadas en el objeto de ventana de una página son variables declaradas fuera de las funciones y a las que se puede acceder desde cualquier lugar del código en el ámbito actual
Nombre | Tipo |
---|---|
0 | object |
1 | object |
2 | object |
3 | object |
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
user_paid_for_no_ads | boolean |
user_object | object |
freestar | object |
Mensajes de registro de la consola: 17 encontrados
Mensajes registrados en la consola web
Tipo | Categoría | Registro |
---|---|---|
log | javascript |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | javascript |
|
log | other |
|
log | other |
|
verbose | dom |
|
verbose | dom |
|
log | javascript |
|
log | other |
|
log | javascript |
|
log | javascript |
|
log | javascript |
|
log | javascript |
|
HTML
El cuerpo HTML sin procesar de la página
<!DOCTYPE html><html data-previous-scroll-y="-0px" class="sp-message-open"><head>
<title>AI Image Generator</title>
<script type="application/ld+json">
{"@context": "http://schema.org", "@type": "Product", "name": "AI Image Generator API", "description": "This is an AI Image Generator. It creates an image from scratch from a text description.", "image": "https://images.deepai.org/machine-learning-models/337e9a4fd9ff4552ae72c4943aea2b7a/image-gen-loading.svg", "brand": {"@type": "Thing", "name": "DeepAI", "sameAs": "https://deepai.org"}, "offers": {"@type": "Offer", "price": "1.00", "priceCurrency": "USD"}, "url": "https://deepai.org/machine-learning-model/text2img"}
</script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="/static/images/favicon.ico" type="image/x-icon">
<link rel="icon" href="/static/images/favicon.ico" type="image/x-icon">
<link href="https://fonts.googleapis.com/css?family=Atkinson Hyperlegible" rel="stylesheet">
<meta name="description" content="This is an AI Image Generator. It creates an image from scratch from a text description.">
<meta property="og:url" content="https://deepai.org/machine-learning-model/text2img">
<meta property="og:site_name" content="DeepAI">
<meta property="og:type" content="article">
<meta property="og:title" content="AI Image Generator">
<meta property="og:description" content="This is an AI Image Generator. It creates an image from scratch from a text description.">
<meta property="og:image" content="https://images.deepai.org/machine-learning-models/337e9a4fd9ff4552ae72c4943aea2b7a/image-gen-loading.svg">
<!-- PLACE THIS SECTION INSIDE OF YOUR HEAD TAGS -->
<!-- Below is a recommended list of pre-connections, which allow the network to establish each connection quicker, speeding up response times and improving ad performance. -->
<link rel="preconnect" href="https://a.pub.network/" crossorigin="">
<link rel="preconnect" href="https://b.pub.network/" crossorigin="">
<link rel="preconnect" href="https://c.pub.network/" crossorigin="">
<link rel="preconnect" href="https://d.pub.network/" crossorigin="">
<link rel="preconnect" href="https://c.amazon-adsystem.com" crossorigin="">
<link rel="preconnect" href="https://s.amazon-adsystem.com" crossorigin="">
<link rel="preconnect" href="https://secure.quantserve.com/" crossorigin="">
<link rel="preconnect" href="https://rules.quantcount.com/" crossorigin="">
<link rel="preconnect" href="https://pixel.quantserve.com/" crossorigin="">
<link rel="preconnect" href="https://cmp.quantcast.com/" crossorigin="">
<link rel="preconnect" href="https://btloader.com/" crossorigin="">
<link rel="preconnect" href="https://api.btloader.com/" crossorigin="">
<link rel="preconnect" href="https://cdn.confiant-integrations.net" crossorigin="">
<!-- Below is a link to a CSS file that accounts for Cumulative Layout Shift, a new Core Web Vitals subset that Google uses to help rank your site in search -->
<!-- The file is intended to eliminate the layout shifts that are seen when ads load into the page. If you don't want to use this, simply remove this file -->
<!-- To find out more about CLS, visit https://web.dev/vitals/ -->
<link rel="stylesheet" href="https://a.pub.network/deepai-org/cls.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Audiowide">
<script data-cfasync="false" type="text/javascript">
var user_paid_for_no_ads = false;
try{
var user_object = JSON.parse(localStorage.getItem('user'));
if(user_object.userprofile2){
if(user_object.userprofile2.locked_out_due_to_no_payment_info === false){
user_paid_for_no_ads = true;
}
}
}catch(e){
console.log('error checking user login for ads removal', e)
}
var freestar = freestar || {};
freestar.queue = freestar.queue || [];
freestar.config = freestar.config || {};
freestar.config.enabled_slots = [];
freestar.initCallback = function () { (freestar.config.enabled_slots.length === 0) ? freestar.initCallbackCalled = false : freestar.newAdSlots(freestar.config.enabled_slots) }
if(!user_paid_for_no_ads){
console.log('user has not paid for no ads, loading ads');
// inject a async script tag to load the ads.js file
var script = document.createElement('script');
script.src = 'https://a.pub.network/deepai-org/pubfig.min.js';
script.async = true;
document.head.appendChild(script);
}else{
console.log('user has paid for no ads, not loading ads');
//add sentry JS:
console.log('adding sentry JS');
var sentryScript = document.createElement('script');
sentryScript.src = 'https://browser.sentry-cdn.com/7.19.0/bundle.min.js';
sentryScript.crossorigin = "anonymous";
sentryScript.onload = "Sentry.init{ dsn: 'https://[email protected]/1460722' });";
sentryScript.async = true;
document.head.appendChild(sentryScript);
console.log('added sentry JS');
}
</script><script src="https://a.pub.network/deepai-org/pubfig.min.js" async=""></script>
<!-- Left sticky ad -->
<script src="/static/js/libs/masonry.pkgd.min.js" type="text/javascript" async=""></script><script src="/static/js/libs/masonry.pkgd.min.js" type="text/javascript" async=""></script><script src="https://a.pub.network/deepai-org/prebid.js" data-owner="freestar" async="" type="text/javascript"></script><script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js?network_code=15184186" data-owner="freestar" async="" type="text/javascript"></script><script src="https://a.pub.network/deepai-org/pubfig.engine.js" data-owner="freestar" async="" type="text/javascript"></script><style type="text/css">.fs-sticky-footer {
display: block;
bottom: 0;
right: 0;
position: fixed;
width: 100vw;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
z-index: 2147483647;
}
.fs-sticky-slot-element > div > iframe {
margin: 0 !important;
}
.fs-sticky-slot-element > div {
position: relative;
}
.fs-sticky-parent {
z-index: 2147483647;
bottom: 0;
padding-top: 0px;
position: fixed;
left: 0;
right: 0;
text-align: center;
}
.fs-sticky-wrapper {
background-color: #f6f3f3;
display: inline-block;
margin: auto;
width: -moz-fit-content;
width: -webkit-fit-content;
width: fit-content;
visibility: inherit;
z-index: inherit;
}
.fs-overlay {
width: 0%;
height: 100%;
position: fixed;
z-index: 5000000;
top: 0;
left: 0;
background: #888888;
width: 100%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.canvas-boxes {
width: 100px;
height: 100px;
}
.captcha-styles {
text-align: center;
width: 100%;
}
.fs-dynamic {
text-align: center;
clear: both;
}
.fs-iai {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
clear: both;
}
.fs-x-btn {
position: absolute;
top: 20px;
right: 0px;
cursor: pointer;
border-radius: 50%;
width: 30px;
height: 30px;
background-color: rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}
.fs-l-btn {
display: block;
position: absolute;
top: 14px;
left: 5px;
pointer-events: none;
border-radius: 2px;
width: 20px;
height: 2px;
background-color: rgba(0, 0, 0, 0);
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.fs-r-btn {
display: block;
pointer-events: none;
border-radius: 2px;
width: 20px;
height: 2px;
background-color: #ffffff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.fs-btn-wrapper {
display: inline-block;
}
.fs-pdu-x {
-moz-appearance: none;
-webkit-appearance: none;
-webkit-transition: all 0.3s ease-in-out;
background-color: #ffffff;
background-image: url('https://a.pub.network/core/imgs/freestar_close_button.svg');
background-position: 50%;
background-repeat: no-repeat;
border: none;
border-radius: 50%;
-webkit-box-shadow:
0 0 0 1px #888888,
0 0 0 6px rgba(247, 247, 247, 0.75);
box-shadow:
0 0 0 1px #888888,
0 0 0 6px rgba(247, 247, 247, 0.75);
-webkit-box-sizing: border-box;
box-sizing: border-box;
cursor: pointer;
display: block;
height: 20px;
outline: none;
padding: 0px;
position: absolute;
right: 12px;
top: 12px;
transition: all 0.3s ease-in-out;
width: 20px;
}
.fs-close-button {
-moz-appearance: none !important;
-webkit-appearance: none !important;
-webkit-transition: all 0.3s ease-in-out !important;
appearance: none !important;
background-color: #ffffff !important;
background-image: url('https://a.pub.network/core/imgs/freestar_close_button.svg') !important;
background-position: 50% !important;
background-repeat: no-repeat !important;
border: none !important;
border-radius: 50% !important;
-webkit-box-shadow:
0 0 0 1px #888888,
0 0 0 1px rgba(247, 247, 247, 0.75) !important;
box-shadow:
0 0 0 1px #888888,
0 0 0 1px rgba(247, 247, 247, 0.75) !important;
-webkit-box-sizing: border-box !important;
box-sizing: border-box !important;
cursor: pointer !important;
display: block !important;
height: 20px !important;
outline: none !important;
padding: 0px !important;
position: absolute !important;
right: 25px !important;
top: 25px !important;
transition: all 0.3s ease-in-out !important;
width: 20px !important;
}
.fs-close-button {
all: unset;
}
.fs-close-button:hover,
.fs-close-button:focus {
background-color: #000 !important;
}
.fs-sticky-popup-container {
z-index: 2147483647 !important;
}
.fs-sticky-popup-container {
font-size: 0.8em;
text-align: center;
font-family: 'arial';
white-space: nowrap;
width: auto;
height: auto;
padding: 7px;
-webkit-filter: drop-shadow(2px 2px 2px grey);
filter: drop-shadow(2px 2px 2px grey);
}
.fs-sticky-popup-container a:nth-child(2) {
border-top: 1px solid #999;
}
.fs-close-button:hover {
-webkit-box-shadow:
0 0 0 1px #888888,
0 0 0 8px rgba(247, 247, 247, 0.75);
box-shadow:
0 0 0 1px #888888,
0 0 0 8px rgba(247, 247, 247, 0.75);
}
.fs-close-button-pushdown {
right: 12px !important;
top: 12px !important;
}
.fs-close-button-zerg-interstitial {
right: -5px !important;
top: -5px !important;
}
.fs-close-button-zerg-interstitial {
-webkit-transform: scale(1.25);
transform: scale(1.25);
}
@media screen and (min-width: 820px) {
.fs-close-button-sticky {
top: 9.3% !important;
right: 10px !important;
}
}
@media screen and (max-width: 820px) {
.fs-close-button-sticky {
top: 3px !important;
right: 10px !important;
}
.fs-close-button-pushdown {
top: 0 !important;
right: 0 !important;
}
.sticky-reportThisAd button:after {
right: -25px !important;
}
.pushdown-reportThisAd button:after {
top: 30px !important;
right: -38px !important;
}
}
.fs-pushdown {
background-color: rgba(247, 247, 247, 0.9);
top: 0;
text-align: center;
z-index: 2147483647;
width: 100%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.fs-pushdown-sticky {
position: sticky !important;
left: 0 !important;
}
.fs-pushdown-sticky {
background-color: rgba(247, 247, 247, 0.9);
top: 0;
text-align: center;
z-index: 2147483647;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.freestar_report_button {
border: none;
font-family: sans-serif;
font-size: 9px;
cursor: pointer;
color: #646464;
}
._fsBranding {
position: relative;
}
._fsBranding a {
max-height: none;
max-height: initial;
background-color: transparent;
background-color: initial;
margin-bottom: 0;
margin-bottom: initial;
border: medium none currentcolor;
border: initial;
-moz-appearance: none;
-webkit-appearance: none;
-webkit-transition: all 0.3s ease-in-out;
appearance: none;
background-image: url('https://a.pub.network/core/imgs/fslogo-green.svg');
background-position: 50%;
background-repeat: no-repeat;
border: none;
border-radius: 50%;
-webkit-box-sizing: border-box;
box-sizing: border-box;
cursor: pointer;
display: block;
height: 30px;
outline: none;
position: absolute;
left: 6px;
top: 6px;
transition: all 0.3s ease-in-out;
width: 30px;
min-width: 0;
min-width: initial;
}
@media screen and (max-width: 820px) {
._fsBranding a {
top: -30px;
background-color: rgba(247, 247, 247, 0.75);
background-size: 58%;
}
}
.fs-report-ad-img {
width: 60%;
margin: 9px;
}
#freestar_overlay {
background: rgba(0, 0, 0, 0.6);
width: 100%;
height: 100%;
z-index: 2147483647;
top: 0;
left: 0;
position: fixed;
}
#freestar_overlay_flex {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
width: 100%;
height: 100%;
}
#freestar_report_ad {
background: rgba(255, 255, 255, 1) !important;
}
#freestar_report_ad {
width: 300px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
#freestar_report_ad::before {
background: rgba(255, 255, 255, 1) !important;
}
#freestar_report_ad::before {
width: 300px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
#freestar_report_ad_text_center {
text-align: center;
}
.freestar_close_btn {
position: absolute;
right: 0px;
top: 0px;
width: 32px;
height: 32px;
background-color: rgb(255, 255, 255);
}
.freestar_close_btn:before {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.freestar_close_btn:after {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.freestar_report_btn {
background: #00c389 !important;
cursor: pointer !important;
border: none !important;
border-radius: 30px !important;
color: #fff !important;
padding: 10px 20px !important;
font-size: 12px !important;
font-weight: 500 !important;
font-family: Arial, Helvetica, sans-serif !important;
}
.freestar_report_btn {
margin: 20px;
outline: 0;
}
.freestar_report_btn:focus {
outline: 0;
}
#freestar_report_div {
font-family: Arial, Helvetica, sans-serif !important;
}
#freestar_report_div {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}
.freestar_report_sub_header {
color: #00c389 !important;
font-size: 16px !important;
font-weight: 600 !important;
}
.freestar_report_sub_header {
margin: 23px;
}
.fs_report_container span {
margin-left: 10px;
}
.fs_checkbox {
cursor: pointer;
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.fs_checkbox > span {
color: #34495e;
margin-left: 5px;
/*padding: 0.5rem 0.25rem;
*/
}
.fs_checkbox > input {
height: 15px;
width: 15px;
-webkit-appearance: none;
-o-appearance: none;
-moz-appearance: none;
appearance: none;
border: 1px solid #34495e;
border-radius: 4px;
outline: none;
-webkit-transition-duration: 0.3s;
transition-duration: 0.3s;
background-color: #41b883;
cursor: pointer;
margin-bottom: 3px;
}
.fs_checkbox > input:checked {
border: 1px solid #41b883;
background-color: #34495e;
}
.fs_checkbox > input:checked + span::before {
display: block;
text-align: center;
color: #41b883;
/*position: absolute;
*/
/*left: 0.7rem;
*/
/*top: 0.2rem;
*/
}
.fs_checkbox > input:active {
border: 2px solid #34495e;
}
.fs-new-close-container {
top: calc(50% - 250px);
right: calc(50% - 250px);
position: absolute;
}
@media screen and (max-width: 820px) {
.fs-new-close-container {
top: 15%;
right: calc(50% - 131px);
}
}
.fs-new-close {
margin-left: 30%;
margin-bottom: 5%;
cursor: pointer;
}
.fs-new-close:hover {
opacity: 1;
}
.fs-new-close:before,
.fs-new-close:after {
position: absolute;
content: ' ';
height: 33px;
width: 2px;
background-color: rgb(255, 255, 255);
}
.fs-new-close:before {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.fs-new-close:after {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.__fs-ancillary {
--childHeight: 16px;
width: 100%;
width: var(--childWidth, 100%);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
margin: 0 auto;
height: 16px;
height: var(--childHeight);
visibility: hidden;
}
.fs-sticky-wrapper .__fs-ancillary {
display: none !important;
}
.__fs-report-this-ad {
line-height: 0px;
}
.__fs-branding {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
}
.__fs-branding > a {
width: 100%;
max-width: var(--childWidth);
height: var(--childHeight);
display: block;
}
.__fs-branding > a > img {
height: calc(var(--childHeight) - 2px) !important;
width: auto !important;
width: initial !important;
}
.__fs-branding > a > img {
max-height: none;
max-height: initial;
background-color: transparent;
background-color: initial;
background-image: none;
background-image: initial;
border: medium none currentcolor;
border: initial;
background-repeat: repeat;
background-repeat: initial;
background-position: 0 0;
background-position: initial;
margin: 5px 0;
display: block;
float: left;
-webkit-box-shadow: none;
box-shadow: none;
}
.fs-sticky-wrapper .__fs-branding {
position: absolute;
top: 0;
border: none;
border-radius: 50%;
width: 30px;
height: 30px;
}
.fs-sticky-wrapper .__fs-branding {
position: absolute;
top: 50%;
right: 6px;
border: none;
border-radius: 50%;
}
.fs-mobile-tall {
top: 30% !important;
}
.fs-sticky-wrapper .__fs-branding > a {
width: 100%;
height: 100%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.fs-sticky-wrapper .__fs-branding > a > img {
width: 100% !important;
height: 100% !important;
}
.fs-sticky-wrapper .__fs-branding > a > img {
opacity: 1;
}
@media screen and (max-width: 820px) {
.fs-sticky-wrapper .__fs-branding > a > img {
width: 70% !important;
height: 70% !important;
}
.fs-sticky-wrapper .__fs-branding > a > img {
opacity: 1;
}
}
.fs-sticky-wrapper .__fs-branding {
background-color: rgba(247, 247, 247, 0.75);
background-size: 58%;
}
.fs-sticky-wrapper .__fs-branding > a > img {
width: 90%;
height: 90%;
}
.fs-sticky-wrapper {
background-color: #f6f3f3;
padding-right: 38px;
display: inline-block;
width: -moz-fit-content;
width: -webkit-fit-content;
width: fit-content;
visibility: inherit;
z-index: inherit;
}
.fs-interstitial-overlay {
background: rgba(0, 0, 0, 0.6);
width: 100%;
height: 100%;
z-index: 2147483647;
top: 0;
left: 0;
position: fixed;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
visibility: hidden;
}
.fs-interstitial-container {
width: 1000px;
height: 650px;
background: rgb(255, 255, 255);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
}
.fs-interstitial-ad-space {
width: 970px;
height: 250px;
-ms-flex-item-align: center;
align-self: center;
margin-bottom: 10px;
margin-top: 10px;
min-height: 250px;
overflow: hidden;
}
.fs-interstitial-content {
width: 100%;
height: 250px;
-ms-flex-item-align: center;
align-self: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
}
.fs-interstitial-message-container {
width: 100%;
height: 100px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
-ms-flex-item-align: center;
align-self: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.fs-interstitial-message {
color: #17181f;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 40px;
-ms-flex-item-align: center;
align-self: center;
padding: 10px;
}
.fs-interstitial-close-container {
width: 1000px;
height: 50px;
position: relative;
}
.fs-interstitial-branding {
background-image: url('https://a.pub.network/core/imgs/fslogo-green.svg');
background-position: 100%;
background-repeat: no-repeat;
height: 30px;
-webkit-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
width: 30px;
min-width: 0;
min-width: initial;
margin-left: 56%;
}
.fs-interstitial-container .zegrow {
display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
-webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important;
-webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.fs-interstitial-container .zergentity {
width: 237px !important;
margin: 0px 8px 0px 5px !important;
}
.fs-interstitial-container .widget-loaded {
-ms-flex-item-align: center !important;
align-self: center !important;
width: 100% !important;
background: rgba(0, 0, 0, 0) !important;
}
.fs_interstitial_branding_link img {
width: 200px;
padding-bottom: 16px;
}
.fs_interstitial_branding_link {
-ms-flex-item-align: center !important;
align-self: center !important;
}
#freestar-video-parent,
#freestar-video-child {
max-width: 100vw !important;
}
#freestar-video-parent,
#freestar-video-child {
width: 100%;
overflow: hidden;
}
.freestar_report_comments {
font-family: Arial, Helvetica, sans-serif !important;
}
.freestar_report_comments {
padding-top: 10px;
margin-top: 10px;
}
#freestar_report_comment_box_wrapper {
width: 100%;
height: 90px;
}
.sticky-reportThisAd button {
visibility: hidden;
position: relative;
}
.sticky-reportThisAd button:after {
content: '';
background-image: url('https://a.pub.network/core/imgs/freestar_report_ad_icon.png');
background-size: 18px;
visibility: visible;
position: absolute;
moz-appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: #ffffff;
background-position: 50%;
background-repeat: no-repeat;
border: none;
border-radius: 50%;
-webkit-box-shadow:
0 0 0 1px #888888,
0 0 0 6px rgba(247, 247, 247, 0.75);
box-shadow:
0 0 0 1px #888888,
0 0 0 6px rgba(247, 247, 247, 0.75);
-webkit-box-sizing: border-box;
box-sizing: border-box;
cursor: pointer;
display: block;
height: 20px;
outline: none;
padding: 0px;
position: absolute;
right: -25px;
top: 0px;
width: 20px;
min-width: 0;
min-width: initial;
}
.sticky-reportThisAd {
content: '\127987';
cursor: pointer;
background: none;
margin-left: auto;
margin-right: auto;
display: block;
border: none;
position: absolute;
right: -3px;
top: 50%;
z-index: 2147483647;
}
.pushdown-reportThisAd button {
visibility: hidden;
position: relative;
}
.pushdown-reportThisAd button:after {
content: '';
background-image: url('https://a.pub.network/core/imgs/freestar_report_ad_icon.png');
background-size: 18px;
visibility: visible;
position: absolute;
moz-appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: #ffffff;
background-position: 50%;
background-repeat: no-repeat;
border: none;
border-radius: 50%;
-webkit-box-shadow:
0 0 0 1px #888888,
0 0 0 6px rgba(247, 247, 247, 0.75);
box-shadow:
0 0 0 1px #888888,
0 0 0 6px rgba(247, 247, 247, 0.75);
-webkit-box-sizing: border-box;
box-sizing: border-box;
cursor: pointer;
display: block;
height: 20px;
outline: none;
padding: 0px;
position: absolute;
right: -37.5px;
top: 35px;
width: 20px;
min-width: 0;
min-width: initial;
}
.pushdown-reportThisAd {
content: '\127987';
cursor: pointer;
background: none;
margin-left: auto;
margin-right: auto;
display: block;
border: none;
position: absolute;
right: 50px;
top: 5px;
z-index: 2147483647;
}
.center-ad {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}
._wrapper .orp-player-wrapper {
width: 100% !important;
height: 100% !important;
}
</style><style type="text/css">.fs-flying-carpet {
background: -webkit-gradient(linear, left top, left bottom, color-stop(10%, #00c389), to(black));
background: linear-gradient(to bottom, #00c389 10%, black 100%);
position: relative;
-webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
height: 175vh;
margin: 0 -1.1rem 0.5rem;
}
.fs-flying-carpet-ad-container {
margin: 0 auto;
position: sticky;
top: 0;
-ms-flex-item-align: center;
align-self: center;
padding-top: 10vh;
padding-bottom: 10vh;
bottom: 10vh;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.fs-powered-by {
font-size: 18px;
color: #00c389;
position: absolute;
bottom: 0;
background-color: black;
width: 100%;
height: 6vh;
text-align: center;
padding: 10px 0;
-webkit-box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.fs-flying-carpet-header {
font-family: Arial, Helvetica, sans-serif !important;
}
.fs-flying-carpet-header {
font-size: 11px;
color: white;
position: absolute;
top: 0;
background-color: #34495e;
width: 100%;
text-align: center;
padding: 5px 0;
-webkit-box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
}
/* fc v2 */
.fs-flying-carpet-v2 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.fs-flying-carpet-v2-ad-container {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: 300px;
height: 65vh;
margin-left: auto;
margin-right: auto;
background-color: #fff;
overflow-y: scroll;
overflow-x: hidden;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.fs-flying-carpet-v2-text-border {
width: 100%;
background-color: #333;
color: #fff;
text-align: center;
font-family: Arial, sans-serif;
font-size: 0.8em;
text-transform: uppercase;
padding: 5px 0;
letter-spacing: 1px;
}
</style><script src="https://cdn.privacy-mgmt.com/unified/wrapperMessagingWithoutDetection.js" data-owner="freestar" async="" type="text/javascript"></script><meta http-equiv="origin-trial" content="AlK2UR5SkAlj8jjdEc9p3F3xuFYlF6LYjAML3EOqw1g26eCwWPjdmecULvBH5MVPoqKYrOfPhYVL71xAXI1IBQoAAAB8eyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ=="><meta http-equiv="origin-trial" content="Amm8/NmvvQfhwCib6I7ZsmUxiSCfOxWxHayJwyU1r3gRIItzr7bNQid6O8ZYaE1GSQTa69WwhPC9flq/oYkRBwsAAACCeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ=="><meta http-equiv="origin-trial" content="A9wSqI5i0iwGdf6L1CERNdmsTPgVu44ewj8QxTBYgsv1LCPUVF7YmWOvTappqB1139jAymxUW/RO8zmMqo4zlAAAAACNeyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiRmxlZGdlQmlkZGluZ0FuZEF1Y3Rpb25TZXJ2ZXIiLCJleHBpcnkiOjE3MzY4MTI4MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><meta http-equiv="origin-trial" content="A+d7vJfYtay4OUbdtRPZA3y7bKQLsxaMEPmxgfhBGqKXNrdkCQeJlUwqa6EBbSfjwFtJWTrWIioXeMW+y8bWAgQAAACTeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiRmxlZGdlQmlkZGluZ0FuZEF1Y3Rpb25TZXJ2ZXIiLCJleHBpcnkiOjE3MzY4MTI4MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><script src="https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202412090101/pubads_impl.js" async=""></script><script charset="utf-8" src="https://cdn.privacy-mgmt.com/unified/4.27.3/gdpr-tcf.00cd3b6a2692e330e4ec.bundle.js"></script><script charset="utf-8" src="https://cdn.privacy-mgmt.com/unified/4.27.3/usnat.8e6216b77a85e0572f7c.bundle.js"></script><style type="text/css">#sp_message_iframe_1169476 { display:block; width: 100%; height: 100%; border: 0 none; } #sp_message_container_1169476 { overflow:auto;-webkit-overflow-scrolling:touch; display: none; position: fixed; z-index: 2147483647; left: 0; right: 0; bottom: 0; top: 0; height: 100%; width: 100%; max-width: 100%; max-height: 100vh;}.sp-message-open { height: 100vh !important; width: 100vw !important } .sp-message-open body { overflow: hidden !important; position: fixed !important; margin-top: 0px !important; top: 0px !important; left: 0px !important; right: 0px !important; }</style></head><body><div class="left-sticky">
<div id="deepai_left_siderail_1">
<script data-cfasync="false" type="text/javascript">
freestar.config.enabled_slots.push({
placementName: "deepai_left_siderail_1",
slotId: "deepai_left_siderail_1"
});
</script>
</div>
<div id="deepai_left_siderail_2">
<script data-cfasync="false" type="text/javascript">
freestar.config.enabled_slots.push({
placementName: "deepai_left_siderail_2",
slotId: "deepai_left_siderail_2"
});
</script>
</div>
</div>
<style type="text/css">html{background-color:#170a2c;font-family:'Atkinson Hyperlegible'}button,input,optgroup,select,textarea{font-family:'Atkinson Hyperlegible';font-size:100%;line-height:1.15;margin:0}body{margin:0;padding:0;display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(180deg,#7729aa -13.13%,#170a2d 0.17%,#0a061d 6.9%,rgba(10,6,30,0.99) 36.38%,#010311 98.59%)!important}a{text-decoration:none}header{height:78px;overflow:hidden;width:100%;z-index:10}header a.logo-link,footer a.logo-link{display:flex;color:white!important;cursor:pointer;margin-right:10px}header nav{display:flex;margin-left:auto;max-height:62px;background:var(--clear);border:1px solid transparent;border-radius:12px}header nav:hover{background:rgba(255,255,255,0.12)}header ul{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;white-space:nowrap;align-items:center;min-width:46px;justify-content:center}header ul li{display:block;float:left;font-size:16px;color:#fff;line-height:25px}header ul li a{text-decoration:none;cursor:pointer}.drop-menu-button{display:block;width:46px;height:45px;padding:0;margin:0;border:none;background:transparent;cursor:pointer}.menu-icon{font-size:30px;font-weight:bold;cursor:pointer;vertical-align:middle;pointer-events:none}header ul li a:hover{text-decoration:none}header ul li.dropdown:hover{cursor:pointer}header .dropdown{position:unset}ul li.dropdown ul{visibility:hidden;opacity:0;display:none;position:absolute;transition:all 0.5s ease;top:auto;z-index:10;right:13px;margin:auto;margin-top:20px;width:296px;border-radius:12px;border:1px solid rgba(255,255,255,0.13);background:rgba(142,142,142,0.02);-webkit-backdrop-filter:blur(114px);-moz-backdrop-filter:blur(114px);backdrop-filter:blur(114px)}.show-dropdown{visibility:visible!important;opacity:1!important;display:block!important}ul li.dropdown ul a{clear:both;display:block;margin:0;margin:0px 10px;height:45px;position:relative}ul li.dropdown ul li{margin:4px 5px;cursor:pointer}.search-bar-container{background:#212121;border-radius:30px;margin:0 9px 0 9px;height:32px;width:100%;max-width:450px;border:1px solid #ffffffa6;display:flex;flex-direction:row;align-items:center;box-shadow:inset 0px 2px 4px rgb(32 33 36 / 27%)}.search-bar-container img{height:17px;margin:8px}.search-bar{width:100%}.search-bar input{width:100%;height:100%;border:none;padding:0;color:white;background-color:rgba(0,0,0,0)}.loading{background:url(/static/images/loading.gif) no-repeat right center!important;background-size:contain!important}.loading-center{background:url(/static/images/loading.gif) no-repeat center center;background-size:contain;height:50px}a.button{display:flex;padding:6px 19px;font-size:14px;border-radius:45px;border:1px solid #1e79d1;vertical-align:bottom;white-space:nowrap;font-weight:bold;color:#1e79d1;margin-left:9px}a.button:active{opacity:0.9}a.button.highlighted{background-color:#a01ed1;color:white;width:auto;background:linear-gradient(94deg,#c764ec,#4a36b1);height:auto;border:none;cursor:pointer}a.button.hotline{background:transparent;color:#c764ec;width:auto;height:auto;border:1px solid #c764ec;cursor:pointer}a.login-button{border:none;color:white;cursor:pointer}input:focus,button{outline:none}footer{margin-top:auto;text-align:center}a.button.fitter{width:fit-content}a.button.doublecolor{border-radius:8px;border-right:1px solid #e7416b;border-bottom:1px solid #e7416b;border-left:1px solid #1e79d1;border-top:1px solid #1e79d1;background:transparent;padding:0.3em;color:white;width:auto;height:auto}#social-modal{flex-direction:column;width:80vw;max-width:440px;justify-content:flex-start;align-items:center;border-radius:12px;border:1px solid rgba(255,255,255,0.13);background:rgba(142,142,142,0.02);-webkit-backdrop-filter:blur(114px);-moz-backdrop-filter:blur(114px);backdrop-filter:blur(114px);margin:auto;position:relative;color:white;padding-bottom:54px;position:fixed}.social-link-copy{display:flex;box-sizing:border-box;position:relative;align-items:center;justify-content:space-between;padding-right:18px;padding-left:18px;width:100%;border-radius:32px;border:1px solid rgba(255,255,255,0.13);backdrop-filter:blur(12px);height:48px;margin-top:10px}#social-link-input{flex-grow:1;border:none;background-color:transparent;font-size:14px;padding:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:white}.copy-button{background-color:transparent;border:none;cursor:pointer;padding:4px;margin-left:8px}.copy-button img{width:20px;height:20px}footer p{color:white;font-size:15px}.footer-row{display:flex;position:relative;flex-direction:row;align-items:center;justify-content:space-between;height:50px;background-color:#010009;z-index:5;bottom:0px}.bad-auth-error{display:none;justify-content:center;font-size:11px;color:#eb4f4f;text-align:left;margin-bottom:8px;margin-left:8px}.good-auth-error{display:none;justify-content:center;font-size:11px;color:#59ee7f;text-align:left;margin-bottom:8px}.leftfooter{margin-left:16px}.leftfooter a{display:flex;flex-direction:row}.leftfooter p,.logo-link p{background:linear-gradient(180deg,#fff 0%,#ebe5fb 50%,#7fabff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;display:flex;flex-direction:row;font-size:19px;margin:auto;margin-left:10px}@media screen and (max-width:800px){.logo-link p{display:none}}.rightfooter{display:flex;flex-direction:row;margin-right:16px}.contact,.press,.legal,.xlogo,.linkedinlogo,#pmLink{height:20px;margin:auto;margin-left:24px;color:white}.xlogo,.linkedinlogo{margin-top:6px}.footer-container{position:relative;overflow:hidden;bottom:0px;min-height:450px}.castle{position:relative;width:100vw;height:auto;z-index:1}.smaller-castle{display:none;width:100vw;height:auto}.centered-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:3}.centered-text{margin-top:-25px;font-size:30px}a.centered-button{background:white;border:none;color:#101010;white-space:nowrap;letter-spacing:2%;width:33vw;margin:auto;padding:10px 135px!important}a.centered-button:hover{background:var(--purple);transition:background 0.4s ease-in-out;color:white}dialog{padding:0;border:0;border-radius:0.6rem}dialog::backdrop{background-color:rgba(0,0,0,0.4)}dialog + .backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,0.4)}dialog[open]{animation:slide-up 0.4s ease-out;display:flex}dialog{display:none;left:0;right:0;margin:auto;max-width:90vw;background-color:transparent}dialog#signup-modal form,dialog#login-modal form{display:block;margin:20px;width:500px}dialog#subscription-modal form{display:block;margin:20px;width:600px}dialog .button.social-auth{width:48%;background:#fff;color:#1D2129;border:1px solid #999;display:inline-block;padding:0 0 0 28px;text-align:left;margin:10px 4px}dialog .button.social-auth img{vertical-align:middle;margin:6px}dialog .button.more-options{background:linear-gradient(94deg,#c764ec,#4a36b1)}dialog .other-options-signup-row{display:flex;flex-direction:row;justify-content:center;align-items:center;margin:20px}dialog .other-options-signup-line{width:30%;height:0;border:1px solid #fff;margin:3px;display:inline-block}dialog .other-options-signup{color:#fff;font-size:15px;padding:0 10px 0 10px}dialog .switch-login-signup-button{padding:0 28px;color:#fff;background:#6ec0fd;font-weight:700;font-size:.7em;border-radius:3px;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-width:0;border-style:none;-webkit-appearance:none;height:25px;cursor:pointer;margin:10px auto;width:30%;display:block}.login-container{display:none;flex-direction:column;width:440px;justify-content:flex-start;align-items:center;border-radius:12px;border:1px solid rgba(255,255,255,0.13);background:rgba(142,142,142,0.02);backdrop-filter:blur(114px);-webkit-backdrop-filter:blur(114px);-moz-backdrop-filter:blur(114px);-ms-backdrop-filter:blur(114px);margin:auto;color:white;position:fixed}.close{position:absolute;top:0.2em;right:0.2em;padding:0.3em;line-height:0.6;background-color:transparent;border:0;font-size:2em;color:#fff;cursor:pointer}.modal-header,.modal-body,.modal-footer{padding:1em;background-color:#2A282F;text-align:center;color:white}.login-header{text-align:center;font-size:36px;font-weight:600;letter-spacing:0.75px;line-height:normal;margin-top:49px;margin-bottom:0px;cursor:default;padding:0px}.share-header{text-align:center;font-size:36px;font-weight:600;letter-spacing:0.75px;line-height:normal;margin-top:54px;margin-bottom:0px}.share-subheader{text-align:center;color:darkgray;font-size:12px;line-height:18px;margin:auto;margin-top:8px;margin-bottom:24px}.out-credits-header{text-align:center;font-size:36px;font-weight:600;letter-spacing:0.75px;line-height:normal;margin-top:38px;margin-bottom:0px}.login-exit{display:flex;flex-direction:row;position:absolute;justify-content:right;right:24px;top:24px;cursor:pointer}.out-credits-exit{display:flex;flex-direction:row;position:absolute;justify-content:right;right:24px;top:24px;cursor:pointer}.please-subheader{text-align:center;color:darkgray;font-size:12px;line-height:18px;margin:auto;margin-top:8px;margin-bottom:16px}.options-container{width:270px;height:48px;display:flex;justify-content:center;align-items:center;background:rgba(142,142,142,0.05);border-radius:12px;justify-content:center;margin:auto;margin-top:6px;margin-bottom:6px;cursor:pointer}.membership-toggle{width:100%;height:36px}.login-active{display:flex;width:131px;height:40px;margin-left:4px;font-size:14px;font-weight:200;padding:0 41px 0 41px;justify-content:center;align-items:center;border-radius:10px;color:darkgray;cursor:pointer}.member-active{display:flex;width:131px;height:28px;margin-left:4px;font-size:12px;font-weight:200;padding:0 40px 0 40px;justify-content:center;align-items:center;border-radius:10px;color:darkgray;cursor:pointer}.signup{display:flex;width:131px;height:40px;padding:0 41px 0 41px;justify-content:center;align-items:center;border-radius:10px;font-size:14px;font-weight:200;color:darkgray;white-space:nowrap;text-align:center;cursor:pointer;margin-right:4px}.active{color:white;font-weight:400;background:rgba(255,255,255,0.1)}.signin-with-google{display:flex;position:relative;height:48px;width:270px;justify-content:center;align-items:center;gap:12px;border:none;border-radius:12px;color:white;font-size:14px;font-weight:400;font-family:inherit;background:rgba(255,255,255,0.1);margin:auto;margin-bottom:12px;transition:background 0s ease;cursor:pointer}.signin-with-google:hover{background:white;color:black}.signin-with-github{display:flex;position:relative;height:48px;width:270px;justify-content:center;align-items:center;gap:12px;border:none;border-radius:12px;color:white;font-size:14px;font-weight:400;font-family:inherit;background:rgba(255,255,255,0.1);margin:auto;margin-bottom:12px;transition:background 0s ease;cursor:pointer}.signin-with-github:hover{background:#121212;color:white}.button.login-with-email{display:flex;justify-content:center;background:none;border:none;white-space:nowrap;color:white;font-family:inherit;font-size:12px;font-weight:400;margin:auto;margin-bottom:48px;cursor:pointer}.email-container::before{content:"Email Address";position:absolute;z-index:1;top:10px;left:60px;font-size:9px;pointer-events:none;color:darkgray}.email-container{position:relative;display:none;margin:auto;margin-bottom:12px;width:270px;height:48px;border-radius:12px;background:rgba(142,142,142,0.02)}.email-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:darkgray;z-index:1;border-right:1px solid darkgray;padding-right:12px}.input-email{padding-left:58px;padding-top:22px;padding-bottom:10px;height:14px;line-height:14px;position:relative;border-radius:12px;border:1px solid rgba(255,255,255,0.13);background:transparent;color:white;width:100%}.input-email::placeholder{font-size:12px;line-height:18px}.password-container::before{content:"Enter Password";position:absolute;z-index:1;top:10px;left:60px;font-size:9px;pointer-events:none;color:darkgray}.password-container{position:relative;display:none;margin:auto;margin-bottom:12px;width:270px;height:48px}.lock-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:darkgray;z-index:1;border-right:1px solid darkgray;padding-right:10px}.input-password{font-size:12px;padding-left:58px;padding-top:22px;padding-bottom:10px;height:14px;line-height:14px;position:relative;border-radius:12px;border:1px solid rgba(255,255,255,0.13);background:transparent;color:white;width:100%}.input-password::placeholder{font-size:12px;line-height:18px}.reenter-password-container::before{content:"Re-enter Password";position:absolute;z-index:1;top:10px;left:60px;font-size:9px;color:darkgray;pointer-events:none}.reenter-password-container{position:relative;display:none;margin:auto;margin-bottom:12px;width:270px;height:48px}.button.login-email{display:none;flex-direction:column;background:#7000ff;border:none;width:270px;color:var(--white);font-size:14px;font-weight:500;white-space:nowrap;letter-spacing:2%;margin:auto;padding:12px;margin:auto;margin-bottom:12px;transition:background 0.2s ease;cursor:pointer;align-items:center;border-radius:12px}.button.sub-set{display:flex;flex-direction:column;align-items:center;border-radius:12px;background:#7000ff;border:none;width:270px;color:var(--white);font-size:14px;font-weight:500;white-space:nowrap;letter-spacing:2%;margin:auto;padding:12px;margin:auto;margin-bottom:12px;transition:background 0.2s ease;cursor:pointer}.button.goback{display:none;justify-content:center;background:none;border:none;white-space:nowrap;color:white;font-size:12px;font-weight:400;margin:auto;margin-bottom:24px;cursor:pointer}#forgot-password{display:none;justify-content:center;text-align:center;font-size:12px;margin:auto;margin-bottom:12px;color:white}#forgot-password:hover{background:none;cursor:default}span.click-here{color:#c549fe;cursor:pointer;margin-left:6px}.modal-body .title{font-size:22px;justify-content:center}.modal-body .subtitle{opacity:0.9}.modal-header{margin:0;padding-bottom:0.6em;background-color:#f3f3f3;border-bottom:1px solid #f3f3f3}.modal-footer{border-top:1px solid #f3f3f3}.deepaiProSubscriptionRow{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly}.deepaiProSignupRow{display:flex;align-items:center;justify-content:space-evenly}.deepaiProPaymentRow{display:flex;align-items:center;justify-content:space-evenly;flex-direction:column}.subscription-modal-body{width:max(40vw,386px);background-color:#2A282F}.out-of-credits-modal-body{display:flex;flex-direction:column;width:80vw;max-width:440px;justify-content:flex-start;align-items:center;border-radius:12px;border:1px solid rgba(255,255,255,0.13);background:rgba(142,142,142,0.02);backdrop-filter:blur(114px);margin:auto;position:relative;color:white;padding-bottom:32px}.subscription-pro{display:flex;flex-direction:column}.payasyougo{display:none;flex-direction:column}.modal-row{display:flex;flex-direction:row;justify-content:flex-start;padding-left:50px;align-items:center}.modal-row-top{display:flex;flex-direction:row;justify-content:flex-start;padding-left:40px;align-items:center}.sub-title{color:#fff;text-align:center;font-size:38px;padding:0 0 0 20px}.sub-info{padding:0.5em;color:#fff;text-align:left;font-size:14px}.purple{color:#c764ec}.smaller{text-align:left;font-size:12px;padding-right:70px}.stripe-signup-button{padding:8px 30px;font-size:16px;border-radius:45px;background-color:#a01ed1;color:white;width:auto;background:linear-gradient(94deg,#c764ec,#4a36b1);height:auto;border:none;cursor:pointer;vertical-align:bottom;white-space:nowrap;font-weight:bold;margin-bottom:11px}.switch-pay-button{font-size:16px;color:#9D9D9D;padding:10px;background:transparent;text-decoration:underline;width:auto;height:auto;border:none;cursor:pointer}.modal-pricing-title{padding-right:0px}.modal-pricing{margin:0px;font-size:14px;margin-bottom:4px;text-align:left}.modal-pricing-subheader{margin-bottom:100px}.modal-subscriptions-container{display:flex;position:relative;flex-direction:column;text-align:left;height:fit-content;border:1px solid transparent;border-radius:12px;padding:34px;padding-bottom:10px;color:#fff;overflow-y:hidden}.modal-small-subscription-container{background:rgba(142,142,142,0.02);backdrop-filter:blur(114px);-webkit-backdrop-filter:blur(114px);height:fit-content;width:426px;border:1px solid rgba(255,255,255,0.13);border-radius:12px;margin:auto}.modal-subscription-section{display:flex;flex-direction:row;justify-content:space-between;height:auto;overflow:hidden;margin:auto;width:95%}.modal-pro-subscription-section{visibility:hidden}.modal-overview{visibility:visible}.modal-subscription-title-container{display:flex}.modal-subscription-title{font-size:24px;margin-bottom:5px;line-height:29px}.modal-subscriptions-subheader{font-size:14px;color:#9c9b9b;font-weight:300}.pro-title{margin-left:3px;color:#8f37ff;font-weight:600}.modal-subscription-price{display:flex}.modal-price{font-size:30px;color:#8f37ff;font-weight:500;margin-bottom:6px}.modal-subscription-length{font-size:14px;color:#9c9b9b;margin-left:6px;margin-top:16px}.modal-best-value{display:flex;position:absolute;top:18px;width:78px;height:24px;right:0;justify-content:center;align-items:center;font-size:60%;letter-spacing:2px;font-weight:500;padding:0px 10px 0 10px;border-bottom-left-radius:6px;border-top-left-radius:6px;background-color:#8f37ff;white-space:nowrap}.modal-get-started{display:flex;flex-direction:row;width:100%!important;height:48px;padding:5px 95px;justify-content:center;align-items:center;gap:10px;border-radius:12px;font-size:18px;text-align:center;background-color:#8f37ff;color:white;border:none;white-space:nowrap;cursor:pointer}.modal-value{margin:0px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;height:36px;border-bottom:1px rgba(255,255,255,0) solid}.modal-overview-title{display:flex;margin-block-start:0px;margin-block-end:0px;justify-content:flex-start;align-items:center;height:36px;width:238%;border-bottom:1px rgba(255,255,255,0.12) solid}.modal-overview{list-style-type:none;font-size:14px;line-height:38px;padding-left:0px}.modal-membership{color:#8d8d8d;font-size:12px;margin:0px;height:24px;margin-bottom:0px;align-items:flex-start;border:none}.modal-membership-description{margin-bottom:0px;text-align:center;display:flex;flex-direction:column;align-items:center}.modal-value2{margin-top:-21px;border-bottom:1px rgba(255,255,255) solid}.modal-api-value{border-bottom:none}.get-started-container{display:none;flex-direction:column}.go-back-subscription{backdrop-filter:blur(10px);width:100%!important;height:46px;background:var(--clear);border:1px solid transparent;border-radius:12px;color:var(--white);white-space:nowrap;cursor:pointer;transition:none;padding:5px 65px;margin:auto;font-size:18px}.subscription-terms{margin-bottom:12px;list-style:none;line-height:24px}.payment-container{display:flex;flex-direction:column}.payment-options{width:100%}.stripe-pay-active{display:flex;width:100%;height:40px;margin-left:4px;font-size:14px;font-weight:200;padding:0 41px 0 41px;justify-content:center;align-items:center;border-radius:10px;color:darkgray;cursor:pointer}.active{color:white;font-weight:400;background:rgba(255,255,255,0.1)}.modal-see-full{display:flex;flex-direction:row;justify-content:center;align-items:center;background:none;border:none;color:white;font-size:12px;cursor:pointer;margin:auto;margin-top:6px;margin-bottom:8px;gap:4px}.subscribe-to{margin-bottom:12px}.share-button{color:#fff!important;opacity:0.65;cursor:pointer;display:flex;align-items:center;flex-direction:row}.share-button img{margin-right:4px}#social-image{margin:0 auto}.separator-bullet{margin:0 4px;color:#999}.card-list{display:flex;flex-direction:column;justify-content:center;padding:18px 10px 0}.card-list .main-list{display:flex;flex-direction:column;margin:0 auto;width:100%}.card-list-item{border-radius:8px;margin:30px auto 30px auto;width:100%;max-width:700px;cursor:pointer;display:flex;flex-direction:row;outline:none;box-shadow:0 8px 92px 20px rgb(71 28 115 / 70%)}.card-list-item .heart-link{display:flex;flex:0 1;flex-direction:column;padding:12px 0;align-items:center}.card-list-item .card-content{display:flex;flex-direction:column;background:transparent;width:100%;border-radius:0 8px 8px 0;color:black;padding:20px}.card-list-item:hover{outline:1px solid #898989}.card-list-item .tag-container{display:flex;flex-direction:row}.card-list-item .card-list-item-header{display:flex;flex-direction:row;align-items:center;margin:12px;font-size:14px;color:#999}.card-list-item .trunc-summary{margin:0 12px 12px;font-size:14px;color:#fff}.card-list-item .card-footer{display:flex;flex-direction:row;align-items:center;margin:12px;font-size:14px}.card-list-item .card-footer .author-link{color:#c764ec}.card-list-item .title{margin:0 12px 12px;font-size:15px;font-weight:500;line-height:24px;color:#fff}.dropdown-select{background-color:rgba(111,0,255,0.049);color:darkgray;padding:12px;font-size:16px;border:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.dropdown-select option{color:white;margin-top:14px}.dropdown-select option:first-child{color:darkgray}.dropdown-select option:hover{background-color:#f1f1f1}.dropdown-payment-amount::before{content:"Add credits to your account";position:absolute;z-index:1;top:10px;left:60px;font-size:8px;color:darkgray;pointer-events:none}.dropdown-payment-amount::after{color:white}.dropdown-payment-amount{position:relative;display:none;margin-bottom:12px;width:100%;height:48px}.go-dropdown{display:flex}.money-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:darkgray;z-index:1;border-right:1px solid darkgray;padding-right:12px}.dropdown-input-amount{font-size:12px;padding-left:58px;padding-top:22px;padding-bottom:10px;height:48px;line-height:14px;position:relative;width:100%;border-radius:12px;border:1px solid rgba(255,255,255,0.13);background:rgba(255,255,255,0.02);backdrop-filter:blur(12px)}.dropdown-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;background-color:#ffffff00;color:white;border:none;z-index:2}.dropdown-icon:hover{cursor:pointer}.sub-terms-pro-styling{padding-left:0px;padding-top:8px;margin:auto;flex-direction:column}.sub-terms-go-styling{padding-left:0px;padding-top:8px;margin:auto;flex-direction:column}.dataset{position:relative;width:100%}.payment-dropdown{margin-bottom:200px;margin:auto}#amount{-webkit-appearance:none;-moz-appearance:none}.card-list-item .title a{color:#fff}.title-image-pro{display:flex;flex-direction:row;justify-content:center;align-items:center}.logo-imagepro{width:15%;height:10%}.check-imagepro{width:10%}.thumbnail{width:500px;max-width:100%;margin:12px auto;height:350px;max-height:100%;box-sizing:border-box;border-radius:8px;background-size:contain;background-repeat:no-repeat;background-position:center}.middle{vertical-align:middle}.float-left{float:left}.float-right{float:right}.hide{display:none}.heart-link{display:flex;align-items:center;justify-content:center;color:#999!important;text-decoration:none!important;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.heart-count{margin:4px}.heart-link:not([hearted]) .hearted-heart-icon{display:none}.heart-link[hearted] .unhearted-heart-icon{display:none}.show-lt-md{display:none!important}.show-lt-sm{display:none!important}.hide-lt-xlg{display:none!important}.hide-lg{display:none!important}a:hover,a:focus{text-decoration:none}.social-icon{display:flex;gap:26px}.social-name{font-size:14px}.icon-container{display:flex;flex-direction:column;align-items:center;gap:8px}.icon-container a{display:flex;width:58px;height:58px;border-radius:12px;background-color:#ffffff04;justify-content:center;align-items:center;transition:background-color 0.3s;margin-bottom:-8px}.icon-container a:hover{background-color:#ffffff12}.facebook a:hover{background-color:#1876f2}.reddit a:hover{background-color:#ff4400}.x a:hover{background-color:rgb(13,13,13)}.linkedin a:hover{background-color:#0a66c2}.icon-container img{width:55%;height:auto;transition:transform 0.3s}.icon-container a:hover img{transform:scale(1.1)}@media screen and (max-width:960px){header img.header-social-icon{margin-left:12px}.hide-lt-xlg{display:none!important}.hide-lt-lg{display:none!important}.hide-md{display:none!important}}@media screen and (max-width:800px){.modal-row{padding-left:2px}.sub-title{font-size:30px}.smaller{padding-right:30px}}@media screen and (max-width:600px){ul li.dropdown ul{right:2%}.contact,.press,.legal,.xlogo,.linkedinlogo{margin-left:14px;font-size:12px;height:17px}.modal-row-top{padding-left:15px}.smaller{padding-right:10px}dialog#signup-modal{width:365px}dialog#signup-modal form{width:90%;margin:auto}dialog#login-modal form{width:100%;margin:auto}dialog#subscription-modal form{width:400px;margin:10px}.thumbnail{max-width:90%;margin:12px}dialog .button{width:80%}dialog input[type=email]{width:90%}dialog input[type=text]{width:90%}dialog input[type=password]{width:90%}dialog .button.social-auth{width:80%;display:block;margin:auto;margin-bottom:10px;text-align:left}.card-list .card-list-item{margin:4px 0}.card-list .card-list-item .card-content{width:87%}header img.deepai-logo{height:28px;margin-left:8px;width:32px;object-fit:cover;object-position:left}.show-lt-md{display:block!important}.hide-lt-xlg{display:none!important}.hide-lt-lg{display:none!important}.hide-lt-md{display:none!important}.hide-sm{display:none!important}.sub-terms-pro-styling{margin:auto}.sub-terms-go-styling{margin:auto}}@media (max-width:500px){.social-modal-body{width:268px}.social-icon{gap:12px}#social-modal{width:98%}.social-name{font-size:12px}}@media screen and (max-width:470px){.modal-small-subscription-container{width:96vw;height:auto}.modal-subscriptions-container{padding:24px}dialog{max-width:100vw;width:100vw}ul li.dropdown ul{width:96%}.login-container{width:96%}}@media screen and (max-width:420px){.modal-column{width:280px}.other-modal-column{width:280px;padding-bottom:5%;margin-bottom:10px}.other-modal-column .other-box-title{padding:0.8em}.modal-column .box-title{padding:0.8em}.other-modal-column :nth-child(2){padding:0.6em}.modal-row-top{padding-left:10px}.modal-column :nth-child(2){padding:0.6em}.deepaiProPaymentRow{display:flex;flex-direction:column}.member-active{padding:0 35px 0 35px}}@media screen and (max-width:390px){.member-active{padding:0 30px 0 30px}}@media screen and (max-width:375px){dialog#signup-modal form,dialog#login-modal form{width:90%;margin:auto}dialog input[type=email]{width:90%}dialog input[type=text]{width:90%}dialog input[type=password]{width:90%}dialog .button{width:90%}dialog .button.social-auth{width:90%}.title-image-pro{width:90%}.modal-row{width:90%}.member-active{padding:0 20px 0 20px}}@media screen and (max-width:425px){.subscription-modal-body{width:auto}.leftfooter p{display:none}.out-of-credits-modal-body{width:auto}.subscription-pro{width:100%;margin:auto}}@media screen and (max-width:320px){ul li.dropdown ul{right:10px}dialog#signup-modal form,dialog#login-modal form{width:95%;margin:auto}dialog#signup-modal{width:365px}dialog#subscription-modal form{width:400px;margin:10px}dialog .button{width:100%}dialog .button.social-auth{width:100%}.thumbnail{max-width:90%;margin:12px}.card-list .card-list-item .card-content{width:87%}.card-list .card-list-item{margin:4px 0}dialog .button.social-auth{width:100%;display:block}.options-container{width:260px}.signin-with-google{width:240px}.signin-with-github{width:240px}.email-container{width:240px}.password-container{width:240px}.reenter-password-container{width:240px}.button.login-email{width:240px}.show-lt-md{display:block!important}.hide-lt-xlg{display:none!important}.hide-lt-lg{display:none!important}.hide-lt-md{display:none!important}.hide-xs{display:none!important}}@media screen and (max-width:290px){.options-container{width:235px}.member-active{padding:0 12px 0 12px}dialog{margin-left:0px}}div.sticky{position:-webkit-sticky;position:sticky;top:0;z-index:10}div.left-sticky{position:fixed;top:20vh;left:0px;right:calc(100% - 320px);z-index:20;overflow:hidden}.fs-sidewall-container{z-index:9!important}#pmLink{visibility:hidden;text-decoration:none;cursor:pointer;background:transparent;border:none;font-size:16px;line-height:22px}#pmLink:hover{visibility:visible}@media (max-width:1650px){div.left-sticky{right:calc(100% - 180px)}}@media (min-width:1650px){div.left-sticky{right:calc(100% - 320px)}}@media screen and (max-width:600px){#pmLink{font-size:12px}}@media screen and (max-width:850px){#pmLink{position:absolute;bottom:53px;text-align:center;left:0px;width:85vw}}main{margin:0 auto;padding:7px 8px;display:flex;flex-direction:column;align-items:center;width:998px}main h1{color:#fff;margin:0px;text-align:center;margin:5px}main h2{color:#ffffff;margin:0px;padding:12px;padding-left:0px;font-size:18px;font-weight:initial;padding-top:0px;white-space:nowrap}main .try-it{overflow:hidden;text-align:center;width:100%;height:100%;padding-bottom:24px;padding-top:32px;margin:5px}#current-model-name{margin-top:26px}@media screen and (max-width:1000px){#current-model-name{margin:0px;font-size:20px}}main .outline-try-it{display:flex;flex-direction:row}#suboutline-try-it{display:none;flex-direction:row;align-items:flex-start;justify-content:flex-start}#shape-row{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start}main .try-it .placeholder-image{object-fit:cover;width:98%;height:98%}main input[type="file"]{display:none}main .model-input-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;border-radius:12px}.flex{display:flex;align-items:center;width:100%}.hyperlink{text-decoration:underline;color:#8133E6;cursor:pointer}main a.button.upload{border:1px solid rgb(128 128 128 / 17%);border-radius:12px}.show-for-file-upload-mode{width:100%;margin-bottom:25px}main #progressContainer{width:100%;height:10px;margin:5px}main #deepaiProgressBar{height:10px;background:#61b1ff;border-radius:10px;width:0%}.try-it-result-error{text-align:left;font-size:14px;color:#ee7a7a;margin:auto;padding:10px 0px}.try-it-result-area{height:603px;width:auto;text-align:left;border-radius:8px;background-color:transparent;margin:auto;color:#fff}main .info{word-break:break-word;width:100%}.model-card{backdrop-filter:blur(24px);border-radius:32px;margin:auto;margin-bottom:30px;width:99%;max-width:1100px;background:linear-gradient(#0c081f,#0c081f) padding-box,linear-gradient(180deg,rgba(255,255,255,0.13) -0.61%,rgba(255,255,255,0.46) -0.43%,rgba(255,255,255,0.2) 13.63%,rgba(255,255,255,0.03) 100%) border-box;border:1px solid transparent}.model-card-container{box-sizing:border-box;display:flex;flex-direction:row;width:100%;justify-content:space-between;padding:24px}.model-card-col{display:flex;flex-direction:column;margin:auto;width:100%;justify-content:flex-start;align-items:flex-start;padding:0px 24px;margin-top:0px}.image-input{max-width:310px;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:flex-start;margin-left:0px;padding-left:0px;margin-right:24px;padding-right:0px;margin-top:0px}.image-output{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:flex-start;justify-content:flex-start;margin-left:0px;padding-left:0px;margin-right:0px;padding-right:0px;padding-top:0px}.verified-icon{opacity:0}.create-image-header{padding-top:0px}main .description{color:#fff;margin:0px;font-size:20px;text-align:center;padding-left:12px;padding-right:12px}main a{color:#fff;padding-right:8px}.upload-image{background:#ffffff12;cursor:pointer;position:relative;box-shadow:0px 0px 7px 3px #9037ff45}.dynamic-border{background:linear-gradient(#1E083A,#0c081fa8) padding-box,linear-gradient(180deg,rgba(255,255,255,0.13) -0.61%,rgba(255,255,255,0.46) -0.43%,rgba(255,255,255,0.2) 13.63%,rgb(255 255 255 / 10%) 100%) border-box;background:linear-gradient(#1E083A,#17132f) padding-box,linear-gradient(180deg,rgba(255,255,255,0.13) -0.61%,rgb(255 255 255 / 65%) -0.43%,rgb(255 255 255 / 40%) 13.63%,rgb(255 255 255 / 0%) 100%) border-box;border:1px solid rgb(128 128 128 / 17%)}main a.button{background-color:#3f4b5d;color:white;border:none;margin-right:20px}main a.button.upload{display:flex;box-sizing:border-box;flex-direction:column;background-color:#141028;color:#fff;width:100%;padding:0px;margin:0px;padding-top:36px;padding-bottom:64px}main a.primary{text-transform:uppercase}.drag-and-drop{color:white;white-space:normal;margin-top:-8px;margin-bottom:0px}.options-border{border:1px solid rgba(255,255,255,0.08);width:100%;margin-top:16px;margin-bottom:16px;justify-content:center}.options-border-with-checkbox{border:1px solid rgba(255,255,255,0.08);width:100%;margin-top:16px;margin-bottom:16px;justify-content:center;position:relative}.imageShapeButton{display:flex;border:none;background:#6D6B79;margin:10px;margin-right:8px;margin-bottom:0px}.first-shape{width:60px;height:28px;margin-left:0px}.second-shape{width:46px;height:28px}.third-shape{width:34px;height:28px}.fourth-shape{width:28px;height:36px}.fifth-shape{width:28px;height:50px}.imageShapeButton img.shape-image{width:100%;height:100%;object-fit:cover;overflow:hidden}.imageShapeButton[iscurrentshape=True]{box-shadow:0px 0px 7px 3px rgb(0 131 255)}.imageShapeButton[iscurrentshape=False] img.shape-image{cursor:pointer}#place_holder_picture_model{height:603px;width:auto}.grid{margin:auto}.grid-title{color:#fff;font-size:28px;margin-bottom:32px;display:none;text-align:center}.check-gallery{margin:5px;color:#00ff6e;padding:14px 42px;border-radius:45px;cursor:pointer;border:1px solid #00ea1c;font-size:15px;text-align:center;margin-left:auto;margin-right:auto;display:block;margin-bottom:18px;margin-top:0px;width:300px}.check-gallery-button{margin-top:0px}.grid-item{width:200px;border-radius:5px;margin-bottom:10px}section.code{position:relative;top:100px;max-width:950px;margin:0 auto;color:#cecece;border-radius:24px;box-shadow:0px 7px 20px 2px rgb(0 0 0 / 55%);margin-bottom:120px;width:90%}section.code .inner-content{overflow-x:auto;border-radius:0 8px 8px 0;padding:20px;font-family:inherit}.quick-start-header{text-align:center;display:block;font-size:16px}.new-feature{display:flex;position:relative;flex-direction:column;background:rgba(142,142,142,0.02);backdrop-filter:blur(114px);-webkit-backdrop-filter:blur(114px);-moz-backdrop-filter:blur(114px);text-align:left;max-width:777px;height:678px;border:1px solid rgba(255,255,255,0.13);border-radius:24px;padding:64px 64px 36px 64px;margin:auto;color:#fff}.exit-feature{display:flex;flex-direction:row;position:absolute;justify-content:right;right:10px;top:10px;cursor:pointer;margin:10px}.genius-mode-title{font-size:42px;font-weight:500}.genius-mode-header{font-size:16px;margin-bottom:8px}.featured-modals{display:flex;flex-direction:row;margin-bottom:16px;text-align:center;font-size:36px;font-weight:500;width:100%;height:auto}.featured-sparkle{position:absolute;width:5%;height:auto;padding-left:6px;top:92px}.genius-mode-popup-description{font-weight:400;font-size:24px;margin-bottom:48px}.featured-images,.tier-images{width:96%;height:auto}.try-now-btn{height:42px;white-space:nowrap;background-color:#8f37ff;color:white;border:none;width:100%!important;font-size:14px;font-weight:400;padding:0px;margin-bottom:12px;border-radius:12px;margin-bottom:24px;cursor:pointer}.prompting{border:2px solid rgba(255,255,255,0.13);background:rgba(255,255,255,0.02);border-radius:12px;padding:12px;bottom:31%;left:48%;position:absolute;font-size:14px;width:242px;text-align:center;box-shadow:8px 14px 17px rgba(0,0,0,0.4);backdrop-filter:blur(114px);-webkit-backdrop-filter:blur(114px);-moz-backdrop-filter:blur(114px)}.terms{font-size:14px;text-align:center;color:#BDBDBD}section.three{min-height:100px;display:flex;padding-top:50px}section.three .inner-content{max-width:1100px;margin:9px auto 18px;display:block;padding:10px}section.three .info{text-align:center;padding:20px}section.three hr{width:70%;border:0;height:0;border-top:1px solid #d5d5d7;border-bottom:1px solid #d5d5d7}h2{font-size:28px;margin:10px;color:white}section.three .subheader{font-size:18px;font-weight:normal;margin-bottom:30px;color:#fff;opacity:0.7}section.three p{color:#fff;opacity:0.7;margin-top:30px}section.alternating-image-columns{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:auto auto;grid-auto-flow:dense;overflow:hidden;margin-bottom:50px}section.alternating-image-columns .img-container{border-bottom:2px solid #f3f3f3}section.alternating-image-columns>div:nth-of-type(even){grid-column:2}section.alternating-image-columns>div>img{max-width:350px;display:block;margin:40px auto;box-shadow:1px 3px 6px rgba(0,0,0,0.5);border-radius:8px}section.alternating-image-columns>.info:nth-of-type(even){grid-column:1}section.alternating-image-columns .info{padding:75px;border-bottom:2px solid #f3f3f3}section.alternating-image-columns .info h3{color:#5a5f67;margin:10px 0;font-size:28px}section.alternating-image-columns .info p{color:#c3c8cb}iframe{border-width:0;border-style:none;border-color:none;border-image:none}img.upload-icon{vertical-align:middle;width:46px;height:46px;margin-bottom:-10px}.search-textfield-label{color:white;width:fit-content;white-space:nowrap;margin-bottom:10px;font-size:18px}.search-textfield{height:45px;resize:none}input[type=text].model-input-url-input{box-sizing:border-box;height:46px;width:100%;border-radius:8px;padding:0 6px;font-size:1em;border-radius:3px;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-width:0;border-style:none;-webkit-appearance:none}.show-for-url-upload-mode{width:100%}a.button.api-select{background:linear-gradient(94deg,#c764ec,#4a36b1);height:auto;border:none;cursor:pointer;border-radius:45px;color:#fff}#Javascript,#cURL,#Python,#Ruby{margin-bottom:48px;border:1px solid rgba(255,255,255,0.13);background:rgba(142,142,142,0.02);backdrop-filter:blur(114px);-webkit-backdrop-filter:blur(114px);-moz-backdrop-filter:blur(114px);margin-left:0px;padding-left:0px;margin:auto}#api-docs{box-sizing:border-box;color:white;width:100%}.api-docs-bottom{width:100%;max-width:998px;margin:auto;white-space:normal}.faq-section{margin-bottom:84px}.faq-terms{color:#a147f2}.inner-content{max-width:900px;margin:0 auto;display:block;text-align:left}.upload-file-edit-prompt{white-space:normal;width:100%;margin:auto}.pro-tip-box{color:#c8c8c8!important;width:100%;display:block;text-align:center;font-family:inherit;font-weight:normal;margin-top:20px;font-size:14px;margin-left:auto;margin-right:auto}textarea{box-sizing:border-box;height:70px;width:100%;padding:12px 12px;font-size:1em;border-radius:12px;border:1px solid #9037ff;background:#1e083a;backdrop-filter:blur(10px);color:rgb(255,255,255);margin:10px;margin-top:0px;margin-bottom:0px;font-family:inherit;resize:none}textarea:focus{outline:none;-webkit-tap-highlight-color:transparent}#modelSubmitButton{padding:10px 19px;font-size:18px;border-radius:12px;border:none;vertical-align:bottom;white-space:nowrap;color:white;background:#8F37FF;cursor:pointer;width:100%}#modelEditButton{font-size:18px;white-space:nowrap;color:#ffffff;width:100%;display:flex;background:none;justify-content:space-between;border:none;align-items:center;padding:0px}#modelEditButton:disabled{cursor:not-allowed}#modelStandardButton{padding:12px 12px;font-size:16px;border-radius:45px;vertical-align:bottom;white-space:nowrap;color:white;background:#ffd90000;cursor:pointer;border:none;width:33%}#modelGeniusModeButton{display:flex;align-items:center;justify-content:center;padding:12px 12px;font-size:16px;border-radius:45px;border:none;gap:4px;vertical-align:bottom;white-space:nowrap;color:white;background:#ffd90000;cursor:pointer;width:33%}#imageGeniusLockedIcon{height:14px}#modelHdButton{padding:12px 12px;font-size:16px;border-radius:45px;border:none;vertical-align:bottom;white-space:nowrap;color:white;background:#ffd90000;cursor:pointer;width:33%}#modelTurboButton,#modelQualityButton{padding:12px 12px;font-size:16px;border-radius:45px;border:none;vertical-align:bottom;white-space:nowrap;color:white;background:#ffd90000;cursor:pointer;width:50%}#modelClassButton,#modelAnimeButton,#modelPhotoButton,#modelCinemaButton,#modelGraphicsButton,#modelHyperRealButton,#modelHyperDetailedButton,#modelArtistButton{padding:12px 12px;font-size:16px;border-radius:45px;border:none;vertical-align:bottom;white-space:nowrap;color:white;background-color:#ffffff08;border:1px solid #323132;cursor:pointer;width:fit-content;margin:3px}#modelHdButton:disabled{cursor:not-allowed}.image-models-container{box-sizing:border-box;display:flex;flex-direction:row;justify-content:center;align-items:center;background-color:#ffffff04;border:1px solid #323132;border-radius:32px;height:52px;width:100%;gap:4px;padding-left:4px;padding-right:4px}.model-priority{margin-top:12px}.image-models-priority-container{box-sizing:border-box;display:flex;flex-direction:row;justify-content:center;align-items:center;background-color:#ffffff04;border:1px solid #323132;border-radius:32px;height:52px;width:100%;gap:4px;padding-left:4px;padding-right:4px;margin-bottom:8px}.image-models-preference-container{display:flex;flex-direction:row;justify-content:center;align-items:center;margin:auto;width:100%;flex-wrap:wrap}.edit-buttons-container{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;width:100%}#modelSubmitButton:disabled,#edit-button:disabled{background:#bcbcbc;cursor:not-allowed}.extra-models-buttons{display:flex;flex-direction:row;height:auto;width:100%;gap:3px;margin-top:8px}#other-model-links{display:flex;max-width:945px;margin:auto;justify-content:center}#other-model-links.disabled img{opacity:0.75;cursor:default!important}section.three h4{color:#ffffff;line-height:20px}.question{font-size:24px;margin-bottom:18px;margin-top:18px}.faq-title{margin-top:24px}.faq-border{border:1px solid rgba(255,255,255,0.069);margin-top:24px}.api-doc-header{margin:0px}#primis-ads{width:450px;height:253px;margin:0px auto}.other-model-button{position:relative}.other-model-button img.model-icon{width:48px;height:auto;border-radius:8px}.all-other-models{position:relative;display:flex;text-decoration:none;font-size:16px;align-items:center;justify-content:center;color:white;height:44px;background-color:#ffffff08;border:1px solid #323132;border-radius:32px;margin-top:10px;margin-bottom:0px}.upload-file-choose-prompt{white-space:normal;padding-right:0px}.other-model-button[locked=True] img.model-icon{filter:blur(2px)}.other-model-button[iscurrentmodel=True] img.model-icon{box-shadow:0px 0px 7px 3px rgb(144 55 255);cursor:default}.other-model-button img.model-locked-icon{display:none}.other-model-button[locked=True] img.model-locked-icon{display:block;position:absolute;filter:drop-shadow(0px 0px 2px #000);bottom:10px;right:11px;width:30px;height:30px}#selectedModelPaidOnly{display:none;color:#e7416b;padding:10px}#selectedModelPaidOnly[locked=True]{display:block}.art-grid-item{margin-bottom:10px}.art-image-thumbnail{width:200px;height:auto;border-radius:5px}.art-grid-item-prompt-text{position:absolute;bottom:0px;left:0px;padding:4px;color:#ffffffd9;background:#00000096;opacity:0;transition:opacity 0.15s}.art-grid-item-prompt-text-always-visible{opacity:1}.art-grid-item:hover .art-grid-item-prompt-text{opacity:1}.art-grid-item-heart-container{position:absolute;top:0px;right:0px;padding:0px;color:#ffffffd9;background:#00000096;opacity:0;transition:opacity 0.15s}.art-grid-item:hover .art-grid-item-heart-container{opacity:1}.art-image-info-prompt{display:inherit;text-align:left;flex-direction:column}.modal-trunc-summary{overflow:hidden;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical}.art-image-btn{background-color:#201e25;border-radius:4px;padding:4px 8px 4px 8px;color:white;border:1px solid #ffffff4d;margin:16px 0px 4px;font-size:16px;cursor:pointer;display:flex;justify-content:center;align-items:center}.art-image-publish-buttons{display:flex;margin-bottom:12px;margin-top:-8px;justify-content:center}dialog[id^="art-modal"] *{box-sizing:border-box}dialog[id^="art-modal"] .modal-body{padding:0;position:fixed;top:0;left:0;right:0;bottom:0;--dock-min-height:230px;--dock-min-width:355px;background:rgba(0,0,0,.4)}.art-image-wrapper{display:flex;justify-content:center;position:relative}.art-image-info{display:flex;flex-direction:column;background:#2A282F;padding:12px}img.art-image-full{padding:15px;width:100%;height:100%;object-fit:contain}.docs-link{color:#a147f2}@media (orientation:portrait){.art-image-wrapper{height:calc(100% - var(--dock-min-height));width:100%}.art-image-info{height:var(--dock-min-height);width:100%}.modal-trunc-summary{-webkit-line-clamp:2}}@media (orientation:landscape){.art-image-wrapper{width:calc(100% - var(--dock-min-width));height:100%}.art-image-info{width:var(--dock-min-width);height:100%;position:absolute;top:0;right:0}.art-image-btn.publish-btn{flex:1}.art-image-btn.edit{flex:1}}@media (max-width:360px){dialog[id^="art-modal"] .modal-body{--dock-min-height:340px}.art-image-buttons{flex-direction:column}.art-image-buttons .art-image-btn:first-child{margin-left:12px}.art-image-btn{margin:8px 12px 4px 0}.art-image-publish-buttons{margin-left:12px;margin-top:unset}.art-image-btn.publish-btn{flex:1}.art-image-info-prompt{margin:0 12px}}.art-image-wrapper[highres="true"]>img:first-of-type,.art-image-wrapper[highres="false"]>img:last-of-type{opacity:0;pointer-events:none;position:absolute;top:0}.link{display:none;color:#c5b0ff;padding:14px 42px;text-align:center;font-weight:normal;margin-top:10px;margin-left:auto;border-radius:50px;margin-right:auto;border:1px solid #c5b0ff;-webkit-transition:all 0.25s ease-out;-moz-transition:all 0.25s ease-out;-o-transition:all 0.25s ease-out;transition:all 0.25s ease-out;width:300px}.link:hover{cursor:pointer;color:#e6ddff;border:1px solid #869db4}.grid-item:hover .art-grid-item-prompt-text{opacity:1}.grid-item:hover .art-grid-item-heart-container{opacity:1}@media screen and (max-width:1014px){main{width:98%}}@media screen and (max-width:1000px){.model-card-container{flex-direction:column}.image-input{width:100%;margin-right:0px;max-width:none}.image-output{padding:0px}.try-it-result-area{width:100%}.all-other-models{padding-right:0px}#place_holder_picture_model{height:100%;width:100%}.show-for-file-upload-mode{width:100%}main .outline-try-it{display:none}.options-border{display:none}}@media screen and (max-width:960px){main{display:flex;flex-direction:column;width:100%;padding:0px}main .try-it{width:100%;height:100%}.new-feature{padding-bottom:0px}.prompting{width:212px;padding:8px}.check-gallery{margin-top:7px}}@media screen and (max-width:800px){.genius-mode-popup-description{font-size:20px}.prompting{bottom:37%}}@media screen and (max-width:700px){main .imageShapeButton{margin:18px}.new-feature{width:75vw;height:auto;padding:40px}.genius-mode-title{width:100%;height:auto}.exit-feature{top:12px;right:14px;margin-bottom:8px}.genius-mode-header{font-size:12px}.featured-sparkle{display:none}.featured-images{width:100%;height:auto;font-size:24px}.featured-modals{margin-bottom:-18px}.tier-images{margin-bottom:17px;width:100%}.try-now-btn{height:42px;white-space:nowrap;background-color:#8f37ff;color:white;border:none;width:100%;font-size:14px;font-weight:400;padding:0px;margin-bottom:12px;margin-top:-8px}.genius-mode-popup-description{font-weight:400;font-size:16px;margin-bottom:26px;margin-top:-12px}.prompting{position:relative;display:flex;bottom:86px;margin:auto;height:16px;font-size:12px;left:auto;align-items:center;width:242px;padding:12px}.genius-mode-title{font-size:24px}.dolphin-one,.dolphin-two{display:none}.terms{font-size:10px}section.three{padding-top:0px;margin-top:0px}section.three .inner-content{padding:16px;padding-top:0px}}@media screen and (max-height:670px){.new-feature{padding:14px}.featured-images{margin-bottom:-14px}.tier-images{margin-bottom:7px;width:100%}.prompting{bottom:62px}}@media screen and (max-width:670px){.extra-models-buttons{display:flex;flex-direction:column}.link{box-sizing:border-box;width:98%;padding:14px}.check-gallery-button{width:98%;display:flex;justify-content:center;align-items:center;margin:auto}.check-gallery{box-sizing:border-box;padding:14px;margin-bottom:0px;width:100%;margin-top:7px}}@media screen and (max-width:600px){.model-card{width:96%;box-shadow:none;border:none}main .try-it{padding-top:0px}main .imageShapeButton{margin:14px}section.three .inner-content{display:block}section.alternating-image-columns{display:block}section.code{font-size:12px;padding:0px;width:90%}.link{width:100%}.model-card-container{padding:0px}.model-card-col{padding-right:0px;padding-left:0px}main .info{padding:0px;width:98%}main .try-it .placeholder-image{padding-left:0px;width:100%;height:100%;margin-right:0px;margin-left:0px}main .image-models-container{display:flex;flex-direction:row;justify-content:center;align-items:center}main .description{display:none}}#download-button,#edit-button,#share-model-image,#edit-options{display:none}#edit-options[imagewasGenerated=True]{display:block;flex:1;padding:12px;font-size:16px;border:1px solid #323132;background-color:#ffffff08;border-radius:12px;color:white;font-size:16px;box-sizing:border-box;-webkit-appearance:none;appearance:none;-moz-appearance:none;appearance:none;background:url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="10" viewBox="0 0 14 10"><path fill="none" stroke="%23666" stroke-width="2" d="M1 1l6 6 6-6"/></svg>') no-repeat right 10px center;background-repeat:no-repeat;background-size:14px 14px;background-position:calc(100% - 16px)}#edit-button[imagewasGenerated=True]{display:block;padding:13px 19px;font-size:16px;border-radius:12px;border:none;white-space:nowrap;color:white;background:#8F37FF;cursor:pointer}#share-model-image[imagewasGenerated=True]{display:block;padding:13px 19px;font-size:16px;border-radius:12px;border:none;white-space:nowrap;color:white;background-color:#ffffff08;border:1px solid #323132;cursor:pointer}#download-button[imagewasGenerated=True]{display:block;border:1px solid #323132;background-color:#ffffff08;border-radius:12px;padding:8px;cursor:pointer}.search-replace-textbox{display:block;flex:1;padding:12px 15px;font-size:16px;border:1px solid #323132;background-color:#ffffff08;border-radius:12px;color:white;font-size:16px;box-sizing:border-box;width:100%;margin-bottom:8px}.model-input-text-input{margin-bottom:8px;background-color:#141028}@media screen and (max-width:450px){#modelHdButton{width:40%}#modelStandardButton{width:40%}#suboutline-try-it{flex-direction:column}a.button.api-select{width:10%}#primis-ads{width:100%}}@media screen and (max-width:420px){main .imageShapeButton{margin:7px}}@media screen and (max-width:350px){main h2,#modelEditButton,#modelIllusionsButton{font-size:16px}.all-other-models{font-size:14px;padding-right:0px}section.three .inner-content{padding:10px;padding-top:0px}}@media screen and (max-width:335px){textarea{margin:0px}.model-card-container{padding:0px}#other-model-links{flex-wrap:wrap;margin-right:10px}}@media screen and (max-width:320px){section.code{padding:0px}main .try-it .placeholder-image{padding-left:0px}section.three .inner-content{display:block}section.alternating-image-columns{display:block}}@media screen and (max-width:290px){.prompting{width:fit-content}.new-feature{margin-left:auto;width:80vw}}#paste-area{background-color:inherit;border:1px solid rgba(128,128,128,0.596);color:white;padding:5px 8px;border-radius:6px;cursor:pointer}.copy-paste{color:white;font-size:12px;position:absolute;bottom:15px;font-weight:normal}.subtext-caption{font-size:12px;color:rgba(128,128,128,0.596)}#model-submit-button-container{width:inherit;display:flex}#model-options-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:0;height:0;position:absolute;visibility:hidden}#model-all-options-container{width:inherit}#model-options-checkbox + label{display:none}@media screen and (max-width:600px){#model-all-options-container:not([showall]){display:none}#model-options-checkbox + label{display:inline-block;margin-left:5px;padding:10px 10px;background-color:#2b00ff;color:white;font-size:16px;font-weight:bold;border-radius:11px;cursor:pointer;user-select:none}#model-options-checkbox:checked + label{background-color:#0056b3}}</style>
<!-- Start Google Analytics Tag -->
<!-- Google tag (gtag.js) -->
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-GY2GHX2J9Y"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-GY2GHX2J9Y');
</script>
<!-- End Google Analytics Tag -->
<!-- Pushdown ad should be placed right after the opening <body> tag. Note: if you have a sticky navigation bar, you may need to update CSS to accommodate this ad type. -->
<!-- Tag ID: deepai.org_header -->
<script>
if (typeof user_paid_for_no_ads !== 'undefined') {
// the variable is defined
if(user_paid_for_no_ads){
// remove element "deepai.org_header" if it exists
var pushdown = document.getElementById("deepai.org_header");
if(pushdown){
// just remove the parent element
const parentMain = pushdown.parentNode;
if (parentMain){
parentMain.remove();
}
}
}
else {
try{
var headerAd = document.getElementById("deepai.org_header");
headerAd.setAttribute('style', 'height: 90px;');
}catch(err){
console.log("Error setting header ad height", err);
}
}
}
</script>
<!-- end pushdown tag -->
<header>
<style>
:root {
--white: rgba(255, 255, 255, 1);
--clear: rgba(255, 255, 255, 0.04);
--cod-gray: rgba(8, 8, 8, 1);
--cod-gray-2: rgba(9, 9, 9, 1);
--pink: #c549fe;
--purple: #7000ff;
--font-size-xxs: 24px;
--font-size-xs: 26px;
--font-size-s: 32px;
--font-size-m: 40px;
--font-size-l: 48px;
}
a.button {
display: flex;
flex-direction: row;
width: 35px;
padding: 5px 95px;
justify-content: center;
align-items: center;
gap: 10px;
border-radius: 12px;
font-size: 18px;
text-align: center;
font-style: normal;
}
.nav-items {
display: flex;
justify-content: space-between;
margin-top: 14px;
margin-left: 16px;
margin-right: 16px;
height: 45px;
}
.nav-buttons {
display: flex;
flex-direction: row;
}
.hidden-icon {
display: none;
}
.exit {
display: flex;
flex-direction: row;
position: relative;
justify-content: right;
right: 10px;
top: 10px;
cursor: pointer;
margin: 10px;
}
a.button.login, a.button.headerbutton {
z-index: 2;
width: fit-content;
background: transparent;
border: 1px solid transparent;
border-radius: 12px;
color: var(--white);
white-space: nowrap;
letter-spacing: 2%;
margin-right: 12px;
cursor: pointer;
transition: none;
padding: 5px 10px;
height: 32px;
margin-left: auto;
font-weight: 500;
font-size: 16px;
}
a.button.chatbutton,
a.button.imagebutton {
background: var(--clear);
border: none;
color: var(--white);
font-weight: bold;
letter-spacing: 2%;
margin-right: 12px;
transition: background 0.4s ease;
cursor: pointer;
backdrop-filter: blur(10px);
z-index: 2;
}
a.button.chatbutton,
a.button.imagebutton {
display: flex;
flex-direction: row;
width: 240px;
margin-right: 0px;
justify-content: space-around;
cursor: pointer;
backdrop-filter: blur(10px);
z-index: 2;
}
a.button.chatbutton:hover {
background: var(--purple);
}
a.button.imagebutton:hover {
background: var(--pink);
}
a.button.menu {
background: none;
border: none;
width: 24px;
padding: 0px;
cursor: pointer;
}
.menu-icon {
font-size: 30px;
font-weight: bold;
cursor: pointer;
vertical-align: middle;
}
.dropbtn {
color: white;
border-radius: 10px;
cursor: pointer;
background: transparent;
border: none;
margin: auto;
}
#userIconDrop {
display: none;
}
.usericon {
width: 75px;
height: 75px;
border-radius: 12px;
margin: auto 24px 12px 0px;
object-fit: cover;
}
.nav-profile-section {
display: flex;
flex-direction: row;
cursor: pointer;
justify-content: center;
padding-right: 20px;
}
.nav-usernames {
gap: 6px;
margin-bottom: 3px;
margin-bottom: 6px;
}
.nav-profilename {
margin: auto;
margin-bottom: 0px;
white-space: normal;
}
.nav-username {
margin: auto;
margin-top: 0px;
white-space: normal;
max-width: 170px;
overflow-wrap: break-word;
word-wrap: normal;
word-break: break-word;
font-size: 13px;
}
.nav-profile-button {
display: flex;
flex-direction: column;
background: #8f37ff;
border: none;
width: 77%;
font-family: inherit;
color: var(--white);
white-space: nowrap;
letter-spacing: 2%;
margin: auto;
padding: 12px;
margin: auto;
margin-top: 0px;
transition: background 0.2s ease;
cursor: pointer;
border-radius: 12px;
align-items: center;
font-size: 18px;
}
.profile-button:hover {
background: var(--pink);
}
#navProfileSection{
display: none;
}
#navProfileButton{
display: none;
}
.pages {
margin-bottom: 12px;
}
.menu-options {
font-size: 18px;
font-style: normal;
font-weight: 400;
line-height: 52px;
padding: 2px 0px;
}
.pages a {
display: flex;
flex-direction: column;
justify-content: space-around;
color: white;
text-decoration: none;
width: 77%;
margin: auto;
margin: 0px 10px;
padding: 0 0 0 46px;
}
.pages a:hover {
background-color: var(--clear);
border-radius: 12px;
width: auto;
}
.settings,
.logout {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
margin: 4px 4px 0 16px;
background: none;
border: none;
height: 52px;
font-size: 18px;
font-family: inherit;
color: white;
cursor: pointer;
width: 95%;
}
.logout {
width: auto;
padding: 0px 0px 0px 40px;
}
.menu-border {
border: 1px solid rgba(255, 255, 255, 0.13);
width: 100%;
height: auto;
}
@media screen and (max-width: 750px) {
a.button.musicgenerator {
display: none;
}
}
@media screen and (max-width: 620px) {
.hero h1 {
font-size: 76px;
}
.titlesparkle {
top: -55px;
height: 34%;
margin-left: -60px;
}
}
@media screen and (max-width: 600px) {
a.button.imagegenerator, a.button.musicgenerator {
display: none;
}
}
@media screen and (max-width: 500px) {
.nav-buttons {
justify-content: space-between;
width: 100%;
}
a.button.login, a.button.headerbutton {
font-size: 16px;
margin-right: 8px;
}
a.button.login {
display: none;
}
}
@media screen and (max-width: 420px) {
.hero h1 {
font-size: 56px;
}
.titlesparkle {
top: -40px;
margin-left: -55px;
}
a.button.headerbutton {
font-size: 13px;
margin-right: 6px;
}
}
@media screen and (max-width: 345px) {
.hero h1 {
font-size: 48px;
}
.titlesparkle {
top: -40px;
margin-left: -52px;
}
a.button.headerbutton {
font-size: 12px;
margin-right: 2px;
padding: 5px 5px;
}
}
@media screen and (max-width: 300px) {
.nav-buttons {
justify-content: flex-end;
width: 100%;
}
a.button.videogenerator, a.button.musicgenerator {
display: none;
}
a.button.aichat {
font-size: 14px;
}
}
</style>
<div class="nav-items">
<a class="logo-link" href="/">
<svg width="45" height="45" viewBox="0 0 45 45" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="45" height="45" rx="12" fill="white" fill-opacity="0.04"></rect>
<path d="M13.4781 27.6456V24.5259H10.5015V27.5763H13.4781V27.6456Z" fill="white"></path>
<path d="M33.9079 25.8433C33.8402 26.1899 33.7049 26.6058 33.5696 26.9525C33.5696 27.0218 33.502 27.0911 33.502 27.1605C33.2314 27.8537 32.8931 28.4777 32.5549 29.1016C32.2166 29.5869 31.8784 30.0722 31.5401 30.4881C31.3372 30.6961 31.2019 30.9041 30.9989 31.1121L31.0666 31.0428C30.796 31.3201 30.5254 31.5974 30.1871 31.8747C30.0518 32.0133 29.8489 32.0827 29.7136 32.2213C29.6459 32.2213 29.5783 32.2906 29.5783 32.2906C29.1724 32.5679 28.7665 32.7759 28.2929 32.9839C27.7517 33.2612 27.1429 33.4692 26.534 33.6078C25.9252 33.7465 25.2487 33.8851 24.6398 33.9545C23.8957 34.0238 23.1515 34.0238 22.3397 33.8851C18.8895 33.3999 15.9806 31.3894 14.2217 28.6163C14.6276 29.1016 15.0335 29.5176 15.507 29.8642C16.3188 30.4881 17.2659 30.9734 18.3483 31.1814C18.8219 31.3201 19.3631 31.3201 19.8366 31.3201C19.9719 31.3201 20.1072 31.3201 20.2425 31.3201C20.9867 31.3201 21.7309 31.1814 22.4074 30.9041C22.5427 30.8348 22.6103 30.8348 22.7456 30.7654C22.9486 30.6961 23.2192 30.5575 23.4221 30.4881C23.4898 30.4881 23.4898 30.4188 23.5574 30.4188C25.6546 29.2403 27.2105 27.1605 27.4811 24.526C27.5488 24.0408 27.5488 23.4861 27.5488 23.0009C29.443 23.0009 30.9989 24.1794 31.8107 25.7739C31.8784 25.9819 31.946 26.1899 32.0137 26.3979C32.0137 26.2592 32.0137 26.1899 32.0137 26.0512C32.0137 25.4966 31.946 25.0113 31.8784 24.4567C31.2019 20.7824 28.0223 18.0787 24.2339 18.0787C23.7604 18.0787 23.3545 18.148 22.8809 18.2173C22.8809 18.2173 22.8809 18.2173 22.8133 18.2173C21.4603 18.4253 20.5132 18.8413 19.0248 19.9505C18.416 20.3665 17.1983 21.4757 16.2512 22.3769C15.7776 22.8622 14.9658 22.3769 15.1011 21.6837C15.2364 21.0597 15.4394 20.3665 15.8453 19.6039C13.9511 16.9001 13.9511 13.9884 17.6718 11.4233C19.8366 9.89813 23.4221 9.48217 26.737 10.7301C28.7665 9.62083 31.6754 9.5515 34.3138 12.4632C34.5844 12.7405 34.3814 13.2258 33.9755 13.2258C33.2314 13.2258 32.2166 13.4338 31.4048 14.0577C31.4725 14.1271 31.5401 14.2657 31.6754 14.4044C34.855 18.7026 34.7873 22.7236 33.9079 25.8433Z" fill="white"></path>
</svg>
<!-- Lawyers want our name in the header so we can get our trademark reapproved -->
<p>DeepAI</p>
</a>
<div class="nav-buttons">
<a class="button headerbutton aichat" href="/chat">AI Chat</a>
<a class="button headerbutton imagegenerator" href="/machine-learning-model/text2img">AI Image Generator</a>
<a class="button headerbutton videogenerator" href="/video">AI Video</a>
<a class="button headerbutton musicgenerator" href="/music">AI Music Generator</a>
<a class="button login" id="headerLoginButton" onclick="openLogin()">Login</a>
<nav>
<ul>
<li class="dropdown">
<button class="drop-menu-button" id="dropMenuButton">
<img src="/static/images/HiUser.svg" class="menu-icon dropbtn" id="userIconDrop" loading="lazy">
<img src="/static/images/IoMenu.svg" class="menu-icon dropbtn" id="sandwichIconDrop" loading="lazy">
</button>
<ul id="mainNavDropdown">
<div class="exit">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M11.9997 10.586L16.9497 5.63599L18.3637 7.04999L13.4137 12L18.3637 16.95L16.9497 18.364L11.9997 13.414L7.04974 18.364L5.63574 16.95L10.5857 12L5.63574 7.04999L7.04974 5.63599L11.9997 10.586Z" fill="white"></path>
</svg>
</div>
<div id="navProfileSection" class="nav-profile-section">
<img class="usericon" id="navUserAvatar" alt="avatar" loading="lazy" onclick="window.location.replace('/dashboard/profile')" src="/static/images/dolphin-icon.jpeg">
<div class="nav-usernames">
<p class="nav-profilename" id="navUserName"></p>
<p class="nav-username" id="navUserEmail"></p>
</div>
</div>
<button id="navProfileButton" class="button nav-profile-button" onclick="window.location.replace('/dashboard/profile')">View Profile</button>
<div class="menu-options">
<div class="pages">
<a href="/machine-learning-model/text2img" class="ai-generators">AI Image Generator</a>
<a href="/video" class="ai-generators">AI Video Generator</a>
<a href="/music" class="ai-generators">AI Music Generator</a>
<a href="/chat" class="ai-generators">AI Chat</a>
<a href="/pricing" class="pricing">Pricing</a>
<a href="/definitions" class="glossary">Glossary</a>
<a href="/docs" class="apidocs">Docs</a>
</div>
<div class="menu-settings">
<div class="menu-border"></div>
<button id="login-button-dropdown" onclick="openSignup()" class="logout">
Login
</button>
</div>
</div>
</ul>
</li>
</ul>
</nav>
</div>
</div>
</header>
<script>
// opt out of header if the screen is < 1000px wide
if(window.innerWidth < 1000){
var pushdown = document.getElementById("deepai.org_header");
if(pushdown){
// just remove the parent element
const parentMain = pushdown.parentNode;
if (parentMain){
parentMain.remove();
}
}
}
</script>
<dialog id="genius-images-modal" class="genius-images-modal">
<div class="new-feature">
<div id="close-genius-images" type="button" class="exit-feature">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M11.9997 10.586L16.9497 5.63599L18.3637 7.04999L13.4137 12L18.3637 16.95L16.9497 18.364L11.9997 13.414L7.04974 18.364L5.63574 16.95L10.5857 12L5.63574 7.04999L7.04974 5.63599L11.9997 10.586Z" fill="white"></path>
</svg>
</div>
<div class="genius-mode-title">
<p class="genius-mode-header">Introducing</p>
Genius Images <img src="/static/images/sparkle-title.svg" alt="sparkle" class="title-section-sparkle featured-sparkle" loading="lazy">
<p></p>
<p class="genius-mode-popup-description">
Genius images have more detail, more artistic quality, and follow your instructions in the prompt better than ever before!
</p>
<div class="featured-modals">
<div class="featured-images dolphin-one"><img src="/static/images/dolphin1.svg" loading="lazy" alt="genius-image" class="tier-images">Standard</div>
<div class="featured-images dolphin-two"><img src="/static/images/dolphin2.svg" loading="lazy" alt="genius-image" class="tier-images">HD</div>
<div class="featured-images"><img src="/static/images/dolphin3.svg" loading="lazy" alt="genius-image" class="tier-images">Genius</div>
</div>
<div class="prompting">A dolphin surfing a wave on a bike using a phone with a hat on</div>
<button class="button try-now-btn" onclick="openSubscribeFromGenius('image')">Try now</button>
<div class="terms">
Exclusively for our DeepAI PRO Members. Join today.
</div>
</div>
</div>
</dialog>
<main>
<h1 id="current-model-name">AI Image Generator</h1>
<div class="description"><p>This is an AI Image Generator. It creates an image from scratch from a text description.</p></div>
<!-- PLACE THIS SECTION INSIDE OF YOUR BODY TAGS -->
<!-- Tag ID: primis-ads -->
<script>
if(user_paid_for_no_ads){
// remove element "primis-ads" if it exists
var pushdown = document.getElementById("primis-ads");
if(pushdown){
pushdown.remove();
}
}
// also remove primis if the screen is < 1000px wide
if(window.innerWidth < 1000){
var pushdown = document.getElementById("primis-ads");
if(pushdown){
pushdown.remove();
}
}
</script>
<div class="try-it">
<div class="model-card">
<div class="model-card-container">
<div class="model-card-col image-input">
<span class="model-input-col">
<div class="outline-try-it">
<h2 class="create-image-header">Create an image from text prompt</h2>
</div>
<textarea class="model-input-text-input dynamic-border" placeholder="Enter your prompt or just click generate to get inspired" name="text"></textarea>
<div id="model-submit-button-container">
<button id="modelSubmitButton" type="button" onclick="textModelSubmit()">Generate</button>
<input type="checkbox" id="model-options-checkbox" onclick="toggleShowAllOptions(event)">
<label for="model-options-checkbox">Options</label>
</div>
</span>
<div class="options-border"></div>
<div class="outline-try-it">
<h2>Choose a model</h2>
</div>
<div id="model-all-options-container">
<div class="image-models-container">
<button id="modelStandardButton" type="button" onclick="highlightAndSelectGenerator('modelStandardButton')" style="background: rgb(143, 55, 255);">Standard</button>
<button id="modelHdButton" type="button" onclick="highlightAndSelectGenerator('modelHdButton')">HD</button>
<button id="modelGeniusModeButton" locked="true" type="button" onclick="highlightAndSelectGenerator('modelGeniusModeButton')" style="position:relative;"><img id="imageGeniusLockedIcon" src="/static/images/lock-icon.png" alt="locked">Genius</button>
</div>
<div class="outline-try-it model-priority">
<h2>Preference</h2>
</div>
<div class="image-models-priority-container" id="standard-image-preference" style="display: flex;">
<button id="modelTurboButton" type="button" onclick="highlightAndSelectPreference('modelTurboButton')" style="background: rgb(143, 55, 255);">Speed</button>
<button id="modelQualityButton" type="button" onclick="highlightAndSelectPreference('modelQualityButton')">Quality</button>
</div>
<div class="image-models-preference-container" id="genius-image-preference" style="display: none;">
<button id="modelClassButton" type="button" onclick="highlightAndSelectGeniusPreference('modelClassButton')" style="background: rgb(143, 55, 255);">Classic</button>
<button id="modelAnimeButton" type="button" onclick="highlightAndSelectGeniusPreference('modelAnimeButton')">Anime</button>
<button id="modelPhotoButton" type="button" onclick="highlightAndSelectGeniusPreference('modelPhotoButton')">Photography</button>
<button id="modelCinemaButton" type="button" onclick="highlightAndSelectGeniusPreference('modelCinemaButton')">Cinematic</button>
<button id="modelHyperRealButton" type="button" onclick="highlightAndSelectGeniusPreference('modelHyperRealButton')">Hyper Real</button>
<button id="modelGraphicsButton" type="button" onclick="highlightAndSelectGeniusPreference('modelGraphicsButton')">Graphic Design</button>
</div>
<div class="options-border-with-checkbox">
<div id="old-model-checkbox-container" style="position: absolute; color: white; top: -10px; left: 95px; user-select: none; display: block;">
<input type="checkbox" id="model-old-style-checkbox" name="model-old-style-checkbox" onclick="toggleOldModel()">
<label for="model-old-style-checkbox">Use Old Model</label>
</div>
</div>
<div class="outline-try-it" id="styles-header">
<h2>Choose a style</h2>
</div>
<div id="other-model-links">
<a class="other-model-button" href="/machine-learning-model/text2img" iscurrentmodel="True">
<img class="model-icon" src="https://images.deepai.org/machine-learning-models/d2afc7b3120645308ced92110fac77ae/text2img-thumb.jpg" alt="AI Image Generator">
</a>
<a class="other-model-button" href="/machine-learning-model/cute-creature-generator" iscurrentmodel="False">
<img class="model-icon" src="https://images.deepai.org/machine-learning-models/50c039053c6941528c5522e8db312af4/cute-creature-generator-thumb.jpg" alt="Cute Creature Generator">
</a>
<a class="other-model-button" href="/machine-learning-model/fantasy-world-generator" iscurrentmodel="False">
<img class="model-icon" src="https://images.deepai.org/machine-learning-models/b529aefa83d842f080c0149cab9ed496/fantasy-world-generator-thumb.jpg" alt="Fantasy World Generator">
</a>
<a class="other-model-button" href="/machine-learning-model/cyberpunk-generator" iscurrentmodel="False">
<img class="model-icon" src="https://images.deepai.org/machine-learning-models/ab8cfbb6e29f41ad9316302a079ff715/cyberpunk-generator-thumb.jpg" alt="Cyberpunk Generator">
</a>
<a class="other-model-button" href="/machine-learning-model/anime-portrait-generator" iscurrentmodel="False">
<img class="model-icon" src="https://images.deepai.org/machine-learning-models/1497856e7828430aa26fdaf073a08c92/anime-portrait-generator-thumb.jpg" alt="Anime Portrait Generator">
</a>
</div>
<a class="all-other-models" href="/styles">
View all +100 styles
</a>
<div class="options-border"></div>
<div class="edit-buttons-container">
<button id="modelEditButton" type="button" onclick="showShapeOptions()">Choose Shape<img class="downarrow" src="/static/images/down-arrow.svg"></button>
<div id="suboutline-try-it" style="display: none;">
<div id="shape-row">
<div class="imageShapeButton first-shape" onclick="selectShape(1)" id="edit_shape_1">
</div>
<div class="imageShapeButton second-shape" onclick="selectShape(2)" id="edit_shape_2" style="display: block;">
</div>
<div class="imageShapeButton third-shape" onclick="selectShape(3)" id="edit_shape_3">
</div>
<div class="imageShapeButton fourth-shape" onclick="selectShape(4)" id="edit_shape_4" style="display: block;">
</div>
<div class="imageShapeButton fifth-shape" onclick="selectShape(5)" id="edit_shape_5">
</div>
</div>
</div>
<div class="options-border"></div>
</div>
</div>
</div>
<div class="model-card-col image-output">
<div id="progressContainer">
<div id="deepaiProgressBar"> </div>
</div>
<h2 class="try-it-result-error" id="tryItResultError"></h2>
<div class="try-it-result-area" id="place_holder_picture_model">
<!-- The try it results will replace the contents of this div... -->
<img class="placeholder-image" src="https://images.deepai.org/machine-learning-models/337e9a4fd9ff4552ae72c4943aea2b7a/image-gen-loading.svg">
</div>
<div class="edit-buttons-container">
<div class="extra-models-buttons" id="edit-options-container">
<button id="download-button" onclick="download_image()" imagewasgenerated="False">
<img src="/static/images/download-icon.svg" class="download-icon">
</button>
<select name="edit-options" id="edit-options" onchange="handleImageOptionChange()" imagewasgenerated="False">
<option value="default">Select an image editing option</option>
<option value="enhance">Enhance</option>
<option value="remove-bg">Remove Background</option>
<option value="animate">Animate</option>
<option value="zoom-out">Zoom Out/Expand Image</option>
</select>
<button id="edit-button" onclick="handleImageOptionSubmit()" imagewasgenerated="False">Edit</button>
<button id="share-model-image" type="button" onclick="shareImage()" imagewasgenerated="False">Share</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="main-list" class="main-list" style="position: relative; width: 200px; height: 0px;">
</div>
<div id="infinite-scroll-loading"></div>
<div class="info">
<div class="grid-title">Recently generated images:</div>
<div class="card">
<div class="grid" id="recent-image" style="position: relative; width: 207px; height: 0px;"></div>
</div>
</div>
<a href="/dashboard/images" class="link">View All Images →</a>
</main>
<h5 class="check-gallery-button"><a href="/art" class="check-gallery">See what AI Art other users are creating!</a></h5>
<div class="api-docs-bottom">
<section id="api-docs" class="three">
<div class="inner-content">
<div class="faq-section">
<p>Bring your imagination to life with our Free Online AI Image Generator. Simply type your ideas, and watch as they transform into captivating images in seconds. Whether you're a content creator, designer, or entrepreneur, our AI-powered tool helps you generate unique visuals tailored to your needs.</p>
<h2>Turn Words into Art with AI</h2>
<p>Our AI Image Generator uses advanced machine learning algorithms to convert text descriptions into high-quality images. From abstract concepts to detailed scenes, the possibilities are endless. Describe what you envision, and let our AI bring it to life.</p>
<h3>Features of Our AI Image Generator</h3>
<ul>
<li><strong>Multiple Styles and Modes:</strong> Choose from a variety of artistic styles like photorealistic, watercolor, abstract, fantasy, and more.</li>
<li><strong>Customization Options:</strong> Adjust colors, lighting, and composition to fine-tune your images.</li>
<li><strong>High-Resolution Output:</strong> Generate images suitable for web, print, or social media.</li>
<li><strong>User-Friendly Interface:</strong> No technical skills required—just enter your text prompt and select your preferences.</li>
</ul>
<h3>How to Use the AI Image Generator</h3>
<ol>
<li><strong>Enter Your Text Prompt:</strong> Start by typing a description of the image you want to create. Be as detailed or as simple as you like. Example: "A serene sunset over a mountain lake with reflection."</li>
<li><strong>Select Style and Settings:</strong> Choose an art style that matches your vision—Photorealistic, Illustration, Abstract, Fantasy, or Modern Art. Adjust settings like color palette, aspect ratio, and more to customize your image.</li>
<li><strong>Generate and Refine:</strong> Click "Generate Image" to see your creation. If you're not satisfied, tweak your prompt or settings and try again.</li>
<li><strong>Download and Share:</strong> Once you're happy with your image, download it in your preferred format or share it directly on social media.</li>
</ol>
<h2>Why Use Our AI Image Generator?</h2>
<ul>
<li><strong>For Content Creators:</strong> Enhance your blogs, articles, and social media posts with unique visuals that grab attention.</li>
<li><strong>For Designers:</strong> Quickly prototype ideas or generate inspiration for your next project without starting from scratch.</li>
<li><strong>For Entrepreneurs:</strong> Create eye-catching graphics for ads, presentations, and promotional materials effortlessly.</li>
</ul>
<h3>Tips for Creating Amazing AI-Generated Images</h3>
<ul>
<li><strong>Be Specific:</strong> The more details you include, the better the AI understands your request.</li>
<li><strong>Experiment with Styles:</strong> Try different art styles to see which one best suits your needs.</li>
<li><strong>Use Descriptive Keywords:</strong> Words like "digital art," "oil painting," or "minimalist" can influence the style.</li>
<li><strong>Adjust Settings:</strong> Customize color filters, lighting, and aspect ratios for a unique touch.</li>
</ul>
<p>Unleash your creativity and start generating stunning images today!</p>
<div class="faq-title" style="font-size:30px">Frequently Asked Questions</div>
<div class="faq-border faq-top-border"></div>
<div class="question">Is commercial use allowed?</div>
<div class="answer">Yes, commercial use is permitted for the generated images. You may utilize these images for any legal purposes. For full details, please refer to our <a href="https://deepai.org/terms-of-service/terms-of-service" class="faq-terms">Terms of Service</a>.</div>
<div class="faq-border"></div>
<div class="question">Can I use the generated images for NFTs?</div>
<div class="answer">Yes, they can be used for NFTs.</div>
<div class="faq-border"></div>
<div class="question">Is there an API available?</div>
<div class="answer">Yes! To access all available APIs, please check our documentation <a href="/docs" class="faq-terms docs-link">here</a>.</div>
<div class="faq-border"></div>
<div class="question">Who owns the output?</div>
<div class="answer">The generated images are considered public domain and hence, they have no owner.</div>
<div class="faq-border"></div>
<div class="question">Is there a copyright on the output?</div>
<div class="answer">The images generated by the AI are not subject to copyright.</div>
<div class="faq-border"></div>
<div class="question">Can I get higher resolution or higher quality images?</div>
<div class="answer">Currently, we do not offer images in higher resolutions or qualities. The available quality will improve over time.</div>
<div class="faq-border"></div>
<div class="question">Is the quality of the images suitable for printing?</div>
<div class="answer">The quality is generally sufficient for printing smaller images. However, larger prints might appear blurry.</div>
<div class="faq-border"></div>
</div>
</div>
</section>
<dialog id="signup-modal">
<div class="modal-body">
</div>
<button id="close" class="close" type="button">×</button>
</dialog>
<dialog id="login-modal" class="login-container">
<div id="close-login" type="button" class="login-exit">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M11.9997 10.586L16.9497 5.63599L18.3637 7.04999L13.4137 12L18.3637 16.95L16.9497 18.364L11.9997 13.414L7.04974 18.364L5.63574 16.95L10.5857 12L5.63574 7.04999L7.04974 5.63599L11.9997 10.586Z" fill="white"></path>
</svg>
</div>
<div style="width: 95%;">
<h2 class="login-header" id="login-header-title">Login</h2>
<p class="please-subheader">
Please sign up or login with your details
</p>
<div class="options-container">
<div class="option login-active active" id="loginToggle" onclick="toggleAuthOption('login')">
Login
</div>
<div class="option signup" id="signupToggle" onclick="toggleAuthOption('signup')">
Sign up
</div>
</div>
<button class="signin-with-google" id="social-auth-google" onclick="social_login(event, 'google')">
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M32 16C32 7.16344 24.8366 0 16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32C24.8366 32 32 24.8366 32 16Z" fill="white"></path>
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.8299 16.1823C23.8299 15.615 23.779 15.0695 23.6845 14.5459H16.1499V17.6405H20.4554C20.2699 18.6405 19.7063 19.4877 18.859 20.055V22.0623H21.4445C22.9572 20.6695 23.8299 18.6186 23.8299 16.1823Z" fill="#4285F4"></path>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.1496 23.9995C18.3096 23.9995 20.1205 23.2832 21.4442 22.0614L18.8587 20.0541C18.1423 20.5341 17.226 20.8177 16.1496 20.8177C14.066 20.8177 12.3023 19.4104 11.6732 17.5195H9.00049V19.5923C10.3169 22.2068 13.0223 23.9995 16.1496 23.9995Z" fill="#34A853"></path>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.6735 17.52C11.5135 17.04 11.4226 16.5272 11.4226 16C11.4226 15.4727 11.5135 14.96 11.6735 14.48V12.4072H9.00081C8.45899 13.4872 8.1499 14.709 8.1499 16C8.1499 17.2909 8.45899 18.5127 9.00081 19.5927L11.6735 17.52Z" fill="#FBBC05"></path>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.1496 11.1818C17.3241 11.1818 18.3787 11.5855 19.2078 12.3782L21.5023 10.0836C20.1169 8.79273 18.306 8 16.1496 8C13.0223 8 10.3169 9.79273 9.00049 12.4073L11.6732 14.48C12.3023 12.5891 14.066 11.1818 16.1496 11.1818Z" fill="#EA4335"></path>
</svg>
Continue with Google
</button>
<button class="signin-with-github" id="social-auth-github" onclick="social_login(event, 'github')">
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 16C0 24.8366 7.16344 32 16 32C24.8366 32 32 24.8366 32 16C32 7.16344 24.8366 0 16 0C7.16344 0 0 7.16344 0 16Z" fill="#121212"></path>
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.9755 8.192C11.5719 8.192 8 11.7639 8 16.1675C8 19.6905 10.2997 22.6752 13.4312 23.7516C13.8226 23.8006 13.9694 23.5559 13.9694 23.3602C13.9694 23.1645 13.9694 22.6752 13.9694 21.9902C11.7676 22.4795 11.2783 20.9137 11.2783 20.9137C10.9358 19.984 10.3976 19.7394 10.3976 19.7394C9.66361 19.2501 10.4465 19.2501 10.4465 19.2501C11.2294 19.299 11.6697 20.0819 11.6697 20.0819C12.4037 21.3052 13.5291 20.9626 13.9694 20.7669C14.0183 20.2287 14.263 19.8862 14.4587 19.6905C12.6972 19.4948 10.8379 18.8097 10.8379 15.7272C10.8379 14.8464 11.1315 14.1614 11.6697 13.5743C11.6208 13.4275 11.3272 12.5957 11.7676 11.5192C11.7676 11.5192 12.4526 11.3235 13.9694 12.351C14.6055 12.1553 15.2905 12.1064 15.9755 12.1064C16.6606 12.1064 17.3456 12.2042 17.9817 12.351C19.4985 11.3235 20.1835 11.5192 20.1835 11.5192C20.6239 12.5957 20.3303 13.4275 20.2813 13.6232C20.7706 14.1614 21.1131 14.8954 21.1131 15.7761C21.1131 18.8587 19.2538 19.4948 17.4924 19.6905C17.7859 19.9351 18.0306 20.4244 18.0306 21.1584C18.0306 22.2348 18.0306 23.0666 18.0306 23.3602C18.0306 23.5559 18.1774 23.8006 18.5688 23.7516C21.7492 22.6752 24 19.6905 24 16.1675C23.9511 11.7639 20.3792 8.192 15.9755 8.192Z" fill="white"></path>
</svg>
Continue with GitHub
</button>
<div class="email-container" id="email-container-id">
<svg class="email-icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M22 6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6ZM20 6L12 11L4 6H20ZM20 18H4V8L12 13L20 8V18Z" fill="#7D7D7D"></path>
</svg>
<input class="input-email" id="user-email" type="text" placeholder="Enter valid email address" name="email" onkeypress="authKeyPressHandler(event)">
</div>
<div class="password-container" id="password-container-id">
<svg class="lock-icon" xmlns="http://www.w3.org/2000/svg" width="27" height="24" viewBox="0 0 24 24" fill="none">
<path d="M12 17C13.1 17 14 16.1 14 15C14 13.9 13.1 13 12 13C10.9 13 10 13.9 10 15C10 16.1 10.9 17 12 17ZM18 8H17V6C17 3.24 14.76 1 12 1C9.24 1 7 3.24 7 6V8H6C4.9 8 4 8.9 4 10V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V10C20 8.9 19.1 8 18 8ZM8.9 6C8.9 4.29 10.29 2.9 12 2.9C13.71 2.9 15.1 4.29 15.1 6V8H8.9V6ZM18 20H6V10H18V20Z" fill="#7D7D7D"></path>
</svg>
<input class="input-password" id="user-password" type="password" placeholder="Enter your password" name="password" onkeypress="authKeyPressHandler(event)">
</div>
<div class="reenter-password-container" id="reenter-password-container-id">
<svg class="lock-icon" xmlns="http://www.w3.org/2000/svg" width="27" height="24" viewBox="0 0 24 24" fill="none">
<path d="M12 17C13.1 17 14 16.1 14 15C14 13.9 13.1 13 12 13C10.9 13 10 13.9 10 15C10 16.1 10.9 17 12 17ZM18 8H17V6C17 3.24 14.76 1 12 1C9.24 1 7 3.24 7 6V8H6C4.9 8 4 8.9 4 10V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V10C20 8.9 19.1 8 18 8ZM8.9 6C8.9 4.29 10.29 2.9 12 2.9C13.71 2.9 15.1 4.29 15.1 6V8H8.9V6ZM18 20H6V10H18V20Z" fill="#7D7D7D"></path>
</svg>
<input class="input-password" id="confirm-user-password" type="password" placeholder="Re-enter your password" name="password">
<path d="M10.125 10.5C10.0757 10.5001 10.0269 10.4905 9.98145 10.4716C9.93595 10.4527 9.89464 10.425 9.8599 10.3901L1.6099 2.14013C1.54254 2.06923 1.50555 1.97482 1.5068 1.87704C1.50805 1.77925 1.54745 1.68582 1.6166 1.61667C1.68575 1.54752 1.77918 1.50812 1.87697 1.50687C1.97475 1.50561 2.06916 1.54261 2.14006 1.60997L10.3901 9.85997C10.4425 9.91241 10.4782 9.97922 10.4926 10.0519C10.5071 10.1247 10.4996 10.2 10.4713 10.2685C10.4429 10.337 10.3949 10.3956 10.3332 10.4368C10.2716 10.478 10.1991 10.5 10.125 10.5V10.5ZM5.99201 9.00005C5.01959 9.00005 4.08185 8.71223 3.20482 8.14458C2.40631 7.62895 1.68748 6.89044 1.12592 6.01177V6.00989C1.59326 5.34028 2.10514 4.77403 2.65498 4.31747C2.65995 4.31331 2.66401 4.30817 2.66689 4.30236C2.66978 4.29655 2.67143 4.29021 2.67174 4.28374C2.67204 4.27726 2.67101 4.27079 2.66869 4.26474C2.66637 4.25868 2.66282 4.25317 2.65826 4.24856L2.19139 3.78239C2.18309 3.77403 2.17195 3.76909 2.16018 3.76857C2.14841 3.76805 2.13687 3.77198 2.12787 3.77958C1.54381 4.27177 1.0017 4.87552 0.508807 5.58239C0.424007 5.7041 0.377304 5.84828 0.374633 5.99659C0.371962 6.14491 0.413444 6.29067 0.493807 6.41536C1.11279 7.38403 1.90943 8.19989 2.79724 8.77434C3.79685 9.42192 4.87264 9.75005 5.99201 9.75005C6.59622 9.74817 7.19615 9.64861 7.76857 9.4552C7.77612 9.45264 7.7829 9.4482 7.78825 9.44229C7.79361 9.43638 7.79737 9.4292 7.79917 9.42143C7.80098 9.41367 7.80077 9.40557 7.79858 9.3979C7.79638 9.39024 7.79227 9.38326 7.78662 9.37763L7.28084 8.87184C7.2692 8.86049 7.2548 8.85235 7.23906 8.84824C7.22332 8.84413 7.20678 8.84419 7.19107 8.84841C6.79937 8.94927 6.39649 9.00022 5.99201 9.00005V9.00005ZM11.504 5.59223C10.8839 4.63317 10.0793 3.81848 9.1774 3.23606C8.17967 2.59106 7.0781 2.25005 5.99201 2.25005C5.39421 2.25111 4.80084 2.35276 4.23678 2.55075C4.22926 2.55337 4.22253 2.55785 4.21723 2.56378C4.21193 2.56972 4.20822 2.5769 4.20647 2.58466C4.20471 2.59242 4.20495 2.6005 4.20718 2.60814C4.20941 2.61578 4.21354 2.62273 4.2192 2.62833L4.72428 3.13341C4.73603 3.14496 4.75063 3.15322 4.7666 3.15733C4.78256 3.16145 4.79933 3.16128 4.81521 3.15684C5.19888 3.05306 5.59456 3.00034 5.99201 3.00005C6.94568 3.00005 7.8806 3.29138 8.77053 3.86723C9.58404 4.39223 10.3113 5.13005 10.8743 6.00005C10.8747 6.00058 10.8749 6.00124 10.8749 6.00192C10.8749 6.0026 10.8747 6.00326 10.8743 6.0038C10.4656 6.64714 9.95851 7.22234 9.37146 7.70841C9.36644 7.71255 9.36233 7.71769 9.3594 7.72351C9.35647 7.72933 9.35479 7.7357 9.35446 7.7422C9.35413 7.74871 9.35516 7.75521 9.35748 7.7613C9.3598 7.76738 9.36337 7.77292 9.36795 7.77755L9.83435 8.24372C9.84261 8.25205 9.85369 8.25699 9.8654 8.25755C9.87712 8.25812 9.88862 8.25427 9.89764 8.24677C10.5244 7.71907 11.0669 7.0988 11.5064 6.40739C11.5841 6.28555 11.6252 6.14397 11.6247 5.99947C11.6243 5.85497 11.5824 5.71363 11.504 5.59223V5.59223Z" fill="#7D7D7D">
<path d="M5.99999 3.75C5.83145 3.74991 5.66344 3.76878 5.49913 3.80625C5.49083 3.80797 5.48315 3.81192 5.47691 3.81766C5.47068 3.8234 5.46611 3.83072 5.46371 3.83885C5.4613 3.84698 5.46115 3.8556 5.46326 3.86381C5.46537 3.87202 5.46966 3.87951 5.47569 3.88547L8.11452 6.52359C8.12048 6.52962 8.12796 6.53392 8.13617 6.53603C8.14438 6.53814 8.15301 6.53798 8.16114 6.53558C8.16927 6.53317 8.17659 6.52861 8.18233 6.52237C8.18807 6.51613 8.19201 6.50846 8.19374 6.50016C8.26887 6.17063 8.26879 5.82842 8.19353 5.49893C8.11826 5.16944 7.96973 4.86114 7.75897 4.59692C7.54821 4.33271 7.28064 4.11937 6.97612 3.97275C6.6716 3.82613 6.33796 3.74999 5.99999 3.75V3.75ZM3.88545 5.47641C3.87949 5.47038 3.87201 5.46608 3.8638 5.46397C3.85559 5.46186 3.84696 5.46202 3.83883 5.46443C3.83071 5.46683 3.82338 5.47139 3.81764 5.47763C3.8119 5.48387 3.80796 5.49154 3.80624 5.49984C3.72124 5.87118 3.73191 6.25801 3.83725 6.62409C3.9426 6.99017 4.13916 7.32351 4.40852 7.59287C4.67788 7.86223 5.01122 8.0588 5.3773 8.16414C5.74338 8.26948 6.13022 8.28015 6.50155 8.19516C6.50985 8.19343 6.51753 8.18949 6.52376 8.18375C6.53 8.17801 6.53456 8.17069 6.53697 8.16256C6.53937 8.15443 6.53953 8.1458 6.53742 8.13759C6.53531 8.12938 6.53101 8.1219 6.52499 8.11594L3.88545 5.47641Z" fill="#7D7D7D">
</path></path></div>
<p id="user-email-error" class="bad-auth-error"></p>
<button class="button login-with-email" id="switch-to-email" onclick="authOptions('moreOptions')">Or login with email</button>
<button class="button login-email" id="login-via-email-id" onclick="login(event)">Login</button>
<a class="forgot-password" id="forgot-password">
Forgot password?
<span href="javascript:void();" onclick="resetPassword(event)" class="click-here">Click here to reset</span>
</a>
<button class="button goback" id="go-back-login" onclick="authOptions('lessOptions')">Go back</button>
</div>
</dialog>
<dialog id="subscription-modal">
<div id="subscription-pro-id" class="modal-small-subscription-container">
<div class="modal-subscriptions-container">
<h2 class="modal-pricing title-section">Pricing</h2>
<div class="modal-subscription-title-container">
<div class="modal-subscription-title" id="subscription-title-id">DeepAI</div>
<div class="modal-subscription-title pro-title" id="subscription-title-pro-id">PRO</div>
</div>
<div class="modal-subscriptions-subheader" id="subscriptions-subheader-id">DeepAI PRO member</div>
<div class="modal-subscription-price">
<div class="modal-price" id="subscription-price-id"> $4.99 </div>
<div class="modal-subscription-length" id="subscription-length-id">/month</div>
</div>
<button class="button modal-get-started" id="subscription-start-id" onclick="changePaymentModalState('start')">Get Started</button>
<div class="options-container membership-toggle" id="membership-toggle-id">
<div class="option member-active active" id="proToggle" onclick="toggleMembershipOption('pro')">
PRO
</div>
<div class="option member-active member-go" id="payGoToggle" onclick="toggleMembershipOption('go')">
Pay As You Go
</div>
</div>
<div class="modal-subscription-section" id="modal-subscription-section-id">
<div class="modal-overview-subscription-section">
<ul class="modal-overview">
<li class="modal-generation-overview">
<p class="modal-overview-title modal-value2">Generation Overview</p>
<p class="modal-overview-title">AI Generator calls</p>
<p class="modal-overview-title">AI Video Generator calls</p>
<p class="modal-overview-title">AI Chat messages</p>
<p class="modal-overview-title">Genius Mode messages</p>
<p class="modal-overview-title">Genius Mode images</p>
<p class="modal-overview-title">Genius Mode videos</p>
<p class="modal-overview-title">AD-free experience</p>
<p class="modal-overview-title">Private images</p>
</li>
</ul>
</div>
<ul class="modal-overview">
<li>
<p class="modal-value modal-value2" id="gen-calls-per" style="border: none;">Per month</p>
<p class="modal-value" id="gen-calls-value">500</p>
<p class="modal-value" id="video-calls-value">30</p>
<p class="modal-value" id="chat-calls-value">1750</p>
<p class="modal-value" id="genius-messages-value">60</p>
<p class="modal-value" id="genius-images-value">60</p>
<p class="modal-value" id="genius-videos-value">5</p>
<p class="modal-value">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="12" cy="12" r="12" fill="white"></circle>
<path d="M10.8333 13.8503L16.1953 8.48776L17.0207 9.3126L10.8333 15.5L7.12097 11.7877L7.94581 10.9628L10.8333 13.8503Z" fill="#2D3748"></path>
</svg>
</p>
<p class="modal-value">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="12" cy="12" r="12" fill="white"></circle>
<path d="M10.8333 13.8503L16.1953 8.48776L17.0207 9.3126L10.8333 15.5L7.12097 11.7877L7.94581 10.9628L10.8333 13.8503Z" fill="#2D3748"></path>
</svg>
</p>
</li>
</ul>
</div>
<div class="get-started-container" id="get-started-container-id">
<button class="button go-back-subscription" onclick="changePaymentModalState('back')">Go back</button>
<ul id="sub-terms-pro" class="sub-terms-pro-styling">
<li class="subscription-terms">Includes 500 AI images, 1750 chat messages, 30 videos, 60 Genius Mode messages, 60 Genius Mode images, and 5 Genius Mode videos per month. If you go over any of these limits, there is a $5 charge for each group. Extra Genius Mode videos cost $1 each.</li>
</ul>
<ul id="sub-terms-go" class="sub-terms-go-styling">
<li class="subscription-terms">Includes 100 AI images and 300 chat messages. Exceeding either limit requires reloading credits from $5 to $1000, paying only for what you use. Genius Mode videos are $1 each.</li>
</ul>
<div class="subscribe-to" id="subscribe-to-id">Subscribe to PRO using:</div>
<div class="payment-container" id="payment-container-pro">
<div class="options-container payment-options">
<div class="option stripe-pay-active active" id="stripeProToggle" onclick="togglePaymentOption('stripePro')">
Stripe
</div>
</div>
</div>
<div class="payment-container" id="payment-container-go">
<div class="options-container payment-options">
<div class="option stripe-pay-active active" id="stripeGoToggle" onclick="togglePaymentOption('stripeGo')">
Stripe
</div>
</div>
</div>
<div class="dropdown-payment-amount" id="modal-dropdown-payment-amount">
<div class="dataset">
<select id="addCreditsAmountSelect" class="dropdown-select dropdown-input-amount" name="chooseAmount">
<option disabled="" selected="" value="5">$5.00 USD</option>
<option value="5">$5.00 USD</option>
<option value="10">$10.00 USD</option>
<option value="20">$20.00 USD</option>
<option value="50">$50.00 USD</option>
<option value="100">$100.00 USD</option>
<option value="200">$200.00 USD</option>
<option value="500">$500.00 USD</option>
<option value="1000">$1000.00 USD</option>
</select>
<svg class="money-icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M11.8003 10.9C9.53031 10.31 8.80031 9.7 8.80031 8.75C8.80031 7.66 9.81031 6.9 11.5003 6.9C13.2803 6.9 13.9403 7.75 14.0003 9H16.2103C16.1403 7.28 15.0903 5.7 13.0003 5.19V3H10.0003V5.16C8.06031 5.58 6.50031 6.84 6.50031 8.77C6.50031 11.08 8.41031 12.23 11.2003 12.9C13.7003 13.5 14.2003 14.38 14.2003 15.31C14.2003 16 13.7103 17.1 11.5003 17.1C9.44031 17.1 8.63031 16.18 8.52031 15H6.32031C6.44031 17.19 8.08031 18.42 10.0003 18.83V21H13.0003V18.85C14.9503 18.48 16.5003 17.35 16.5003 15.3C16.5003 12.46 14.0703 11.49 11.8003 10.9Z" fill="#7D7D7D"></path>
</svg>
<svg class="dropdown-icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M16.59 8.58997L12 13.17L7.41 8.58997L6 9.99997L12 16L18 9.99997L16.59 8.58997Z" fill="white"></path>
</svg>
</div>
</div>
<button id="stripe-pro-button-container" class="modal-get-started" onclick="window.open(deepaiProLinkUrl, '_blank')">Subscribe</button>
<button id="stripe-go-button-container" onclick="window.open(deepaiAddCreditsLinkUrl, '_blank')" class="modal-get-started">Add Credits</button>
</div>
<a class="modal-see-full" href="/pricing">
See Full Pricing Page
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.8248 5.44998C3.64578 5.44998 3.47409 5.52109 3.34751 5.64768C3.22092 5.77427 3.1498 5.94595 3.1498 6.12498V13.775C3.1498 14.1476 3.4522 14.45 3.8248 14.45H11.4748C11.6538 14.45 11.8255 14.3789 11.9521 14.2523C12.0787 14.1257 12.1498 13.954 12.1498 13.775V10.175C12.1498 9.99595 12.2209 9.82427 12.3475 9.69768C12.4741 9.57109 12.6458 9.49998 12.8248 9.49998C13.0038 9.49998 13.1755 9.57109 13.3021 9.69768C13.4287 9.82427 13.4998 9.99595 13.4998 10.175V13.775C13.4998 14.312 13.2865 14.8271 12.9067 15.2069C12.5269 15.5866 12.0119 15.8 11.4748 15.8H3.8248C3.28774 15.8 2.77267 15.5866 2.39291 15.2069C2.01315 14.8271 1.7998 14.312 1.7998 13.775V6.12498C1.7998 5.58791 2.01315 5.07285 2.39291 4.69308C2.77267 4.31332 3.28774 4.09998 3.8248 4.09998H8.3248C8.50383 4.09998 8.67551 4.17109 8.8021 4.29768C8.92869 4.42427 8.9998 4.59595 8.9998 4.77498C8.9998 4.954 8.92869 5.12569 8.8021 5.25227C8.67551 5.37886 8.50383 5.44998 8.3248 5.44998H3.8248Z" fill="#C3CAD9"></path>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.57465 11.9777C5.63413 12.0436 5.706 12.097 5.78615 12.135C5.8663 12.1731 5.95316 12.1949 6.04176 12.1994C6.13036 12.2038 6.21897 12.1907 6.30252 12.1609C6.38606 12.131 6.4629 12.085 6.52865 12.0254L14.85 4.49605V7.02505C14.85 7.20407 14.9212 7.37576 15.0478 7.50235C15.1743 7.62893 15.346 7.70005 15.525 7.70005C15.7041 7.70005 15.8758 7.62893 16.0023 7.50235C16.1289 7.37576 16.2 7.20407 16.2 7.02505V2.97505C16.2 2.79603 16.1289 2.62434 16.0023 2.49775C15.8758 2.37116 15.7041 2.30005 15.525 2.30005H11.475C11.296 2.30005 11.1243 2.37116 10.9978 2.49775C10.8712 2.62434 10.8 2.79603 10.8 2.97505C10.8 3.15407 10.8712 3.32576 10.9978 3.45235C11.1243 3.57893 11.296 3.65005 11.475 3.65005H13.7727L5.62235 11.0246C5.55653 11.0841 5.50308 11.156 5.46505 11.2361C5.42703 11.3163 5.40517 11.4032 5.40074 11.4918C5.39631 11.5804 5.40939 11.669 5.43923 11.7525C5.46907 11.8361 5.51509 11.912 5.57465 11.9777Z" fill="#C3CAD9"></path>
</svg>
</a>
</div>
<button id="close-sub" class="close" type="button">×</button>
</div>
</dialog></div>
<dialog id="out-of-credits-modal">
<div class="modal-body out-of-credits-modal-body">
<div id="close-out-of-credits" type="button" class="out-credits-exit">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M11.9997 10.586L16.9497 5.63599L18.3637 7.04999L13.4137 12L18.3637 16.95L16.9497 18.364L11.9997 13.414L7.04974 18.364L5.63574 16.95L10.5857 12L5.63574 7.04999L7.04974 5.63599L11.9997 10.586Z" fill="white"></path>
</svg>
</div>
<div>
<h2 class="out-credits-header">Out of credits</h2>
<p class="please-subheader">
Refill your membership to continue using DeepAI
</p>
<div class="payment-container">
<div class="options-container">
<div class="option stripe-pay-active active" id="outstripeGoToggle" onclick="togglePaymentOption('stripeGo')">
Stripe
</div>
</div>
<div class="dropdown-payment-amount go-dropdown">
<div class="dataset">
<select id="outOfCreditsAmountSelect" class="dropdown-select dropdown-input-amount" name="chooseAmount">
<option disabled="" selected="">$5.00 USD</option>
<option value="5">$5.00 USD</option>
<option value="10">$10.00 USD</option>
<option value="20">$20.00 USD</option>
<option value="50">$50.00 USD</option>
<option value="100">$100.00 USD</option>
<option value="200">$200.00 USD</option>
<option value="500">$500.00 USD</option>
<option value="1000">$1000.00 USD</option>
</select>
<svg class="money-icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M11.8003 10.9C9.53031 10.31 8.80031 9.7 8.80031 8.75C8.80031 7.66 9.81031 6.9 11.5003 6.9C13.2803 6.9 13.9403 7.75 14.0003 9H16.2103C16.1403 7.28 15.0903 5.7 13.0003 5.19V3H10.0003V5.16C8.06031 5.58 6.50031 6.84 6.50031 8.77C6.50031 11.08 8.41031 12.23 11.2003 12.9C13.7003 13.5 14.2003 14.38 14.2003 15.31C14.2003 16 13.7103 17.1 11.5003 17.1C9.44031 17.1 8.63031 16.18 8.52031 15H6.32031C6.44031 17.19 8.08031 18.42 10.0003 18.83V21H13.0003V18.85C14.9503 18.48 16.5003 17.35 16.5003 15.3C16.5003 12.46 14.0703 11.49 11.8003 10.9Z" fill="#7D7D7D"></path>
</svg>
<svg class="dropdown-icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M16.59 8.58997L12 13.17L7.41 8.58997L6 9.99997L12 16L18 9.99997L16.59 8.58997Z" fill="white"></path>
</svg>
</div>
</div>
</div>
<button id="out-stripe-go-button-container" onclick="window.open(deepaiAddCreditsLinkUrl, '_blank')" class="button modal-get-started">Add Credits</button>
</div>
</div>
</dialog>
<dialog id="social-modal">
<div class="social-modal-body">
<p class="share-header">Share</p>
<p class="share-subheader">Share your generations with friends</p>
<div class="social-container">
<div class="social-icon">
<div class="icon-container x">
<a id="x-link" target="_blank">
<img src="/static/images/social-x-icon.svg">
</a>
<p class="social-name">X</p>
</div>
<div class="icon-container facebook">
<a id="facebook-link" target="_blank">
<img src="/static/images/social-facebook-icon.svg">
</a>
<p class="social-name">Facebook</p>
</div>
<div class="icon-container linkedin">
<a id="linkedin-link" target="_blank">
<img src="/static/images/social-linkedin-icon.svg">
</a>
<p class="social-name">Linkedin</p>
</div>
<div class="icon-container reddit">
<a id="reddit-link" target="_blank">
<img src="/static/images/social-reddit-icon.svg">
</a>
<p class="social-name">Reddit</p>
</div>
</div>
<div class="social-link-copy">
<input type="text" id="social-link-input" readonly="">
<button class="copy-button" onclick="navigator.clipboard.writeText(document.getElementById('social-link-input').value)">
<img src="/static/images/social-copy-icon.svg" alt="Copy">
</button>
</div>
</div>
</div>
<button id="close-social" class="close" type="button">×</button>
</dialog>
<footer>
<div class="footer-row">
<div class="leftfooter">
<a href="/">
<img src="/static/images/SmallFlops.svg" alt="flops">
<p>Deep AI, Inc. ©</p>
</a>
</div>
<div class="rightfooter">
<!-- Freestar / Sourcepoint CMP button -->
<!-- HTML for geo depending button -->
<button id="pmLink">Privacy Manager</button>
<a href="mailto:[email protected]" class="contact">Contact</a>
<a href="/press" class="press">Press</a>
<a href="/terms-of-service/terms-of-service" class="legal">Legal</a>
<a class=" " href="https://twitter.com/DeepAI" target="_blank"><img src="/static/images/xLogo.svg" alt="xlogo" class="xlogo"></a>
<a class=" " href="https://www.linkedin.com/company/deepai" target="_blank"><img src="/static/images/LinkedinLogo.svg" alt="linkedinlogo" class="linkedinlogo"></a>
</div>
</div>
</footer>
<script>try{if(!(window.location.hostname==="deepai.org"||window.location.hostname==="127.0.0.1")){window.location.href="https://deepai.org"+window.location.pathname+window.location.search;}}catch(e){console.log("error redirecting to deepai.org: "+e);}
try{(function(window){if(window.location!==window.top.location){window.top.location=window.location;}})(this);}catch(e){console.log('error breaking out of iframe',e);}
const app_base_url='https://api.deepai.org';fetch(app_base_url+"/favicon.ico",{method:'POST',credentials:'include',});function setElementsStyleById(ids,style){ids.forEach(id=>document.getElementById(id).style=style);}
function showElementsById(ids){setElementsStyleById(ids,"display: flex;");}
function hideElementsById(ids){setElementsStyleById(ids,"display: none;");}
function toggleAuthOption(toggle){const loginOption=document.getElementById("loginToggle");const signupOption=document.getElementById("signupToggle");const authGoogle=document.getElementById('social-auth-google');const authGithub=document.getElementById('social-auth-github');const emailSwitch=document.getElementById("switch-to-email");const loginEmail=document.getElementById('login-via-email-id');const userEmailError=document.getElementById('user-email-error');const reenterPwd=document.getElementById("reenter-password-container-id");document.getElementById('user-email').focus();userEmailError.style="display: none;";if(toggle=="login"){if(!loginOption.classList.contains("active")){loginOption.classList.add("active");signupOption.classList.remove("active");}
document.getElementById('login-header-title').innerHTML="Login";authGoogle.setAttribute('onclick',"social_login(event, 'google')");authGithub.setAttribute('onclick',"social_login(event, 'github')");emailSwitch.innerHTML="Or login with email";emailSwitch.setAttribute('onclick',"authOptions('moreOptions')");hideElementsById(["reenter-password-container-id","user-email-error"]);loginEmail.innerHTML="Login";loginEmail.setAttribute('onclick',"login(event)");}else{if(!signupOption.classList.contains("active")){signupOption.classList.add("active");loginOption.classList.remove("active");}
document.getElementById('login-header-title').innerHTML="Signup";authGoogle.setAttribute('onclick',"social_signup(event, 'google')");authGithub.setAttribute('onclick',"social_signup(event, 'github')");emailSwitch.innerHTML="Or signup with email";emailSwitch.setAttribute('onclick',"authOptions('moreOptions')");loginEmail.innerHTML="Signup";loginEmail.setAttribute('onclick',"signup(event)");hideElementsById(["forgot-password","user-email-error"]);const reenterPwdDisplay=authGoogle.style.display=="none"?"flex":"none";reenterPwd.style=`display: ${reenterPwdDisplay};`;}}
function authOptions(toggle){hideElementsById(['user-email-error'])
const moreOptions={true:{visible:["email-container-id","password-container-id","reenter-password-container-id","login-via-email-id","forgot-password","go-back-login"],hidden:["switch-to-email","social-auth-google","social-auth-github"]},false:{visible:["switch-to-email","social-auth-google","social-auth-github"],hidden:["email-container-id","password-container-id","reenter-password-container-id","login-via-email-id","forgot-password","go-back-login"]}};showElementsById(moreOptions[toggle=="moreOptions"].visible);hideElementsById(moreOptions[toggle=="moreOptions"].hidden);document.getElementById('user-email').focus();if(toggle=="moreOptions"&&document.getElementById('login-via-email-id').innerHTML=="Login"){hideElementsById(["reenter-password-container-id"]);}}
function togglePaymentOption(toggle){const stripeGoOption=document.getElementById("stripeGoToggle");const stripeProOption=document.getElementById("stripeProToggle");const outstripeGoOption=document.getElementById("outstripeGoToggle");if(toggle=="stripeGo"){if(!stripeGoOption.classList.contains("active")){stripeGoOption.classList.add("active");}
if(!outstripeGoOption.classList.contains("active")){outstripeGoOption.classList.add("active");}
document.getElementById("stripe-go-button-container").style.display="flex";document.getElementById("out-stripe-go-button-container").style.display="flex";document.getElementById("stripe-pro-button-container").style.display="none";}
else if(toggle=="stripePro"){if(!stripeProOption.classList.contains("active")){stripeProOption.classList.add("active");}
document.getElementById("stripe-pro-button-container").style.display="flex";document.getElementById("stripe-go-button-container").style.display="none";}
else{document.getElementById("stripe-pro-button-container").style.display="none";}}
function toggleMembershipOption(toggle){const options={pro:{active:"proToggle",inactive:"payGoToggle",titleDisplay:"flex",subheaderText:"DeepAI PRO member",priceText:"$4.99",lengthText:"/month",periodText:"Per month",genCallsValue:"500",videoCallsValue:"30",chatCallsValue:"1750",geniusMessagesValue:"60",geniusMessagesFontSize:"14px",geniusImagesValue:"60",geniusImagesFontSize:"14px",geniusVideosValue:"5",geniusVideosFontSize:"14px",},payGo:{active:"payGoToggle",inactive:"proToggle",titleDisplay:"none",subheaderText:"Pay as you go member",priceText:"$5.00",lengthText:"/starting",periodText:"Per $5",genCallsValue:"100",videoCallsValue:"30",chatCallsValue:"350",geniusMessagesValue:"-",geniusMessagesFontSize:"30px",geniusImagesValue:"-",geniusImagesFontSize:"30px",geniusVideosValue:"-",geniusVideosFontSize:"30px",}};const activeOption=(toggle==="pro")?"pro":"payGo";const currentOption=options[activeOption];document.getElementById(currentOption.active).classList.add("active");document.getElementById(currentOption.inactive).classList.remove("active");document.getElementById('subscription-title-pro-id').style.display=currentOption.titleDisplay;document.getElementById('subscriptions-subheader-id').innerHTML=currentOption.subheaderText;document.getElementById('subscription-price-id').innerHTML=currentOption.priceText;document.getElementById('subscription-length-id').innerHTML=currentOption.lengthText;document.getElementById('gen-calls-per').innerHTML=currentOption.periodText;document.getElementById('gen-calls-value').innerHTML=currentOption.genCallsValue;document.getElementById('chat-calls-value').innerHTML=currentOption.chatCallsValue;document.getElementById('video-calls-value').innerHTML=currentOption.videoCallsValue;document.getElementById('genius-messages-value').innerHTML=currentOption.geniusMessagesValue;document.getElementById("genius-messages-value").style.fontSize=currentOption.geniusMessagesFontSize;document.getElementById('genius-images-value').innerHTML=currentOption.geniusImagesValue;document.getElementById("genius-images-value").style.fontSize=currentOption.geniusImagesFontSize;document.getElementById('genius-videos-value').innerHTML=currentOption.geniusVideosValue;document.getElementById("genius-videos-value").style.fontSize=currentOption.geniusVideosFontSize;const proActive=toggle==="pro";try{updateUserPlanButton(proActive);}catch(e){console.log('error getting user to check the plan',e);}}
function setDisplayStyle(elementIds,displayStyle){elementIds.forEach(id=>{const element=document.getElementById(id);if(element){element.style.display=displayStyle;}});}
function changePaymentModalState(toggle){const alwaysHideElements=[];const startHideElements=['membership-toggle-id','modal-subscription-section-id','subscription-start-id','modal-dropdown-payment-amount'];const paymentElementsPro=['sub-terms-pro','payment-container-pro'];const paymentElementsGo=['sub-terms-go','payment-container-go'];const subscriptionTitle=document.getElementById('subscribe-to-id');if(toggle==="start"){setDisplayStyle(alwaysHideElements,"none");setDisplayStyle(startHideElements,"none");document.getElementById('get-started-container-id').style.display="flex";const isProHidden=document.getElementById('subscription-title-pro-id').style.display==="none";if(isProHidden){togglePaymentOption('stripeGo');setDisplayStyle(paymentElementsPro,"none");setDisplayStyle(paymentElementsGo,"flex");document.getElementById('modal-dropdown-payment-amount').style.display="flex";subscriptionTitle.innerHTML="Pay as you go using:";}else{togglePaymentOption('stripePro');setDisplayStyle(paymentElementsGo,"none");setDisplayStyle(paymentElementsPro,"flex");subscriptionTitle.innerHTML="Subscribe to PRO using:";}}else{setDisplayStyle(alwaysHideElements,"none");setDisplayStyle(startHideElements,"flex");document.getElementById('get-started-container-id').style.display="none";}}
function togglePricingPageOptions(toggle){const freeMembOption=document.getElementById("freeMembToggle");const proMembOption=document.getElementById("proMembToggle");const goMembOption=document.getElementById("goMembToggle");if(toggle=="free-memb"){if(!freeMembOption.classList.contains("active")){freeMembOption.classList.add("active");proMembOption.classList.remove("active");goMembOption.classList.remove("active");}
document.getElementById("middle-free-plan-column").style.display="block";document.getElementById("middle-pro-plan-column").style.display="none";document.getElementById("middle-go-plan-column").style.display="none";}else if(toggle=="pro-memb"){if(!proMembOption.classList.contains("active")){proMembOption.classList.add("active");freeMembOption.classList.remove("active");goMembOption.classList.remove("active");}
document.getElementById("middle-free-plan-column").style.display="none";document.getElementById("middle-pro-plan-column").style.display="block";document.getElementById("middle-go-plan-column").style.display="none";}else{if(!goMembOption.classList.contains("active")){goMembOption.classList.add("active");freeMembOption.classList.remove("active");proMembOption.classList.remove("active");}
document.getElementById("middle-free-plan-column").style.display="none";document.getElementById("middle-pro-plan-column").style.display="none";document.getElementById("middle-go-plan-column").style.display="block";}}
function toggleMembershipOptionPricing(toggle){const mobileProMembOption=document.getElementById("mobileProToggle");const mobileGoMembOption=document.getElementById("mobilePayGoToggle");const proActive=toggle==="pro";try{updateClasses(mobileProMembOption,mobileGoMembOption,proActive);updateContent(proActive);}catch(e){console.log('error updating pricing classes',e);}
try{updateUserPlanButton(proActive);}catch(e){console.log('error getting user to check the plan',e);}}
function updateClasses(proElement,goElement,proActive){proElement.classList.toggle("active",proActive);goElement.classList.toggle("active",!proActive);}
function updateContent(proActive){const plan=proActive?getProPlan():getGoPlan();document.getElementById('mobile-subscription-title-pro-id').style.display=proActive?"flex":"none";document.getElementById('mobile-subscription-price-id').innerHTML=plan.price;document.getElementById('mobile-subscription-length-id').innerHTML=plan.length;document.getElementById('mobile-pro-overages').style.display=proActive?"flex":"none";document.getElementById('mobile-gen-calls-per').innerHTML=plan.period;document.getElementById('mobile-gen-calls-value').innerHTML=plan.genCalls;document.getElementById('mobile-chat-calls-value').innerHTML=plan.chatCalls;document.getElementById('mobile-video-calls-value').innerHTML=plan.videoCalls;const geniusMessagesElem=document.getElementById('mobile-genius-messages-value');geniusMessagesElem.innerHTML=plan.geniusMessages;geniusMessagesElem.style.fontSize=plan.messageSize;const geniusImagesElem=document.getElementById('mobile-genius-images-value');geniusImagesElem.innerHTML=plan.geniusImages;geniusImagesElem.style.fontSize=plan.imageSize;const geniusVideosElem=document.getElementById('mobile-genius-videos-value');geniusVideosElem.innerHTML=plan.geniusVideos;geniusVideosElem.style.fontSize=plan.videoSize;}
function updateUserPlanButton(proActive){let user_object=null;if(localStorage.getItem('user')){user_object=JSON.parse(localStorage.getItem('user'));}
if(user_object&&user_object.userprofile2){const userIsPro=user_object.userprofile2.user_has_deepai_pro;const userIsGo=user_object.userprofile2.user_is_pay_as_you_go;const canChangePlan=proActive?!userIsPro:!userIsGo;const buttonElem=document.getElementById('subscription-start-id');const mobileButtonElem=document.getElementById('mobile-subscription-start-id');if(buttonElem){buttonElem.style=canChangePlan?"background-color: #8f37ff; border: none; cursor: pointer; pointer-events: all;":"background-color: transparent; border: 2px solid #8f37ff; cursor: default; pointer-events: none;";buttonElem.innerHTML=canChangePlan?"Get Started":"Current Plan";}
if(mobileButtonElem){mobileButtonElem.style=canChangePlan?"background-color: #8f37ff; border: none; cursor: pointer; pointer-events: all;":"background-color: transparent; border: 2px solid #8f37ff; cursor: default; pointer-events: none;";mobileButtonElem.innerHTML=canChangePlan?"Get Started":"Current Plan";}}}
function getProPlan(){return{subHeader:"DeepAI PRO member",price:"$4.99",length:"/month",period:"Per month",genCalls:"500",chatCalls:"1750",videoCalls:"30",geniusMessages:"60",messageSize:"14px",geniusImages:"60",imageSize:"14px",geniusVideos:"5",videoSize:"14px"};}
function getGoPlan(){return{subHeader:"Pay as you go member",price:"$5.00",length:"/starting",period:"Per $5",genCalls:"100",chatCalls:"350",videoCalls:"30",geniusMessages:"-",messageSize:"30px",geniusImages:"-",imageSize:"30px",geniusVideos:"-",videoSize:"30px"};}
function changePaymentModalStatePricing(toggle){const hideElements=['mobile-membership-toggle-id','modal-subscription-section-id','mobile-subscription-section-id','subscription-start-id','mobile-subscription-start-id',];const paymentElementsPro=['mobile-sub-terms-pro','mobile-payment-container-pro','mobile-stripe-pro-button-container'];const paymentElementsGo=['mobile-sub-terms-go','mobile-payment-container-go','mobile-stripe-go-button-container'];const mobileSubscriptionTitle=document.getElementById('mobile-subscribe-to-id');if(toggle==="start"){setDisplayStyle(hideElements,"none");setDisplayStyle(['get-started-container-id','mobile-get-started-container-id'],"flex");const isProHidden=document.getElementById('mobile-subscription-title-pro-id').style.display==="none";if(isProHidden){togglePaymentOption('stripeGo');setDisplayStyle(paymentElementsPro,"none");setDisplayStyle(paymentElementsGo,"flex");mobileSubscriptionTitle.innerHTML="Pay as you go using:";document.getElementById('mobile-dropdown-payment-amount').style.display="flex";}else{togglePaymentOption('stripePro');setDisplayStyle(paymentElementsGo,"none");setDisplayStyle(paymentElementsPro,"flex");mobileSubscriptionTitle.innerHTML="Subscribe to PRO using:";document.getElementById('mobile-dropdown-payment-amount').style.display="none";}}else{setDisplayStyle(hideElements,"flex");setDisplayStyle(['get-started-container-id','mobile-get-started-container-id'],"none");setDisplayStyle(['modal-dropdown-payment-amount','go-dropdown-payment-amount'],"none");}}
function togglePaymentOptionMobile(toggle){const mobilestripeGoOption=document.getElementById("mobilestripeGoToggle");const mobilestripeProOption=document.getElementById("mobilestripeProToggle");if(toggle=="stripeGo"){if(!mobilestripeGoOption.classList.contains("active")){mobilestripeGoOption.classList.add("active");}
document.getElementById("mobile-stripe-go-button-container").style.display="flex";document.getElementById("mobile-stripe-pro-button-container").style.display="none";}
else if(toggle=="stripePro"){if(!mobilestripeProOption.classList.contains("active")){mobilestripeProOption.classList.add("active");}
document.getElementById("mobile-stripe-pro-button-container").style.display="flex";document.getElementById("mobile-stripe-go-button-container").style.display="none";}
else{mobilestripeProOption.classList.remove("active");document.getElementById("mobile-stripe-pro-button-container").style.display="none";}}
function checkCurrentUserPricingPlan(context='default'){const ids={proPlanButton:(context==='default')?'pro-plan-button':'middle-pro-plan-button',freePlanColumn:(context==='default')?'free-plan-column':'middle-free-plan-column',goPlanButton:(context==='default')?'go-plan-button':'middle-go-plan-button',infoSubContainer:'info-subscriptions-container',subscriptionStartId:'subscription-start-id',mobileSubscriptionStartId:'mobile-subscription-start-id',freePlanButton:(context==='default')?'free-plan-button':'middle-free-plan-button'};let user_object=null;if(localStorage.getItem('user')){user_object=JSON.parse(localStorage.getItem('user'));}
if(user_object&&user_object.userprofile2){if(user_object.userprofile2.user_has_deepai_pro){if(document.getElementById(ids.proPlanButton)){setElementStyles(ids.proPlanButton,"Current Plan",true);if(ids.freePlanColumn)document.getElementById(ids.freePlanColumn).style="display: none;";if(ids.infoSubContainer)document.getElementById(ids.infoSubContainer).style="width: 22vw;";setElementOnClick(ids.goPlanButton,"openSubscription('go');");if(context==='default'){setElementStyles(ids.subscriptionStartId,"Current Plan",true);setElementStyles(ids.mobileSubscriptionStartId,"Current Plan",true);}}
toggleMembershipOptionPricing('pro');setElementOnClick(ids.subscriptionStartId,"changePaymentModalState('start');");setElementOnClick(ids.mobileSubscriptionStartId,"changePaymentModalStatePricing('start');");document.getElementById("freeMembToggle").style="display: none;";}else if(user_object.userprofile2.user_is_pay_as_you_go){if(document.getElementById(ids.goPlanButton)){setElementStyles(ids.goPlanButton,"Current Plan",true);if(ids.freePlanColumn)document.getElementById(ids.freePlanColumn).style="display: none;";if(ids.infoSubContainer)document.getElementById(ids.infoSubContainer).style="width: 24vw;";if(context==='default'){setElementStyles(ids.subscriptionStartId,"Current Plan",true);setElementStyles(ids.mobileSubscriptionStartId,"Current Plan",true);}}
toggleMembershipOptionPricing('go');setElementOnClick(ids.subscriptionStartId,"changePaymentModalState('start');");setElementOnClick(ids.mobileSubscriptionStartId,"changePaymentModalStatePricing('start');");document.getElementById("freeMembToggle").style="display: none;";}else if(userIsLoggedIn()){setElementOnClick(ids.subscriptionStartId,"changePaymentModalState('start');");setElementOnClick(ids.mobileSubscriptionStartId,"changePaymentModalStatePricing('start');");if(document.getElementById(ids.freePlanButton)){setElementStyles(ids.freePlanButton,"Current Plan",true);setElementOnClick(ids.goPlanButton,"openSubscription('go');");if(context==='default'){setElementOnClick('pro-plan-button',"openSubscription();");}else{setElementOnClick('middle-pro-plan-button',"openSubscription();");}}}}}
function setElementStyles(elementId,innerHTMLText,disable=false){const element=document.getElementById(elementId);if(element){element.style=disable?"background-color: transparent; border: 2px solid #8f37ff; cursor: default; pointer-events: none;":"background-color: #8f37ff; border: none; cursor: pointer; pointer-events: all;";element.innerHTML=innerHTMLText;}}
function setElementOnClick(elementId,action){const element=document.getElementById(elementId);if(element){element.setAttribute("onClick",action);}}
function updateNonLoggedInUserPlan(){setElementOnClick('subscription-start-id',"openSignup();");setElementStyles('subscription-start-id',"Signup");setElementOnClick('mobile-subscription-start-id',"openSignup();");setElementStyles('mobile-subscription-start-id',"Signup");}
function subscriptionPopupAfterAuth(){let user_object=null;if(localStorage.getItem('user')){user_object=JSON.parse(localStorage.getItem('user'));}
const element=document.getElementById('subscription-start-id').innerHTML;if(user_object&&user_object.userprofile2){if(!(user_object.userprofile2.user_has_deepai_pro||user_object.userprofile2.user_is_pay_as_you_go)){if(element=="Signup"){openSubscription();}}}}
function openSubscribeFromGenius(tag){const modalId=tag==="image"?"genius-images-modal":"genius-chat-modal";const geniusModal=document.getElementById(modalId);if(geniusModal){geniusModal.close();openSubscription();}}
try{document.addEventListener("visibilitychange",(e)=>{fetch(app_base_url+"/favicon.ico",{method:'POST',credentials:'include',});})}catch(e){console.log("error adding visibilitychange event listener: "+e);}
function removeHeaderBackground(){const navbar=document.querySelector('header');navbar.style.background="";}
function changeHeaderBackground(){const navbar=document.querySelector('header');const ad=document.getElementById('deepai.org_header');const navbarRect=navbar.getBoundingClientRect();const adRect=ad.getBoundingClientRect();const navbarHeight=navbarRect.height;const bodyHeight=document.querySelector('body').getBoundingClientRect().height;const navBodyRatio=bodyHeight/navbarHeight;const shift=-100*adRect.height/navbarHeight;navbar.style.background=`linear-gradient(180deg,#7729aa ${shift + -13.13 * navBodyRatio}%,#170a2d ${shift + 0.17 * navBodyRatio }%,#0a061d ${shift + navBodyRatio* 6.9}%,rgba(10,6,30,0.99) ${shift + navBodyRatio * 36.38}%,#010311 ${shift + navBodyRatio * 98.59}%)`;}
try{if(!user_paid_for_no_ads){changeHeaderBackground();}}catch(e){console.log("error changing header background: "+e);}
try{localStorage.setItem("name","Hello World!");}catch(e){console.log("Error - local storage is full. clearing local storage");try{localStorage.clear();}catch(e2){console.log("error clearing local storage: "+e2);}}
var onCategoryPage=false;const reeferrerMadness=document.referrer;var cookieUserReeferrer=localStorage.getItem('userReeferrer');if(cookieUserReeferrer==undefined){localStorage.setItem('userReeferrer',reeferrerMadness);cookieUserReeferrer=localStorage.getItem('userReeferrer');}else{}
var thisLocation=window.location.pathname;var pagePathCookie=localStorage.getItem('pagePath');if(pagePathCookie==undefined){localStorage.setItem('pagePath',[thisLocation]);}else if(pagePathCookie.length>100000){}else{var newPagePathCookie=new Array(pagePathCookie,thisLocation);localStorage.setItem('pagePath',newPagePathCookie);};var latestPagePathCookie=localStorage.getItem('pagePath');console.log(latestPagePathCookie);console.log(cookieUserReeferrer);if(!document.createElement('dialog').showModal){console.log('loading dialog polyfill...');var script=document.createElement("script");script.src="/static/js/libs/dialog-polyfill.js";script.type="text/javascript";script.async=true;script.onload=function(){for(var dialog of document.getElementsByTagName('dialog')){dialogPolyfill.registerDialog(dialog);}};document.getElementsByTagName("head")[0].appendChild(script);}else{console.log('not loading dialog polyfill');}
if(!window.localStorage||!window.sessionStorage)(function(){var Storage=function(type){function createCookie(name,value,days){var date,expires;if(days){date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires="; expires="+date.toGMTString();}else{expires="";}
document.cookie=name+"="+value+expires+"; path=/";}
function readCookie(name){var nameEQ=name+"=",ca=document.cookie.split(';'),i,c;for(i=0;i<ca.length;i++){c=ca[i];while(c.charAt(0)==' '){c=c.substring(1,c.length);}
if(c.indexOf(nameEQ)==0){return c.substring(nameEQ.length,c.length);}}
return null;}
function setData(data){data=JSON.stringify(data);if(type=='session'){window.name=data;}else{createCookie('localStorage',data,365);}}
function clearData(){if(type=='session'){window.name='';}else{createCookie('localStorage','',365);}}
function getData(){var data=type=='session'?window.name:readCookie('localStorage');return data?JSON.parse(data):{};}
var data=getData();function numKeys(){var n=0;for(var k in data){if(data.hasOwnProperty(k)){n+=1;}}
return n;}
return{clear:function(){data={};clearData();this.length=numKeys();},getItem:function(key){key=encodeURIComponent(key);return data[key]===undefined?null:data[key];},key:function(i){var ctr=0;for(var k in data){if(ctr==i)return decodeURIComponent(k);else ctr++;}
return null;},removeItem:function(key){key=encodeURIComponent(key);delete data[key];setData(data);this.length=numKeys();},setItem:function(key,value){key=encodeURIComponent(key);data[key]=String(value);setData(data);this.length=numKeys();},length:0};};if(!window.localStorage)window.localStorage=new Storage('local');if(!window.sessionStorage)window.sessionStorage=new Storage('session');})();var user_object={};function userIsLoggedIn(){if(user_object?.pk){return true;}else{return false;}}
async function saveDeepaiProLinkUrl(){const resp=await fetch(app_base_url+'/get_my_stripe_subscription_checkout_link',{method:'GET',credentials:'include',});const data=await resp.json();window.deepaiProLinkUrl=data.link;console.log("got deepaiProLinkUrl",window.deepaiProLinkUrl);window.deepaiAddCreditsLinkUrl=data.add_credits_link;console.log("got deepaiAddCreditsLinkUrl",window.deepaiAddCreditsLinkUrl);}
async function saveStripeCardUpdateLink(){const resp=await fetch(app_base_url+'/get_my_stripe_card_update_link',{method:'GET',credentials:'include',});const data=await resp.json();window.deepaiUpdateStripeCardUrl=data.link;console.log("got deepaiUpdateStripeCardUrl",window.deepaiProLinkUrl);};function authKeyPressHandler(e){if(e.keyCode==13&&!e.shiftKey){e.preventDefault();if(document.getElementById('login-via-email-id').innerHTML=="Login"){login(e);}else{signup(e);}}}
async function checkAuthStatus(){if(localStorage.getItem('user')){user_object=JSON.parse(localStorage.getItem('user'));}else{}
if(typeof displayMyChatSessions==="function"){try{displayMyChatSessions()}catch(e){console.log(e)}}
console.log(user_object);var dropdownSandwich=document.getElementById('sandwichIconDrop');var dropdownUser=document.getElementById('userIconDrop');var profileSecNav=document.getElementById('navProfileSection');var profileButtonNav=document.getElementById('navProfileButton');var navProfileAvatar=document.getElementById('navUserAvatar');var headerLogin=document.getElementById('headerLoginButton');var navUsername=document.getElementById('navUserName');var navUseremail=document.getElementById('navUserEmail');if(userIsLoggedIn()){unlockOnlineMode();if(user_object.userprofile2.user_can_use_genius_mode){unlockGeniusMode();unlockGeniusImageGenerator();}
if(user_object.userprofile2.locked_out_due_to_no_payment_info===false){unlockAllStyleButtons();unlockHdImageGenerator();}
navProfileAvatar.src=app_base_url+'/get_author_obj_img_url';saveDeepaiProLinkUrl();saveStripeCardUpdateLink();dropdownSandwich.style="display: none;";headerLogin.style="display: none;";dropdownUser.style="display: flex;";profileSecNav.style="display: flex;";profileButtonNav.style="display: flex;";if(document.getElementById("My Characters")){document.getElementById("My Characters").style.display="inline-block";}
navUsername.innerHTML=user_object.username;navUseremail.innerHTML=user_object.email;for(const signupButton of document.getElementsByClassName('button login')){signupButton.setAttribute('onclick',"window.location.replace('/dashboard/profile')");signupButton.innerHTML="My Profile";}
if(document.getElementById('signup-button-dropdown-li')){document.getElementById('signup-button-dropdown-li').setAttribute('onclick',"window.location.replace('/dashboard/profile')");document.getElementById('signup-button-dropdown-li').innerHTML="My Profile";}
for(const loginButton of document.getElementsByClassName('login-button')){loginButton.setAttribute('onclick',"logout()");loginButton.innerHTML="Log Out";}
if(document.getElementById('login-button-dropdown')){document.getElementById('login-button-dropdown').setAttribute('onclick',"logout()");document.getElementById('login-button-dropdown').innerHTML="Logout";}
if(user_object.userprofile&&user_object.userprofile.api_key){applyApiKeyToCodeExamples(user_object.userprofile.api_key);}else{console.log('Error - user is logged in but has no API key.');}
try{if(typeof freestar=='object'){freestar.queue.push(function(){freestar.identity.setIdentity({email:user_object.email});});}}catch(e){console.log('error setting freestar identity',e);}
applyCachedHeartsToHeartsOnPage();await refreshHeartsFromServer();}else{}}
function unlockAllStyleButtons(){if(document.getElementById('selectedModelPaidOnly')){document.getElementById('selectedModelPaidOnly').setAttribute('locked','False')}}
function unlockGeniusMode(){if(document.getElementById('genius')){document.getElementById('genius').removeAttribute('locked');}}
function unlockOnlineMode(){if(document.getElementById('online')){document.getElementById('online').removeAttribute('locked');document.getElementById('online-button').style.display='flex';}}
function unlockHdImageGenerator(){if(document.getElementById('imageHdLockedIcon')){document.getElementById('imageHdLockedIcon').remove();}}
function hideFreestarAds(){if(typeof freestar==='object'&&freestar.config&&freestar.config.alwaysRefresh){try{freestar.config.alwaysRefresh.map(id=>document.getElementById(id)).filter(Boolean).map(node=>node.closest('body > *').remove())}catch(e){console.log("error removing ads for logged in user",e)}}}
function unlockGeniusImageGenerator(){if(document.getElementById('modelGeniusModeButton')){document.getElementById('modelGeniusModeButton').removeAttribute('locked');}
if(document.getElementById('imageGeniusLockedIcon')){document.getElementById('imageGeniusLockedIcon').remove();}}
async function auth(){try{const response=await fetch(app_base_url+"/daily-time-sync/user/",{credentials:'include'});var user=await response.json();var user_string=JSON.stringify(user);if(await response.status==200){localStorage.setItem('user',user_string);user_object=JSON.parse(localStorage.getItem('user'));await checkAuthStatus();}else{localStorage.removeItem('user');localStorage.removeItem('hearts-cache');user_object={};};}catch(e){console.log("Error validating auth",e);localStorage.removeItem('user');localStorage.removeItem('hearts-cache');user_object={};}}
function mainNavDrop(){document.getElementById("mainNavDropdown").classList.toggle("show-dropdown");}
if(document.getElementById("dropMenuButton")){document.getElementById("dropMenuButton").addEventListener("click",function(event){event.stopPropagation();mainNavDrop();},false);}
window.onclick=function(event){if(event.target.closest('.dropdown-link')||event.target.closest('.content-dropdown-link')){}else if(!event.target.matches('.dropbtn')){if(document.getElementById("contentNavDropdown")){var contentDropdown=document.getElementById("contentNavDropdown");if(contentDropdown){if(contentDropdown.classList.contains('show-dropdown')){contentDropdown.classList.remove('show-dropdown');}}}
var mainDropdown=document.getElementById("mainNavDropdown");if(mainDropdown){if(mainDropdown.classList.contains('show-dropdown')){mainDropdown.classList.remove('show-dropdown');}}}else{}}
var lastApiKeyUsed;function applyApiKeyToCodeExamples(newApiKey){for(var subArea of document.getElementsByClassName('api-key-auto-substitute-area')){const treeWalker=document.createTreeWalker(subArea);while(treeWalker.nextNode()){const node=treeWalker.currentNode;if(node.nodeValue){var newValue=node.nodeValue.replace('YOUR_API_KEY',newApiKey);if(lastApiKeyUsed){newValue=newValue.replace(lastApiKeyUsed,newApiKey);}
node.nodeValue=newValue;}}}
lastApiKeyUsed=newApiKey;}
checkAuthStatus();auth();async function refreshHeartsFromServer(){const response=await fetch(app_base_url+"/get_my_hearted_object_ids",{credentials:'include'});const hearts=await response.json();localStorage.setItem('hearts-cache',JSON.stringify(hearts));applyCachedHeartsToHeartsOnPage();}
function applyCachedHeartsToHeartsOnPage(){if(!localStorage.getItem('hearts-cache')){console.log('no heart cache');return;}
var hearts_hash=JSON.parse(localStorage.getItem('hearts-cache')).hearts;for(const heartLink of document.getElementsByClassName('heart-link')){heartLink.removeAttribute('hearted');if(hearts_hash[heartLink.attributes.heartid.value]){heartLink.setAttribute('hearted','hearted');}}}
async function heart(heartLink){if(!userIsLoggedIn()){openSignup(function(){heart(heartLink);});return;}
var hearts_cache;if(localStorage.getItem('hearts-cache')){hearts_cache=JSON.parse(localStorage.getItem('hearts-cache'));}else{console.log('warning, hearts cache is empty. creating new hearts cache...');hearts_cache={'hearts':{}};}
var addremove;var oldcount=(heartLink.getElementsByClassName('heart-count')[0].innerText)*1;if(heartLink.attributes.hearted){heartLink.removeAttribute('hearted');addremove='false';delete hearts_cache.hearts[heartLink.attributes.heartid.value];var count=oldcount-1;if(count<0){count=0;}
heartLink.getElementsByClassName('heart-count')[0].innerText=count;}else{heartLink.setAttribute('hearted','hearted');addremove='true';hearts_cache.hearts[heartLink.attributes.heartid.value]=true;heartLink.getElementsByClassName('heart-count')[0].innerText=oldcount+1;}
localStorage.setItem('hearts-cache',JSON.stringify(hearts_cache));var formData=new FormData();var split=heartLink.attributes.heartid.value.split('-');var heartclass=split[0];var objid=split[1];formData.append('type',heartclass);formData.append('id',objid);formData.append('switch',addremove);const response=await fetch(app_base_url+"/add_remove_heart",{method:'POST',credentials:'include',body:formData});console.log('hearty response ',response);}
const modal=document.getElementById('login-modal');var afterSignupFunction=null;const openSignup=function(afterSignupFunctionArg,popupHeaderText){afterSignupFunction=afterSignupFunctionArg;if(userIsLoggedIn()){if(afterSignupFunction){afterSignupFunction();}}else{subscription_modal.close();modal.showModal();toggleAuthOption("signup");if(popupHeaderText){modal.getElementsByClassName('login-header')[0].innerHTML=popupHeaderText;}}}
const close=document.getElementById('close');close.addEventListener('click',()=>{modal.close('cancelled');authOptions('lessOptions');})
modal.addEventListener('cancel',()=>{modal.close('cancelled');authOptions('lessOptions');});modal.addEventListener('click',(event)=>{if(event.target===modal){modal.close('cancelled');authOptions('lessOptions');}});function getSignupCustomData(desired_username){return{'referrer':'['+cookieUserReeferrer+']'+'['+latestPagePathCookie+']','signup_page':window.location.pathname,'desired_username':desired_username};}
async function save_custom_signup_data(desired_username){const custom_signup_data=getSignupCustomData(desired_username);const response=await fetch(app_base_url+"/save_custom_signup_data",{credentials:'include',method:'POST',body:JSON.stringify(custom_signup_data),headers:{'Content-Type':'application/json'}});if(!response.ok){throw new Error("saving custom signup data HTTP status "+response.status);}
return null;}
async function signup(e){e.preventDefault();var p=document.getElementById('user-email-error');p.innerHTML='';p.setAttribute('style','display: none;');var user_email=document.getElementById('user-email');var user_password=document.getElementById('user-password');var confirm_user_password=document.getElementById('confirm-user-password');var user_email_value=user_email.value;var user_password_value=user_password.value;var confirm_user_password_value=confirm_user_password.value;var formData=new FormData();formData.append('email',user_email_value);formData.append('username',user_email_value);formData.append('password1',user_password_value);formData.append('password2',confirm_user_password_value);user_email.classList.add('loading');var validation_error=null;if(!user_email_value){validation_error='Email is required';}else if(!user_password){validation_error='Password is required';}else if(!confirm_user_password){validation_error='Password confirmation is required';}else{}
if(validation_error){p.innerHTML=validation_error;p.setAttribute('style','display: block;');user_email.classList.remove('loading');return;}else{const user_login_type=await get_user_login_type(user_email_value);if(user_login_type.user_exists){user_email.classList.remove('loading');var message="This account already exists";if(!user_login_type.login_with_password){var name=user_login_type.login_with_social_accounts[0];message="This account exists and needs to be logged in using "+name;}
var p=document.getElementById('user-email-error');p.innerHTML=message;p.setAttribute('className','bad-auth-error');p.setAttribute('style','display: flex;');}
else{await save_custom_signup_data(null);const response=await fetch(app_base_url+"/daily-time-sync/registration/",{credentials:'include',method:'POST',body:formData});console.log(response);if(response.ok==true){user_email.classList.remove('loading');modal.close('cancelled');if(afterSignupFunction){await auth();afterSignupFunction();try{subscriptionPopupAfterAuth();checkCurrentUserPricingPlan();checkCurrentUserPricingPlan('middle');}catch(e){console.log("error getting current user pricing plan: "+e);}}else{await auth();try{subscriptionPopupAfterAuth();checkCurrentUserPricingPlan();checkCurrentUserPricingPlan('middle');}catch(e){console.log("error getting current user pricing plan: "+e);}}}else if(response.ok==false){user_email.classList.remove('loading');if(response.status==500){var signup_fail="Hmm, something went wrong. Perhaps try another email address, or try again later.";var p=document.getElementById('user-email-error');p.innerHTML=signup_fail;p.setAttribute('className','bad-auth-error');p.setAttribute('style','display: flex;');}else if(response.status>=400){var data=await response.json();var signup_fail="Hmm, something went wrong. Perhaps try another email address, or try again later.";for(const[key,value]of Object.entries(data)){if(value[0]){signup_fail=value[0];break;}}
var p=document.getElementById('user-email-error');p.innerHTML=signup_fail;p.setAttribute('className','bad-auth-error');p.setAttribute('style','display: flex;');}else{}}}}}
function changePaySub(){var sub=document.getElementById("subscription-pro-id");var pay=document.getElementById("payasyougo-id");if(sub.style.display==="flex"){sub.style.display="none";pay.style.display="flex";}else{sub.style.display="flex";pay.style.display="none";}}
const login_modal=document.getElementById('login-modal');var afterLoginFunction=null;const openLogin=function(afterLoginFunctionArg){afterLoginFunction=afterLoginFunctionArg;if(userIsLoggedIn()){if(afterLoginFunction){afterLoginFunction();}}else{login_modal.showModal();toggleAuthOption("login");}}
const closeLogin=document.getElementById('close-login');closeLogin.addEventListener('click',()=>{login_modal.close('cancelled');authOptions('lessOptions');})
login_modal.addEventListener('cancel',()=>{login_modal.close('cancelled');authOptions('lessOptions');});login_modal.addEventListener('click',(event)=>{if(event.target===login_modal){login_modal.close('cancelled');authOptions('lessOptions');}});const subscription_modal=document.getElementById('subscription-modal');var afterLoginFunction=null;const openSubscription=function(user_plan){if(localStorage.getItem('user')){user_object=JSON.parse(localStorage.getItem('user'));}
if(userIsLoggedIn()){if(user_plan=='go'){subscription_modal.showModal();changePaymentModalState('back');toggleMembershipOption('go');window.addEventListener("message",()=>{console.log('received message: ',event.data);if(event.data=='stripe subscription success'){subscription_modal.close('cancelled');}},false);}else{subscription_modal.showModal();changePaymentModalState('back');toggleMembershipOption('pro');window.addEventListener("message",()=>{console.log('received message: ',event.data);if(event.data=='stripe subscription success'){subscription_modal.close('cancelled');}},false);}}else{updateNonLoggedInUserPlan();if(user_plan=='go'){subscription_modal.showModal();changePaymentModalState('back');toggleMembershipOption('go');window.addEventListener("message",()=>{console.log('received message: ',event.data);if(event.data=='stripe subscription success'){subscription_modal.close('cancelled');}},false);}else{subscription_modal.showModal();changePaymentModalState('back');toggleMembershipOption('pro');window.addEventListener("message",()=>{console.log('received message: ',event.data);if(event.data=='stripe subscription success'){subscription_modal.close('cancelled');}},false);}}}
const closeSubscription=document.getElementById('close-sub');closeSubscription.addEventListener('click',()=>{subscription_modal.close('cancelled');})
subscription_modal.addEventListener('cancel',()=>{subscription_modal.close('cancelled');});subscription_modal.addEventListener('click',(event)=>{if(event.target===subscription_modal){subscription_modal.close('cancelled');}});const out_of_credits_modal=document.getElementById('out-of-credits-modal');const openOutOfCredits=function(current_balance){if(userIsLoggedIn()){out_of_credits_modal.showModal();if(current_balance!==null&¤t_balance!==undefined){current_balance=current_balance.toFixed(2);document.getElementById('currentAccountBalance').innerText=current_balance;}}else{openLogin();}}
const closeOutOfCredits=document.getElementById('close-out-of-credits');closeOutOfCredits.addEventListener('click',()=>{out_of_credits_modal.close('cancelled');})
out_of_credits_modal.addEventListener('cancel',()=>{out_of_credits_modal.close('cancelled');});out_of_credits_modal.addEventListener('click',(event)=>{if(event.target===out_of_credits_modal){out_of_credits_modal.close('cancelled');}});async function get_user_login_type(email){var formData=new FormData();formData.append('email',email);const response=await fetch(app_base_url+"/get_user_login_type",{credentials:'include',method:'POST',body:formData});if(response.ok==true){var user_login_type=await response.json();return user_login_type;}
return null;}
async function login(e){e.preventDefault();var p=document.getElementById('user-email-error');p.innerHTML='';p.setAttribute('style','display: none;')
var login_user_email=document.getElementById('user-email');var login_user_password=document.getElementById('user-password');var login_user_email_value=login_user_email.value;var login_user_password_value=login_user_password.value;var formData=new FormData();formData.append('username',login_user_email_value);formData.append('password',login_user_password_value);if(login_user_email_value==''||login_user_password==''){}else{login_user_email.classList.add('loading');const user_login_type=await get_user_login_type(login_user_email_value);if(!user_login_type.user_exists){login_user_email.classList.remove('loading');var login_fail="No user with this email or username was found";var p=document.getElementById('user-email-error');p.innerHTML=login_fail;p.setAttribute('className','bad-auth-error');p.setAttribute('style','display: flex;');return;}
if(!user_login_type.login_with_password){login_user_email.classList.remove('loading');var name=user_login_type.login_with_social_accounts[0];var login_fail="This account needs to be logged in using "+name;var p=document.getElementById('user-email-error');p.innerHTML=login_fail;p.setAttribute('className','bad-auth-error');p.setAttribute('style','display: flex;');return;}
const response=await fetch(app_base_url+"/daily-time-sync/login/",{credentials:'include',method:'POST',body:formData});console.log(response);if(response.ok==true){login_user_email.classList.remove('loading');login_modal.close('cancelled');if(afterLoginFunction){await auth();afterLoginFunction();try{subscriptionPopupAfterAuth();checkCurrentUserPricingPlan();checkCurrentUserPricingPlan('middle');}catch(e){console.log("error getting current user pricing plan: "+e);}}else{await auth();try{subscriptionPopupAfterAuth();checkCurrentUserPricingPlan();checkCurrentUserPricingPlan('middle');}catch(e){console.log("error getting current user pricing plan: "+e);}}}else if(response.ok==false){login_user_email.classList.remove('loading');if(response.status==500){var login_fail="Hmm, something went wrong. Let's try that again.";var p=document.getElementById('user-email-error');p.innerHTML=login_fail;p.setAttribute('className','bad-auth-error');p.setAttribute('style','display: flex;');}else if(response.status==400){var login_fail="Email/password combination incorrect. Let's try that again.";var p=document.getElementById('user-email-error');p.innerHTML=login_fail;p.setAttribute('className','bad-auth-error');p.setAttribute('style','display: flex;');}else{}}}}
function sleep_async(ms){return new Promise(resolve=>setTimeout(resolve,ms));}
async function social_auth(social_network,desired_username){const network_to_url={linkedin:'/accounts/linkedin_oauth2/login/?process=login',google:'/accounts/google/login/?process=login',github:'/accounts/github/login/?process=login'};var url=app_base_url+network_to_url[social_network];var openedWindow=window.open('about:blank','deepaiLogin','height=600,width=600,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,directories=no,status=no');await save_custom_signup_data(desired_username);openedWindow.location.href=url;while(true){await sleep_async(200);if(openedWindow.closed){return;}}}
async function social_signup(e,social_network){e.preventDefault();var user_email=document.getElementById('user-email');user_email.classList.add('loading');var p=document.getElementById('user-email-error');p.innerHTML='';p.setAttribute('style','display: none;');var validation_error=null;if(validation_error){p.innerHTML=validation_error;p.setAttribute('style','display: block;');user_email.classList.remove('loading');return;}
await social_auth(social_network,null);const response=await fetch(app_base_url+"/daily-time-sync/user/",{credentials:'include'});if(response.ok==true){user_email.classList.remove('loading');modal.close('cancelled');if(afterSignupFunction){await auth();afterSignupFunction();try{subscriptionPopupAfterAuth();checkCurrentUserPricingPlan();checkCurrentUserPricingPlan('middle');}catch(e){console.log("error getting current user pricing plan: "+e);}}else{await auth();try{subscriptionPopupAfterAuth();checkCurrentUserPricingPlan();checkCurrentUserPricingPlan('middle');}catch(e){console.log("error getting current user pricing plan: "+e);}}}else{user_email.classList.remove('loading');var signup_fail="Hmm, something went wrong. You might already have an account with that email, or your passwords do not match.";p.innerHTML=signup_fail;p.setAttribute('className','bad-auth-error');p.setAttribute('style','display: flex;');}}
async function social_login(e,social_network){e.preventDefault();await social_auth(social_network,null);var login_user_email=document.getElementById('user-email');login_user_email.classList.add('loading');const response=await fetch(app_base_url+"/daily-time-sync/user/",{credentials:'include'});if(response.ok==true){login_user_email.classList.remove('loading');login_modal.close('cancelled');await auth();try{subscriptionPopupAfterAuth();checkCurrentUserPricingPlan();checkCurrentUserPricingPlan('middle');}catch(e){console.log("error getting current user pricing plan: "+e);}}else{login_user_email.classList.remove('loading');var login_fail="Hmm, something went wrong. Let's try that again.";var p=document.getElementById('user-email-error');p.innerHTML=login_fail;p.setAttribute('className','bad-auth-error');p.setAttribute('style','display: flex;');}}
async function logout(){const response=await fetch(app_base_url+"/daily-time-sync/logout/",{method:'POST',credentials:'include'});localStorage.removeItem('user');localStorage.removeItem('hearts-cache');localStorage.removeItem('geniusChecked');localStorage.removeItem('onlineChecked');localStorage.removeItem('geniusVideoChecked');user_object={};window.location='/';}
async function resetPassword(e){var p=document.getElementById('user-email-error');p.innerHTML='';p.setAttribute('style','display: none;')
login_user_email=document.getElementById('user-email');login_user_email_value=login_user_email.value;var formData=new FormData();formData.append('email',login_user_email_value);const response=await fetch(app_base_url+"/password_reset_trigger",{method:'POST',credentials:'include',body:formData,});console.log(response);if(response.ok==true){var submission_success="Check your email inbox to reset password.";var p=document.getElementById('user-email-error');console.log(p);p.innerHTML=submission_success;p.setAttribute('class','good-auth-error');p.setAttribute('style','display: flex;');}else if(response.ok==false){var submission_success=document.getElementById("user-email").value?"Hmm something isn't right. Please try again or contact us.":"Please enter your email address above.";var p=document.getElementById('user-email-error');p.innerHTML=submission_success;p.setAttribute('class','bad-auth-error');p.setAttribute('style','display: flex;');}}
var thisPagePath=window.location.pathname;const social_modal=document.getElementById('social-modal');const openSocial=function(target_url){social_modal.showModal();const x_link=document.getElementById('x-link');var x_link_value="https://twitter.com/intent/tweet?url="+target_url;x_link.href=x_link_value;const facebook_link=document.getElementById('facebook-link');var facebook_link_value="https://www.facebook.com/sharer.php?u="+target_url;facebook_link.href=facebook_link_value;const linkedin_link=document.getElementById('linkedin-link');var linkedin_link_value="https://www.linkedin.com/shareArticle?mini=true&url="+target_url;linkedin_link.href=linkedin_link_value;const reddit_link=document.getElementById('reddit-link');var reddit_link_value="https://www.reddit.com/submit?url="+target_url;reddit_link.href=reddit_link_value;const social_link_input=document.getElementById('social-link-input');social_link_input.value=target_url;};const closeSocial=document.getElementById('close-social');async function shareMedia(target_url,isMusic=false){const share_url=target_url.replace('job-view','gallery-item').replace('art-image','gallery-item').replace('audio-gallery-item','gallery-item').replace('https://images.deepai.org',window.location.origin)+".html";const native_share_url=target_url.replace('gallery-item','get-media').replace('art-image','get-media').replace('https://images.deepai.org',window.location.origin)+'.html';async function fetchAssetAsBlob(url){const response=await fetch(url);if(!response.ok){throw new Error('Network response was not ok');}
return response.blob();}
try{const isDesktop=!navigator.userAgent.match(/(iPad|iPhone|iPod|android)/i);if(!isDesktop&&navigator.share){const blob=await fetchAssetAsBlob(native_share_url);const extension=native_share_url.split('.').pop();const isVideo=['mp4','webm','ogg'].includes(extension);const type=isVideo?'video':'image';const mimeType=isVideo?`video/${extension}`:('image/'+extension);const filename=`deepai-${type}.${extension}`;const file=new File([blob],filename,{type:mimeType});const text=isVideo?'Check out this cool video I made on DeepAI!':'Check out this cool image I made on DeepAI!';await navigator.share({files:[file],title:'DeepAI',text});console.log('Video shared successfully');return;}}catch(error){console.error('Error sharing the video:',error);}
social_modal.showModal();const message="Check out this video I generated with DeepAI!";const x_link=document.getElementById('x-link');var x_link_value="https://twitter.com/intent/tweet?url="+encodeURIComponent(share_url)+"&text="+encodeURIComponent(message);x_link.href=x_link_value;const facebook_link=document.getElementById('facebook-link');var facebook_link_value="https://www.facebook.com/sharer.php?u="+encodeURIComponent(share_url);facebook_link.href=facebook_link_value;const linkedin_link=document.getElementById('linkedin-link');var linkedin_link_value="https://www.linkedin.com/shareArticle?mini=true&url="+encodeURIComponent(share_url)+"&summary="+encodeURIComponent(message);linkedin_link.href=linkedin_link_value;const reddit_link=document.getElementById('reddit-link');var reddit_link_value="https://www.reddit.com/submit?url="+encodeURIComponent(share_url)+"&title="+encodeURIComponent(message);reddit_link.href=reddit_link_value;const social_link_input=document.getElementById('social-link-input');social_link_input.value=share_url;};closeSocial.addEventListener('click',()=>{social_modal.close('cancelled');})
social_modal.addEventListener('cancel',()=>{social_modal.close('cancelled');});social_modal.addEventListener('click',(event)=>{if(event.target===social_modal){social_modal.close('cancelled');}});function fragmentFromString(strHTML){return document.createRange().createContextualFragment(strHTML);}
document.querySelectorAll('.icon-container').forEach(container=>{const anchor=container.querySelector('a');const img=anchor.querySelector('img');const originalSrc=img.src;const hoverSrc=originalSrc.replace('.svg','-hover.svg');container.addEventListener('mouseenter',()=>{img.src=hoverSrc;});container.addEventListener('mouseleave',()=>{img.src=originalSrc;});});async function checkIfUserIsBlocked(){try{const response=await fetch('https://api.deepai.org/ping',{credentials:'include',method:'GET'});if(response.status===401){const textData=await response.text();return{success:true,message:textData};}else{return{success:false,message:''};}}catch(error){console.error('Error making the request:',error);return{success:false,message:'Network error or server not reachable'};}}
async function showAlertIfUserIsBlocked(){const result=await checkIfUserIsBlocked();if(result.success){alert(result.message);}}
window.onload=function(){if(document.getElementsByClassName('model-input-text-input').length>0)
document.getElementsByClassName('model-input-text-input')[0].focus();};const model_id="text2img";const remote_enhance_model_id="torch-srgan";const remote_remove_bg_model_id="rembg";const remote_zoom_out_model_id="zoom-out";const model_expected_runtime=60.0;var author_url_handle;function isValidUrl(string){try{new URL(string);return true;}catch(_){return false;}};function showUrlPrompt(e){e.preventDefault();var userInput=prompt('Image URL:');const isUrl=isValidUrl(userInput);if(userInput===null){return;}else if(userInput!==''&&isUrl){handleUserInput(userInput);}else{alert('Not a valid URL');return;}};async function handleUserInput(input){try{const response=await fetch(input);const contentType=response.headers.get('Content-Type');if(!contentType.startsWith('image/')){throw new Error('The URL does not point to an image');}
const blob=await response.blob();const fileInput=document.querySelector('.model-input-file-picker');var file=new File([blob],"pasted-image.png",{type:blob.type});var dataTransfer=new DataTransfer();dataTransfer.items.add(file);fileInput.files=dataTransfer.files;var verified_icon=document.getElementById('upload-verified-icon');verified_icon.setAttribute('style','opacity: 1');}catch(e){alert('No image found at URL');}};var switchToUrlUploadButton=document.getElementsByClassName('switchToUrlUploadButton')[0];var switchToFileUploadButton=document.getElementsByClassName('switchToFileUploadButton')[0];var currentUploadMode='file';function refreshUploadButtons(){if(currentUploadMode=='file'){[].forEach.call(document.querySelectorAll('.show-for-file-upload-mode'),function(el){el.style.display=null;});[].forEach.call(document.querySelectorAll('.show-for-url-upload-mode'),function(el){el.style.display='none';});}else if(currentUploadMode=='url'){[].forEach.call(document.querySelectorAll('.show-for-file-upload-mode'),function(el){el.style.display='none';});[].forEach.call(document.querySelectorAll('.show-for-url-upload-mode'),function(el){el.style.display=null;});}else{[].forEach.call(document.querySelectorAll('.show-for-file-upload-mode'),function(el){el.style.display='none';});[].forEach.call(document.querySelectorAll('.show-for-url-upload-mode'),function(el){el.style.display='none';});}}
if(document.getElementsByClassName('model-input-file-picker').length==0){currentUploadMode='text';}
refreshUploadButtons();let oldStandardImageDimensions=[[1024,576],[1024,720],[512,512],[768,1024],[576,1024]];let standardImageDimensions=[[704,384],[640,448],[512,512],[448,576],[384,704]];let hdImageDimensions=[[832,448],[768,576],[640,640],[576,768],[448,832]];let geniusSpeedImageDimensions=[[1216,832],[1152,896],[1024,1024],[896,1152],[832,1216]];let geniusQualityImageDimensions=[[1792,1024],[0,0],[1024,1024],[0,0],[1024,1792]];const preferenceMap={classic:'modelClassButton',hyperReal:'modelHyperRealButton',anime:'modelAnimeButton',photography:'modelPhotoButton',cinematic:'modelCinemaButton',graphic:'modelGraphicsButton'};const imageRandomInspirations=["A magical forest with talking owls and mischievous pixies among glowing mushrooms","A futuristic city with humanoid robots and neon-lit cafes","A space station filled with intergalactic traders orbiting a mysterious planet","A serene beach with dolphins and otters playing during sunset","A medieval castle overrun by rebellious squirrels and brave sparrows","A bustling market with magical creatures bartering ancient relics","A whimsical underwater world with mermaid dance competitions judged by sea turtles","An enchanted library with scholarly ghosts debating over floating books","A cozy cabin where bears share a meal with a traveler on a snowy evening","A steampunk dragon flying over a Victorian city, battling air pirates","A surreal dreamscape with an artist on a floating island painting reality","A playful jungle with curious monkeys concocting mischief","A futuristic sports stadium where humans and aliens compete with holographic displays"];async function deepaiClientLibraryLoadHandler(){if(currentUploadMode=='text'){if(sessionStorage.getItem('textModelSubmitInputsDict')){var inputs_dict=JSON.parse(sessionStorage.getItem('textModelSubmitInputsDict'));for(var textInput of document.getElementsByClassName("model-input-text-input")){textInput.value=inputs_dict[textInput.name];}
if(sessionStorage.getItem('textModelSubmitOnload')){sessionStorage.removeItem('textModelSubmitOnload');doSubmit(inputs_dict);}}
document.getElementById("old-model-checkbox-container").style.display="none";try{if(sessionStorage.getItem('textModelShapesSelectedId')){const savedShapeId=sessionStorage.getItem('textModelShapesSelectedId');selectShape(savedShapeId);}
if(sessionStorage.getItem('hdModelSelected')=='true'){highlightAndSelectGenerator('modelHdButton');}else if(sessionStorage.getItem('geniusModeModelSelected')=='true'){highlightAndSelectGenerator('modelGeniusModeButton');}else{highlightAndSelectGenerator('modelStandardButton');}
if(sessionStorage.getItem('qualitySelected')=='true'){highlightAndSelectPreference('modelQualityButton');}else{highlightAndSelectPreference('modelTurboButton');}
highlightAndSelectGeniusPreference(preferenceMap[sessionStorage.getItem('geniusPreference')]||'modelClassButton');}catch(e){console.warn("Error loading stored shape and model version: "+e);}}
if(document.getElementById("share-model-image")){document.getElementById("share-model-image").setAttribute("imagewasGenerated","False");}
document.getElementById("download-button").setAttribute("imagewasGenerated","False");document.getElementById("edit-options").setAttribute("imagewasGenerated","False");document.getElementById("edit-button").setAttribute("imagewasGenerated","False");try{await setAuthorUrlHandle();}catch(e){console.log("Error setting author url handle: "+e);}
try{await fetchRecentlyGeneratedImages();}catch(e){console.log("Error fetching recently generated images: "+e);}}
function copyText(text,clicked_class){navigator.clipboard.writeText(text);var copyTextElements=document.getElementsByClassName(clicked_class);for(var i=0;i<copyTextElements.length;i++){copyTextElements[i].innerHTML="Copied!";}}
async function toggleArtImageVisibility(artImageId){try{const request=await fetch(app_base_url+'/dashboard/toggle_artimage_visibility?image='+artImageId,{method:'POST',credentials:'include'});}catch(e){console.log('error updating image visibility',e);}
location.reload();}
function toggleOldModel(){var oldModelCheckbox=document.getElementById('model-old-style-checkbox');if(oldModelCheckbox.checked){sessionStorage.setItem('useOldModel','true');}else{sessionStorage.removeItem('useOldModel');}}
async function deleteArtImage(artImageId){if(window.confirm("Are you sure you want to delete this image? This cannot be undone.")){try{const request=await fetch(app_base_url+'/dashboard/delete_artimage?image='+artImageId,{method:'POST',credentials:'include'});}catch(e){console.log('error deleting image',e);}
location.reload();}}
function openArtModal(artImageId){const art_modal=document.getElementById('art-modal-'+artImageId);const art_image_wrapper=art_modal.querySelector('.art-image-wrapper')
art_modal.showModal();var copyLinkElements=document.getElementsByClassName("copy-link");var copyPromptElements=document.getElementsByClassName("copy-prompt");var copyElements=[copyLinkElements,copyPromptElements];for(var i=0;i<copyElements.length;i++){for(var j=0;j<copyElements[i].length;j++){if(copyElements.indexOf(copyElements[i])==0){copyElements[i][j].innerHTML="Copy Link";}else{copyElements[i][j].innerHTML="Copy Prompt";}}}
var copyLinkElements=[]
var copyPromptElements=[]
var copyElements=[];art_modal.addEventListener('cancel',()=>{art_modal.close('cancelled');});art_image_wrapper.addEventListener('click',()=>{art_modal.close('cancelled');});}
const genius_images_modal=document.getElementById('genius-images-modal');const closeGeniusImages=document.getElementById('close-genius-images');const openGeniusImageModal=function(){if(genius_images_modal){genius_images_modal.showModal();}};if(genius_images_modal){genius_images_modal.addEventListener('cancel',()=>{genius_images_modal.close('cancelled');});genius_images_modal.addEventListener('click',(event)=>{if(event.target===genius_images_modal){genius_images_modal.close('cancelled');}});}
if(closeGeniusImages){closeGeniusImages.addEventListener('click',()=>{if(genius_images_modal){genius_images_modal.close('cancelled');}});}
var verified_icon=document.getElementById('upload-verified-icon');console.log('loading masonry library...');var msnscript_recent=document.createElement("script");msnscript_recent.src="/static/js/libs/masonry.pkgd.min.js";msnscript_recent.type="text/javascript";msnscript_recent.async=true;msnscript_recent.onload=function(){var elem=document.querySelector('#recent-image');msnry_recent=new Masonry(elem,{itemSelector:'.grid-item',columnWidth:207,gutter:10,fitWidth:true,});};document.getElementsByTagName("head")[0].appendChild(msnscript_recent);var currentProgressTime=0;var currentProgressTimer=null;var currentlyRunningModel=false;function cancelProgressBar(){progressBar=document.getElementById('deepaiProgressBar');progressBar.style.width='0%';currentProgressTime=0;if(currentProgressTimer){window.clearInterval(currentProgressTimer);currentProgressTimer=null;}}
async function progressBarFunctionWrapper(functionToWrap){var expected_time=model_expected_runtime;if(!expected_time){expected_time=10;}
console.log('start progress bar');currentlyRunningModel=true;progressBar=document.getElementById('deepaiProgressBar');cancelProgressBar();try{var fps=60;currentProgressTimer=window.setInterval(function(){currentProgressTime++;var progress_pct=Math.tanh((currentProgressTime/fps)/expected_time)*100;progressBar.style.width=progress_pct+'%';},Math.round(1000/fps));await functionToWrap();}catch(e){console.log(e);}finally{console.log('end progress bar');currentlyRunningModel=false;cancelProgressBar();if(verified_icon){verified_icon.setAttribute('style','opacity: 0');document.getElementById('imgfile-input-image').value='';}}};for(var fileInput of document.getElementsByClassName('model-input-file-picker')){fileInput.onchange=function(changeEvent){verified_icon.setAttribute('style','opacity: 1');}}
function autoSubmit(){var inputs_dict={};if(currentUploadMode=='file'){for(var fileInput of document.getElementsByClassName('model-input-file-picker')){if(fileInput.value==""){return;}
inputs_dict[fileInput.name]=fileInput;}}else if(currentUploadMode=='url'){for(var urlInput of document.getElementsByClassName('model-input-url-input')){if(!urlInput.value){return;}
inputs_dict[urlInput.name]=urlInput.value;}}else{console.log('unknown upload input mode');}
for(var textInput of document.getElementsByClassName("model-input-text-input")){if(textInput.value==""){return;}
inputs_dict[textInput.name]=textInput.value;}
console.log('we got all the inputs needed to auto submit');doSubmit(inputs_dict);}
var pasteArea=document.getElementById('paste-area');const uploadImageInput=document.getElementsByClassName('model-input-file-picker')[0];if(pasteArea){pasteArea.addEventListener('click',handlePasteAreaClick);}
if(uploadImageInput){document.addEventListener('paste',function(event){const textareas=document.querySelectorAll('.model-input-text-input');const activeElement=document.activeElement;let isTextFieldFocused=false;textareas.forEach(function(textField){if(activeElement===textField){isTextFieldFocused=true;}});if(!isTextFieldFocused){handlePasteAreaClick();}});uploadImageInput.addEventListener('change',function(){if(uploadImageInput.value===""){const verified_icon=document.getElementById('upload-verified-icon');verified_icon.setAttribute('style','opacity: 0');}});}
async function handlePasteAreaClick(){try{const clipboardItems=await navigator.clipboard.read();for(const clipboardItem of clipboardItems){for(const type of clipboardItem.types){if(type.startsWith('image/')){const blob=await clipboardItem.getType(type);handleImagePaste(blob);return;}}}
alert('No image found in clipboard. Please copy an image first.');}catch(err){console.error('Failed to read clipboard contents: ',err);alert('Unable to access clipboard. Please ensure you have an image copied and try again.');}}
function handleImagePaste(blob){var fileInput=document.querySelector('.model-input-file-picker');var file=new File([blob],"pasted-image.png",{type:blob.type});var dataTransfer=new DataTransfer();dataTransfer.items.add(file);fileInput.files=dataTransfer.files;var verified_icon=document.getElementById('upload-verified-icon');verified_icon.setAttribute('style','opacity: 1');updatePasteAreaSuccess();}
function updatePasteAreaSuccess(){const pasteTextElem=document.getElementById('paste-area');pasteTextElem.textContent='Pasted!';setTimeout(()=>{pasteTextElem.innerText='paste (⌘/Ctrl +V)';},5000);}
var hdModelSelected=false;var geniusModeModelSelected=false;var buttonClicked=null;var turboSelected=false;var qualitySelected=false;var preferenceClicked=null;let geniusPreferenceClicked=null;function highlightAndSelectGenerator(id){if(buttonClicked!=null){buttonClicked.style.background="transparent";}
buttonClicked=document.getElementById(id);if(buttonClicked.hasAttribute('locked')){openGeniusImageModal();id="modelStandardButton";buttonClicked=document.getElementById(id);}
if(id=="modelGeniusModeButton"){buttonClicked.style.background="#8F37FF";geniusModeModelSelected=true;hdModelSelected=false;sessionStorage.removeItem('hdModelSelected');sessionStorage.setItem('geniusModeModelSelected','true');document.getElementById("edit_shape_2").style.display="none";document.getElementById("edit_shape_4").style.display="none";document.getElementById("old-model-checkbox-container").style.display="none";document.getElementById("standard-image-preference").style.display="none";document.getElementById("genius-image-preference").style.display="flex";}else{buttonClicked.style.background="#8F37FF";geniusModeModelSelected=false;sessionStorage.removeItem('geniusModeModelSelected');document.getElementById("edit_shape_2").style.display="block";document.getElementById("edit_shape_4").style.display="block";document.getElementById("old-model-checkbox-container").style.display="block";var oldModelCheckbox=document.getElementById('model-old-style-checkbox');oldModelCheckbox.checked=sessionStorage.getItem('useOldModel')=='true';document.getElementById("standard-image-preference").style.display="flex";document.getElementById("genius-image-preference").style.display="none";if(id=="modelHdButton"){hdModelSelected=true;sessionStorage.setItem('hdModelSelected','true');}else{hdModelSelected=false;sessionStorage.removeItem('hdModelSelected');}}
document.getElementsByClassName('model-input-text-input')[0].focus();}
function highlightAndSelectPreference(id){if(preferenceClicked!=null)
{preferenceClicked.style.background="transparent";}
preferenceClicked=document.getElementById(id);if(id=="modelTurboButton"){preferenceClicked.style.background="#8F37FF";turboSelected=true;qualitySelected=false;sessionStorage.removeItem('qualitySelected');sessionStorage.setItem('turboSelected','true');}
else{preferenceClicked.style.background="#8F37FF";turboSelected=false;qualitySelected=true;sessionStorage.removeItem('turboSelected');sessionStorage.setItem('qualitySelected','true');}
document.getElementsByClassName('model-input-text-input')[0].focus();}
function highlightAndSelectGeniusPreference(id){if(geniusPreferenceClicked!=null){geniusPreferenceClicked.style.background="transparent";}
geniusPreferenceClicked=document.getElementById(id);geniusPreferenceClicked.style.background="#8F37FF";const preferenceKey=Object.keys(preferenceMap).find(key=>preferenceMap[key]===id);sessionStorage.setItem("geniusPreference",preferenceKey||'classic');document.getElementsByClassName('model-input-text-input')[0].focus();}
function textModelSaveInputs(){var inputs_dict={};if(currentUploadMode=='file'){for(var fileInput of document.getElementsByClassName('model-input-file-picker')){if(fileInput.value==""){return;}
inputs_dict[fileInput.name]=fileInput;}}else if(currentUploadMode=='url'){for(var urlInput of document.getElementsByClassName('model-input-url-input')){if(!urlInput.value){return;}
inputs_dict[urlInput.name]=urlInput.value;}}else if(currentUploadMode=='text'){for(var textInput of document.getElementsByClassName("model-input-text-input")){if(textInput.value==""){return;}
inputs_dict[textInput.name]=textInput.value;}}else{console.log('Unknown upload input mode');}
for(var textInput of document.getElementsByClassName("model-input-text-input")){inputs_dict[textInput.name]=textInput.value;}
try{const savedShapeId=sessionStorage.getItem('textModelShapesSelectedId');var dims;if(hdModelSelected){if(sessionStorage.getItem('useOldModel')=='true'){if(turboSelected){dims=oldStandardImageDimensions[savedShapeId-1];}else{dims=geniusSpeedImageDimensions[savedShapeId-1];}}else{dims=hdImageDimensions[savedShapeId-1];}}else if(geniusModeModelSelected){dims=geniusQualityImageDimensions[savedShapeId-1];}else{if(sessionStorage.getItem('useOldModel')=='true'){dims=oldStandardImageDimensions[savedShapeId-1];}else{dims=standardImageDimensions[savedShapeId-1];}}
inputs_dict['width']=dims[0]+"";inputs_dict['height']=dims[1]+"";}catch(e){console.log("Couldn't get image shape from session storage",e);}
inputs_dict['image_generator_version']="standard";if(hdModelSelected){inputs_dict['image_generator_version']="hd";}
if(geniusModeModelSelected){inputs_dict['image_generator_version']="genius";}
if(!geniusModeModelSelected){if(sessionStorage.getItem('useOldModel')=='true'){inputs_dict['use_old_model']='true';}else{inputs_dict['use_old_model']='false';}}
if(turboSelected){inputs_dict['turbo']='true';}else if(qualitySelected){inputs_dict['quality']='true';}
if(geniusPreferenceClicked){inputs_dict['genius_preference']=sessionStorage.getItem("geniusPreference");}
sessionStorage.setItem('textModelSubmitInputsDict',JSON.stringify(inputs_dict));}
function shareImage(){const url=document.getElementById('place_holder_picture_model').querySelector('img').alt;shareMedia(url);}
function textModelSubmit(){const paidModelIds=['zoom-out'];const textInputs=document.getElementsByClassName("model-input-text-input");if(textInputs&&textInputs.length>0&&textInputs[0].value===""){const randomPrompt=imageRandomInspirations[Math.floor(Math.random()*imageRandomInspirations.length)];textInputs[0].value=randomPrompt;}
const isUserRestricted=!user_object.hasOwnProperty('userprofile2')||user_object?.userprofile2?.locked_out_due_to_no_payment_info;if(paidModelIds.includes(model_id)&&isUserRestricted){openSubscription();return;}
var num_images=document.getElementsByClassName('model-input-file-picker').length;var num_text=document.getElementsByClassName('model-input-text-input').length;if(num_images==0&&num_text==1){textModelSaveInputs();sessionStorage.setItem('textModelSubmitOnload','true');window.location.reload();}else{console.log('submitting');autoSubmit();}}
function showTryItError(message,intoElement){intoElement.innerHTML='';var pre=document.createElement("pre");pre.textContent=message;pre.style.whiteSpace="pre-wrap";pre.style.margin='0px';intoElement.appendChild(pre);}
function showShapeOptions(){var x=document.getElementById("suboutline-try-it");if(x.style.display==="none"){x.style.display="flex";}else{x.style.display="none";}}
function selectShape(id){for(let i=1;i<=5;i++){if(i==id){document.getElementById("edit_shape_"+i).setAttribute("iscurrentshape","True");imageModelSaveShapes(id);}else{document.getElementById("edit_shape_"+i).setAttribute("iscurrentshape","False");}}}
function imageModelSaveShapes(id){sessionStorage.setItem('textModelShapesSelectedId',id);}
function toDataURL(url){return fetch(url).then((response)=>{return response.blob();}).then(blob=>{return URL.createObjectURL(blob);});}
function removeOptionFromImageSelector(option){const selectobject=document.getElementById("edit-options");for(let i=0;i<selectobject.options.length;i++){if(selectobject.options[i].value===option){selectobject.options[i].style.display="none";break;}}
selectobject.value="default";};function handleImageOptionChange(){const selectobject=document.getElementById("edit-options");const selectorValue=selectobject.value;if(["zoom-out"].includes(selectorValue)){if(!user_object.hasOwnProperty('userprofile2')||user_object?.userprofile2?.locked_out_due_to_no_payment_info){openSubscription();selectobject.value="default";}}};function handleImageOptionSubmit(){const selectorValue=document.getElementById("edit-options").value;if(selectorValue==="enhance"){enhance_image();}else if(selectorValue==="remove-bg"){remove_bg_image();}else if(selectorValue==="animate"){animate_image();}else if(selectorValue==="zoom-out"){zoom_out();}};async function download_image(){let url=document.getElementById('place_holder_picture_model').firstElementChild.src;console.log(url);const a=document.createElement("a");a.href=await toDataURL(url);a.download="";document.body.appendChild(a);a.click();document.body.removeChild(a);}
async function enhance_image(){var inputs_dict={};let url=document.getElementById('place_holder_picture_model').firstElementChild.src;var urlInputName='image';var urlInputValue=url;inputs_dict[urlInputName]=urlInputValue;doSubmit(inputs_dict,{enhanceEnable:true});}
async function remove_bg_image(){var inputs_dict={};let url=document.getElementById('place_holder_picture_model').firstElementChild.src;var urlInputName='image';var urlInputValue=url;inputs_dict[urlInputName]=urlInputValue;doSubmit(inputs_dict,{removeBgEnable:true});}
async function animate_image(){let url=document.getElementById('place_holder_picture_model').firstElementChild.src;const inputs_dict={"url":url,};sessionStorage.setItem('imageModelSubmitInputsDict',JSON.stringify(inputs_dict));sessionStorage.setItem('imageModelSubmitOnload','true');window.location.href="/video";}
async function zoom_out(){var inputs_dict={};let url=document.getElementById('place_holder_picture_model').firstElementChild.src;var urlInputName='image';var urlInputValue=url;inputs_dict[urlInputName]=urlInputValue;doSubmit(inputs_dict,{zoomOutEnable:true});}
async function doSubmit(inputs_dict,options){try{showAlertIfUserIsBlocked()}catch(e){console.log("Error checking if user is blocked",e);}
progressBarFunctionWrapper(async function(){var targetElement=document.getElementsByClassName('try-it-result-area')[0];var targetErrorElement=document.getElementById('tryItResultError');try{if(document.getElementById('modelSubmitButton')){document.getElementById('modelSubmitButton').disabled=true;}
if(document.getElementById('other-model-links')){document.getElementById('other-model-links').classList.add('disabled');}
if(document.getElementById("edit-button")){document.getElementById("edit-button").disabled=true;}
var myrandomstr=Math.round((Math.random()*100000000000))+"";var myhashfunction=function(){for(var a=[],b=0;64>b;)
a[b]=0|4294967296*Math.sin(++b%Math.PI);return function(c){var d,e,f,g=[d=1732584193,e=4023233417,~d,~e],h=[],l=unescape(encodeURI(c))+"\u0080",k=l.length;c=--k/4+2|15;for(h[--c]=8*k;~k;)
h[k>>2]|=l.charCodeAt(k)<<8*k--;for(b=l=0;b<c;b+=16){for(k=g;64>l;k=[f=k[3],d+((f=k[0]+[d&e|~d&f,f&d|~f&e,d^e^f,e^(d|~f)][k=l>>4]+a[l]+~~h[b|[l,5*l+1,3*l+5,7*l][k]&15])<<(k=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*k+l++%4])|f>>>-k),d,e])
d=k[1]|0,e=k[2];for(l=4;l;)
g[--l]+=k[l]}
for(c="";32>l;)
c+=(g[l>>3]>>4*(1^l++)&15).toString(16);return c.split("").reverse().join("")}}();var tryitApiKey='tryit-'+myrandomstr+'-'+myhashfunction(navigator.userAgent+myhashfunction(navigator.userAgent+myhashfunction(navigator.userAgent+myrandomstr+'i_am_a_smelly_hacker_yes_i_am')));let response;if(options&&options['enhanceEnable']){var formData=new FormData();for(let key of Object.keys(inputs_dict)){const input=inputs_dict[key];if(!input)continue;if(typeof input==="string"){formData.append(key,input);}else{formData.append(key,input.files[0]);}}
response=await fetch(app_base_url+'/api/'+remote_enhance_model_id,{method:'POST',headers:{"api-key":tryitApiKey},body:formData,credentials:'include',});var enhanced=true;}else if(options&&options['removeBgEnable']){var formData=new FormData();for(let key of Object.keys(inputs_dict)){const input=inputs_dict[key];if(!input)continue;if(typeof input==="string"){formData.append(key,input);}else{formData.append(key,input.files[0]);}}
response=await fetch(app_base_url+'/api/'+remote_remove_bg_model_id,{method:'POST',headers:{"api-key":tryitApiKey},body:formData,credentials:'include',});var removedBg=true;}else if(options&&options['zoomOutEnable']){var formData=new FormData();for(let key of Object.keys(inputs_dict)){const input=inputs_dict[key];if(!input)continue;if(typeof input==="string"){formData.append(key,input);}else{formData.append(key,input.files[0]);}}
response=await fetch(app_base_url+'/api/'+remote_zoom_out_model_id,{method:'POST',headers:{"api-key":tryitApiKey},body:formData,credentials:'include',});}else{var formData=new FormData();for(let key of Object.keys(inputs_dict)){const input=inputs_dict[key];if(!input)continue;if(typeof input==="string"){formData.append(key,input);}else{formData.append(key,input.files[0]);}}
response=await fetch(app_base_url+'/api/'+model_id,{method:'POST',headers:{"api-key":tryitApiKey},body:formData,credentials:'include',});}
if(!response){}
var result=await response.json();if(document.getElementById('modelSubmitButton')){document.getElementById('modelSubmitButton').disabled=false;}
if(document.getElementById('other-model-links')){document.getElementById('other-model-links').classList.remove('disabled');}
if(document.getElementById("edit-button")){document.getElementById("edit-button").disabled=false;}
if(result&&result.err){showTryItError(result.error,targetErrorElement);throw new Error(result.error);return;}
if(result&&result.status){showTryItError(result.status,targetErrorElement);throw new Error(result.status);return;}}catch(e){if(document.getElementById('modelSubmitButton')){document.getElementById('modelSubmitButton').disabled=false;}
if(document.getElementById('other-model-links')){document.getElementById('other-model-links').classList.remove('disabled');}
if(e&&result&&result.err){showTryItError(result.err,targetErrorElement);return;}else if(e&&result&&result.status){if(result.status==="anonymous try it exceeded"||result.status==="model only available to logged in users"){openSignup(()=>{},"Sign Up to Keep Creating!");return;}
if(result.status==="signed in try-it quota exceeded"){openSubscription();return;}
if(result.status==="model only available to paid users"){openSubscription();return;}
if(result.status==="pro user out of credits"){openOutOfCredits(result.credits_remaining);return;}
showTryItError(result.status,targetErrorElement);return;}else{console.log("error in tryItApiKeySubmit");console.log(e);showTryItError("Oops, something went wrong with the request. Please try again.",targetErrorElement);return;}}
targetElement.innerHTML="";targetErrorElement.innerHTML="";if(result.output_url){console.log("got image output");var img_tag=document.createElement("img");img_tag.src=result.output_url;img_tag.alt=result.share_url;img_tag.style.position="relative";img_tag.style.width="100%";img_tag.style.height="100%";img_tag.style.objectFit="contain";targetElement.appendChild(img_tag);try{fetchRecentlyGeneratedImages();}catch(e){console.log("Error fetching recently generated images after generation finished: "+e);}}else{targetErrorElement.innerHTML="Model did not return an output or an error.";}
if(result.output_url&&result.output_url.indexOf("art-image")!==-1){if(document.getElementById("share-model-image")){document.getElementById("share-model-image").setAttribute("imagewasGenerated","True");}}
if(document.getElementById("share-model-image")){document.getElementById("share-model-image").setAttribute("imagewasGenerated","True");}
document.getElementById("download-button").setAttribute("imagewasGenerated","True");document.getElementById("edit-options").setAttribute("imagewasGenerated","True");document.getElementById("edit-button").setAttribute("imagewasGenerated","True");const user_object=JSON.parse(localStorage.getItem('user')||'{}');if(enhanced){if(targetErrorElement.innerHTML==""){removeOptionFromImageSelector("enhance");}}
if(model_id!="background-remover"){if(removedBg){if(targetErrorElement.innerHTML==""){removeOptionFromImageSelector("remove-bg");}}}});}
async function setAuthorUrlHandle(){if(!userIsLoggedIn()){return;}
const response=await fetch(app_base_url+"/fetch_user_handle",{credentials:'include',method:'GET'});const jsonResp=await response.json();author_url_handle=jsonResp.author_url_handle;};async function fetchRecentlyGeneratedImages(){if(!author_url_handle){return;}
const maxImages=10;const url=app_base_url+'/category_page_row_listing/author_profile_page_images/newest/0?author='+author_url_handle;if(!url){return;}
try{const apiResult=await fetch(url,{credentials:'include'});if(!apiResult.ok){throw apiResult}
const apiResultHtml=await apiResult.text();const recentImages=document.getElementById('recent-image');const newElements=fragmentFromString(apiResultHtml);const childrenArray=Array.from(newElements.children);const numOfImages=Math.min(maxImages,childrenArray.length);for(let i=0;i<numOfImages;i++){const newElement=childrenArray[i];if(recentImages.querySelector(`[objectid="${newElement.attributes.objectid.value}"][objectclass="${newElement.attributes.objectclass.value}"]`)){console.log('skipping duplicate objectclass/objectid: ',newElement.attributes.objectclass.value,newElement.attributes.objectid.value);continue;}
var elem_img=recentImages.appendChild(newElement).className="grid-item";if(msnry_recent){msnry_recent.appended(newElement);}}
if(numOfImages>0){document.getElementsByClassName('grid-title')[0].style.display='block';document.getElementsByClassName('link')[0].style.display='block';}}catch(e){console.warn("Error loading stored images");}};for(let otherLink of document.getElementsByClassName('other-model-button')){(function(){const otherlink2=otherLink;otherLink.onclick=function(){if(otherlink2.attributes.iscurrentmodel.value=='True'){return false;}
if(currentlyRunningModel){}
textModelSaveInputs();return true;};})();}
function toggleShowAllOptions(event){if(event.target.checked){document.getElementById('model-all-options-container').setAttribute('showall','true');sessionStorage.setItem('showallModelOptions','true');}else{document.getElementById('model-all-options-container').removeAttribute('showall');sessionStorage.removeItem('showallModelOptions');}}
try{const showallModelOptions=sessionStorage.getItem('showallModelOptions');if(showallModelOptions){document.getElementById('model-options-checkbox').checked=true;document.getElementById('model-all-options-container').setAttribute('showall','true');}}catch(e){console.log('error restoring showallModelOptions',e);}
console.log('loading masonry library...');var msnscript=document.createElement("script");msnscript.src="/static/js/libs/masonry.pkgd.min.js";msnscript.type="text/javascript";msnscript.async=true;msnscript.onload=function(){var elem=document.querySelector('#main-list');msnry=new Masonry(elem,{itemSelector:'.art-grid-item, .card-list-item',columnWidth:200,gutter:10,fitWidth:true,});};document.getElementsByTagName("head")[0].appendChild(msnscript);async function save_user_sees_ads_value(){var user_sees_ads=false;if(typeof Criteo==='object'){user_sees_ads=true;}
console.log('user_sees_ads: ',user_sees_ads);const url=app_base_url+'/set_user_sees_ads';const form=new FormData();form.append('user_sees_ads',user_sees_ads+"");const apiResult=await fetch(url,{method:'POST',body:form,credentials:'include'});if(!apiResult.ok){throw apiResult}}
setTimeout(save_user_sees_ads_value,10000);deepaiClientLibraryLoadHandler();textInput=document.getElementsByClassName('model-input-text-input')[0];if(textInput){textInput.addEventListener("keypress",function(event){if(event.key==="Enter"&&!event.shiftKey){event.preventDefault();textModelSubmit();}});textInput.addEventListener('input',function(event){maxHeight=125;if(textInput.scrollHeight>maxHeight){textInput.style.height=maxHeight+"px";}else{textInput.style.height="auto";textInput.style.height=(textInput.scrollHeight)+"px";}});};</script>
<iframe marginwidth="0" marginheight="0" scrolling="no" frameborder="0" id="1ce90dfa20dc57" width="0" height="0" src="about:blank" name="__pb_locator__" style="display: none; height: 0px; width: 0px; border: 0px;"></iframe><iframe name="__tcfapiLocator" style="display: none;"></iframe><iframe name="__gppLocator" style="display: none;"></iframe><div id="sp_message_container_1169476" style="display: block;"><iframe src="https://cdn.privacy-mgmt.com/index.html?hasCsp=true&message_id=1169476&consentUUID=null&consent_origin=https%3A%2F%2Fcdn.privacy-mgmt.com%2Fconsent%2Ftcfv2&preload_message=true&version=v1" id="sp_message_iframe_1169476" title="SP Consent Message"></iframe></div></body></html>