KitsuLabs
.
Edit Snippet
Perbarui kode atau detail snippet ini.
Filename / Title
Language
JavaScript
Python
HTML
CSS
JSON
SQL
Bash
TypeScript
PHP
Java
Go
Rust
Description
(Optional)
Aiart & background remover, Wrapper from magicstudio.com.
Tags
Code Content
*
/*** @ Base: https://magicstudio.com/ @ Author: Shannz @ Desc: Aiart & background remover, Wrapper from magicstudio.com. ***/ import axios from 'axios'; import FormData from 'form-data'; import { v4 as uuidv4 } from 'uuid'; import fs from 'fs'; import path from 'path'; import { uploadFile } from 'cloudsky-storage'; function generateClientId(length = 40) { const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; let id = ''; for (let i = 0; i < length; i++) { id += chars.charAt(Math.floor(Math.random() * chars.length)); } return id; } function getMimeType(filePath) { const ext = path.extname(filePath).toLowerCase(); if (ext === '.png') return 'image/png'; if (ext === '.webp') return 'image/webp'; return 'image/jpeg'; } export const magicstudio = { aiart: async (prompt) => { const anonymousUserId = uuidv4(); const requestTimestamp = (Date.now() / 1000).toFixed(3); const clientId = generateClientId(); const formData = new FormData(); formData.append('prompt', prompt); formData.append('output_format', 'bytes'); formData.append('user_profile_id', 'null'); formData.append('anonymous_user_id', anonymousUserId); formData.append('request_timestamp', requestTimestamp); formData.append('user_is_subscribed', 'false'); formData.append('client_id', clientId); const config = { method: 'POST', url: 'https://ai-api.magicstudio.com/api/ai-art-generator', headers: { ...formData.getHeaders(), 'User-Agent': 'ScRaPe/9.9 (KaliLinux; Nusantara Os; My/Shannz)', 'Accept': 'application/json, text/plain, */*', 'origin': 'https://magicstudio.com', 'referer': 'https://magicstudio.com/ai-art-generator/' }, responseType: 'arraybuffer', data: formData }; try { const response = await axios.request(config); const imageBuffer = Buffer.from(response.data); const fileName = `aiart-${Date.now()}.jpg`; const upload = await uploadFile(imageBuffer, fileName); if (upload.success) { return upload.data.url; } else { throw new Error(upload.message || "Upload ke Cloudsky gagal"); } } catch (error) { console.error('Error di aiart:', error.message || error); return 'Gagal membuat atau mengupload gambar.'; } }, removebg: async (filePath) => { try { if (!fs.existsSync(filePath)) { throw new Error(`File tidak ditemukan: ${filePath}`); } const imageBuffer = fs.readFileSync(filePath); const mimeType = getMimeType(filePath); const base64Data = imageBuffer.toString('base64'); const dataUri = `data:${mimeType};base64,${base64Data}`; const anonymousUserId = uuidv4(); const requestTimestamp = (Date.now() / 1000).toFixed(3); const clientId = generateClientId(); const formData = new FormData(); formData.append('image', dataUri); formData.append('output_type', 'image'); formData.append('output_format', 'url'); formData.append('auto_delete_data', 'true'); formData.append('user_profile_id', 'null'); formData.append('anonymous_user_id', anonymousUserId); formData.append('request_timestamp', requestTimestamp); formData.append('user_is_subscribed', 'false'); formData.append('client_id', clientId); const config = { method: 'POST', url: 'https://ai-api.magicstudio.com/api/remove-background', headers: { ...formData.getHeaders(), 'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Mobile Safari/537.36', 'Accept': 'application/json, text/plain, */*', 'origin': 'https://magicstudio.com', 'referer': 'https://magicstudio.com/background-remover/editor/' }, data: formData }; const response = await axios.request(config); if (response.data && response.data.status === 'success' && response.data.results) { return response.data.results[0].image; } else { throw new Error("Format respons API tidak sesuai atau gagal menghapus background."); } } catch (error) { console.error('Error di removebg:', error.response?.data || error.message); return 'Gagal menghapus background gambar.'; } } }; /* (async () => { console.log("⏳ Menggambar AI Art..."); const artUrl = await magicstudio.aiart('beautiful anime girl'); console.log("✅ AI Art URL:", artUrl); console.log("⏳ Menghapus Background..."); const bgUrl = await magicstudio.removebg('./u.jpg'); console.log("✅ Remove BG URL:", bgUrl); })(); */
Editor is always dark mode for better readability.
Admin Access
Update Snippet
Cancel