|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function submitKey(event) { |
|
event.preventDefault(); |
|
localStorage.setItem("key", document.getElementById("apiKey").value); |
|
document.getElementById("apiKey").blur(); |
|
} |
|
|
|
|
|
function genImage(event) { |
|
event.preventDefault(); |
|
const input = document.getElementById("input").value; |
|
const key = localStorage.getItem("key"); |
|
|
|
promptDallE(key, input); |
|
|
|
} |
|
|
|
async function promptDallE(key, input) { |
|
document.getElementById("loader").style.display = "block"; |
|
document.getElementById("input").value = ""; |
|
document.getElementById("input").disabled = true; |
|
|
|
const model = document.getElementById("image-model").value; |
|
const response = await fetch("/v1/images/generations", { |
|
method: "POST", |
|
headers: { |
|
Authorization: `Bearer ${key}`, |
|
"Content-Type": "application/json", |
|
}, |
|
body: JSON.stringify({ |
|
model: model, |
|
steps: 10, |
|
prompt: input, |
|
n: 1, |
|
size: "512x512", |
|
}), |
|
}); |
|
const json = await response.json(); |
|
if (json.error) { |
|
|
|
var div = document.getElementById('result'); |
|
div.innerHTML = '<p style="color:red;">' + json.error.message + '</p>'; |
|
return; |
|
} |
|
const url = json.data[0].url; |
|
|
|
var div = document.getElementById('result'); |
|
var img = document.createElement('img'); |
|
img.src = url; |
|
img.alt = 'Generated image'; |
|
|
|
div.innerHTML = ''; |
|
div.appendChild(img); |
|
|
|
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("genimage").addEventListener("submit", genImage); |
|
document.getElementById("loader").style.display = "none"; |
|
|
|
const storeKey = localStorage.getItem("key"); |
|
if (storeKey) { |
|
document.getElementById("apiKey").value = storeKey; |
|
} |
|
|
|
|