Back to Library
Ihancer
js • 1/27/2026
13
const axios = require("axios");
const FormData = require("form-data");
async function ihancer(url, method = 1, size = "low") {
const _size = ["low", "medium", "high"];
if (!url) throw new Error("URL parameter is required");
if (method < 1 || method > 4) method = 1;
if (!_size.includes(size)) size = "low";
try {
const imageResponse = await axios.get(url, { responseType: 'arraybuffer' });
const buffer = Buffer.from(imageResponse.data);
const form = new FormData();
form.append("method", method.toString());
form.append("is_pro_version", "false");
form.append("is_enhancing_more", "false");
form.append("max_image_size", size);
form.append("file", buffer, `image_${Date.now()}.jpg`);
const { data } = await axios.post("https://ihancer.com/api/enhance", form, {
headers: {
...form.getHeaders(),
"accept-encoding": "gzip",
"host": "ihancer.com",
"user-agent": "Dart/3.5 (dart:io)",
},
responseType: "arraybuffer",
});
return data;
} catch (error) {
console.error("Ihancer Error:", error.message);
throw new Error("Gagal memproses gambar. Pastikan URL valid atau server sedang sibuk.");
}
}
module.exports = { ihancer };