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 };