AI Book Cover Creator
Maximum 300 characters are accepted for the back cover summary.
0 / 300 characters
Romantic
Drama
Comedy
Educational
Historical
Generating printable covers... Please wait.
Your back cover summary is too long.
You entered ${synopsis.length} characters. The maximum allowed is 300 characters. Please shorten your summary before generating the cover.
`; checkSynopsisLength(); return; } /* ========================================= TITLE VALIDATION ========================================= */ if(!title){ resultBox.innerHTML = "Please enter your book title.
"; return; } /* ========================================= AUTHOR VALIDATION ========================================= */ if(!author){ resultBox.innerHTML = "Please enter the author name.
"; return; } /* ========================================= SUMMARY VALIDATION ========================================= */ if(!synopsis){ resultBox.innerHTML = "Please enter your back cover summary.
"; return; } /* ========================================= FINAL LENGTH CHECK ========================================= */ if(!checkSynopsisLength()){ return; } /* ========================================= CLEAR OLD RESULT ========================================= */ resultBox.innerHTML = ""; /* ========================================= SHOW LOADING ========================================= */ loadingMessage.style.display = "block"; generateBtn.disabled = true; generateBtn.style.opacity = "0.5"; /* ========================================= SEND REQUEST ========================================= */ try{ const res = await fetch(API,{ method:"POST", headers:{ "Content-Type":"application/json" }, body:JSON.stringify({ title:title, author:author, synopsis:synopsis, genre:genre }) }); /* ========================================= GET SERVER RESPONSE ========================================= */ const data = await res.json(); /* ========================================= SERVER ERROR ========================================= */ if(!res.ok){ throw new Error( data.error || "Something went wrong. Please try again." ); } /* ========================================= CHECK COVER DATA ========================================= */ if(!data.frontCover){ throw new Error( "Front cover was not generated." ); } if(!data.backCover){ throw new Error( "Back cover was not generated." ); } /* ========================================= DISPLAY COVERS ========================================= */ resultBox.innerHTML = `${err.message}
`; } /* ========================================= FINISH LOADING ========================================= */ loadingMessage.style.display = "none"; generateBtn.disabled = false; generateBtn.style.opacity = "1"; generateBtn.style.cursor = "pointer"; /* ========================================= RECHECK SUMMARY ========================================= */ checkSynopsisLength(); } })();
