Skip to content

Instantly share code, notes, and snippets.

@xbladev
Last active February 14, 2026 13:59
Show Gist options
  • Select an option

  • Save xbladev/2648f260be30c97eecfc76fa1192a862 to your computer and use it in GitHub Desktop.

Select an option

Save xbladev/2648f260be30c97eecfc76fa1192a862 to your computer and use it in GitHub Desktop.
ai image gen
const axios = require("axios");
const https = require("https");
const fs = require("fs");
const FormData = require("form-data");
const sizeOptions = [
"1216x832", "1152x896", "1344x768", "1563x640",
"832x1216", "896x1152", "768x1344", "640x1536", "1024x1024"
];
class Zonerai {
constructor() {
this.baseUrl = "https://api.zonerai.com";
this.headers = {
"Origin": "https://zonerai.com",
"Referer": "https://zonerai.com/",
"User-Agent": "Mozilla/5.0",
"X-Client-Platform": "web"
};
}
async text2img(prompt, size = "1216x832", upscale = 0) {
if (!prompt) throw new Error("Prompt is required");
const formData = new FormData();
formData.append("Prompt", prompt);
formData.append("Size", size);
formData.append("Upscale", upscale);
formData.append("Language", "eng_Latn");
formData.append("Batch_Index", 0);
const { data } = await axios.post(
`${this.baseUrl}/zoner-ai/txt2img`,
formData,
{
headers: {
...this.headers,
...formData.getHeaders()
},
responseType: "arraybuffer",
httpsAgent: new https.Agent({ rejectUnauthorized: false })
}
);
return data;
}
}
(async () => {
try {
const zonerai = new Zonerai();
// ur promt
const prompt = "cyberpunk samurai girl, ultra detailed, 4k";
const size = sizeOptions.includes("1024x1024") ? "1024x1024" : "1216x832";
console.log("Generating image...");
const buffer = await zonerai.text2img(prompt, size);
fs.writeFileSync("zonerai_test.png", buffer);
console.log("Image saved as zonerai_test.png");
} catch (err) {
console.error("Error:", err.message);
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment