import Weights from "@weights-ai/sdk";
const client = new Weights({
bearerToken: "your-api-key-here",
});
async function generateImage(prompt: string) {
try {
// Create the image generation job
console.log("Creating image generation job...");
const job = await client.images.create({
prompt: prompt,
dimensions: "LANDSCAPE",
numImages: 1,
});
console.log(`Job created with ID: ${job.id}`);
// Poll for completion
let completed = false;
while (!completed) {
await new Promise((resolve) => setTimeout(resolve, 3_000)); // Wait 3 seconds
const status = await client.images.retrieve(job.id);
console.log(`Status: ${status.status}`);
if (status.status === "SUCCEEDED") {
console.log("Image generated successfully!");
console.log("Download URL:", status.outputUrls[0]);
completed = true;
} else if (status.status === "ERRORED") {
console.log("Generation failed");
completed = true;
}
}
} catch (error) {
console.error("Error:", error.message);
}
}
// Generate an image
generateImage("A magical forest with glowing mushrooms and fairy lights");