Spaces:
Configuration error
Configuration error
| function submitKey(event) { | |
| event.preventDefault(); | |
| localStorage.setItem("key", document.getElementById("apiKey").value); | |
| document.getElementById("apiKey").blur(); | |
| } | |
| function genAudio(event) { | |
| event.preventDefault(); | |
| const input = document.getElementById("input").value; | |
| const key = localStorage.getItem("key"); | |
| tts(key, input); | |
| } | |
| async function tts(key, input) { | |
| document.getElementById("loader").style.display = "block"; | |
| document.getElementById("input").value = ""; | |
| document.getElementById("input").disabled = true; | |
| const model = document.getElementById("tts-model").value; | |
| const response = await fetch("/tts", { | |
| method: "POST", | |
| headers: { | |
| Authorization: `Bearer ${key}`, | |
| "Content-Type": "application/json", | |
| }, | |
| body: JSON.stringify({ | |
| model: model, | |
| input: input, | |
| }), | |
| }); | |
| if (!response.ok) { | |
| const jsonData = await response.json(); // Now safely parse JSON | |
| var div = document.getElementById('result'); | |
| div.innerHTML = '<p style="color:red;">Error: ' +jsonData.error.message + '</p>'; | |
| return; | |
| } | |
| var div = document.getElementById('result'); // Get the div by its ID | |
| var link=document.createElement('a'); | |
| link.className = "m-2 float-right inline-block rounded bg-primary px-6 pb-2.5 mb-3 pt-2.5 text-xs font-medium uppercase leading-normal text-white shadow-primary-3 transition duration-150 ease-in-out hover:bg-primary-accent-300 hover:shadow-primary-2 focus:bg-primary-accent-300 focus:shadow-primary-2 focus:outline-none focus:ring-0 active:bg-primary-600 active:shadow-primary-2 dark:shadow-black/30 dark:hover:shadow-dark-strong dark:focus:shadow-dark-strong dark:active:shadow-dark-strong"; | |
| link.innerHTML = "<i class='fa-solid fa-download'></i> Download result"; | |
| const blob = await response.blob(); | |
| link.href=window.URL.createObjectURL(blob); | |
| div.innerHTML = ''; // Clear the existing content of the div | |
| div.appendChild(link); // Add the new img element to the div | |
| console.log(link) | |
| document.getElementById("loader").style.display = "none"; | |
| document.getElementById("input").disabled = false; | |
| document.getElementById("input").focus(); | |
| } | |
| document.getElementById("key").addEventListener("submit", submitKey); | |
| document.getElementById("input").focus(); | |
| document.getElementById("tts").addEventListener("submit", genAudio); | |
| document.getElementById("loader").style.display = "none"; | |
| const storeKey = localStorage.getItem("key"); | |
| if (storeKey) { | |
| document.getElementById("apiKey").value = storeKey; | |
| } | |