// Step 1: Generate the banner prompt
const promptHeaders = new Headers();
promptHeaders.append("Content-Type", "application/json");
promptHeaders.append("api-key", "<YOUR_API_KEY>"); // Replace with your API key
const promptRaw = JSON.stringify({
"command_name": "banner_prompt",
"description": "droplinked , we are a company offering web3 based and onchain solution to businesses and indivisuals .",
"category": "technology"
});
const promptRequestOptions = {
method: "POST",
headers: promptHeaders,
body: promptRaw,
redirect: "follow"
};
fetch("https://text-tad.droplinked.workers.dev/", promptRequestOptions)
.then((response) => response.json())
.then((promptResult) => {
const bannerPrompt = promptResult.output;
// Step 2: Submit to Segmind (Option: With Logo)
const segmindHeaders = new Headers();
segmindHeaders.append("x-api-key", "<YOUR_SEGMIND_API_KEY>"); // Replace with your Segmind API key
segmindHeaders.append("Content-Type", "application/json");
const segmindRaw = JSON.stringify({
"input_description": bannerPrompt,
"input_seed": "1",
"input_logo": "https://upload-file-droplinked.s3.amazonaws.com/860b369c4ceefd8b643713e955f487423b080e424cda8379ff0860c4bd92395f_small.jpg"
});
const segmindRequestOptions = {
method: "POST",
headers: segmindHeaders,
body: segmindRaw,
redirect: "follow"
};
// Change the URL for "Without Logo" option if needed
const segmindUrl = "https://api.segmind.com/workflows/67792f3899c1698a193130be-v2"; // Use 67d66d953fccc7a19c84cfa1-v1 for "Without Logo"
return fetch(segmindUrl, segmindRequestOptions)
.then((response) => response.json())
.then((segmindResult) => {
const pollUrl = segmindResult.poll_url;
// Step 3: Poll for the final image URL
const pollHeaders = new Headers();
pollHeaders.append("x-api-key", "<YOUR_SEGMIND_API_KEY>");
const pollRequestOptions = {
method: "GET",
headers: pollHeaders,
redirect: "follow"
};
// Polling loop
const pollForResult = () => {
fetch(pollUrl, pollRequestOptions)
.then((pollResponse) => pollResponse.json())
.then((pollResult) => {
if (pollResult.status === "COMPLETED") {
const output = JSON.parse(pollResult.output);
const imageUrl = output[0].value.data;
console.log("Final Banner URL:", imageUrl);
// Display the banner
const imgElement = document.createElement("img");
imgElement.src = imageUrl;
document.body.appendChild(imgElement);
} else {
console.log("Still processing, status:", pollResult.status);
setTimeout(pollForResult, 5000); // Retry after 5 seconds
}
})
.catch((error) => console.error("Polling Error:", error));
};
pollForResult();
});
})
.catch((error) => console.error("Prompt Generation Error:", error));