Scraper - Animagine Create Image With AI

Animagine adalah alat berbasis AI yang memungkinkan Anda membuat gambar berdasarkan deskripsi teks.

Muhamad Nur Ibad

13 Januari 20251 menit baca

Membuat Gambar dengan AI Menggunakan Animagine: Panduan Praktis dengan Node.js

Dalam era kecerdasan buatan, menciptakan gambar hanya dari teks kini menjadi kenyataan berkat berbagai teknologi canggih seperti Animagine. Artikel ini membahas bagaimana menggunakan Animagine untuk membuat gambar berbasis AI dengan Node.js. Kami juga menyediakan kode lengkap untuk memulai.


Apa itu Animagine?

Animagine adalah alat berbasis AI yang memungkinkan Anda membuat gambar berdasarkan deskripsi teks. Teknologi ini menggunakan model pembelajaran mesin yang dilatih untuk memahami dan memvisualisasikan deskripsi teks menjadi gambar realistis, termasuk karakter anime, lingkungan, atau elemen kreatif lainnya.


Langkah-Langkah Implementasi Animagine dengan Node.js

Berikut ini adalah tutorial langkah demi langkah untuk mengintegrasikan Animagine dengan Node.js. Kita akan menggunakan library populer seperti axios dan EventSource untuk komunikasi dengan API.

Persiapan

Pastikan Anda memiliki:

Node.js terinstal di komputer Anda.

Library axios dan eventsource, yang bisa diinstal menggunakan perintah berikut:

npm install axios eventsource


Kode Lengkap

Berikut adalah kode lengkap untuk menggunakan Animagine API:

const axios = require('axios');
const EventSource = require('eventsource');

// Membuat session hash unik
const session_hash = Math.random().toString(36).slice(2);

const animagine = {
  // Fungsi untuk mengirim permintaan pembuatan gambar
  request: async (prompt) => {
    const data = JSON.stringify({
      "data": [
        prompt,
        "",
        807244162,
        512,
        512,
        7,
        28,
        "Euler a",
        "896 x 1152",
        "(None)",
        "Standard v3.1",
        false,
        0.55,
        1.5,
        true
      ],
      "event_data": null,
      "fn_index": 5,
      "trigger_id": null,
      "session_hash": session_hash
    });

    const config = {
      method: 'POST',
      url: 'https://cagliostrolab-animagine-xl-3-1.hf.space/queue/join?ref=huntscreens.com',
      headers: {
        'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:131.0) Gecko/20100101 Firefox/131.0',
        'Accept-Encoding': 'gzip, deflate, br, zstd',
        'Content-Type': 'application/json',
        'accept-language': 'id-ID',
        'referer': 'https://aianimegenerator.top/',
        'origin': 'https://aianimegenerator.top',
        'sec-fetch-dest': 'empty',
        'sec-fetch-mode': 'cors',
        'sec-fetch-site': 'cross-site',
        'priority': 'u=4',
        'te': 'trailers'
      },
      data: data
    };

    const api = await axios.request(config);
    return api.data;
  },
  
  // Fungsi untuk memeriksa status permintaan
  cekStatus: () => {
    return new Promise((resolve, reject) => {
      const eventSource = new EventSource('https://cagliostrolab-animagine-xl-3-1.hf.space/queue/data?session_hash=' + session_hash);

      eventSource.onmessage = (event) => {
        const data = JSON.parse(event.data);
        if (data.msg === "process_completed") {
          resolve(data);
          eventSource.close();
        } else if (data.msg === "error") {
          reject(data);
          eventSource.close();
        } else {
          console.log("Event:", data);
        }
      };

      eventSource.onerror = (err) => {
        reject(err);
        eventSource.close();
      };
    });
  },

  // Fungsi utama untuk membuat gambar
  create: async (prompt) => {
    try {
      const postResponse = await animagine.request(prompt);
      const statusResponse = await animagine.cekStatus();
      return statusResponse;
    } catch (error) {
      console.error("Error:", error);
    }
  }
};

// Contoh penggunaan
const prompt = "Create an anime character";
animagine.create(prompt).then((response) => {
  console.log("Final Response:", response);
});

Penjelasan Kode

1. Session Hash Digunakan untuk melacak permintaan tertentu dengan API.

2. Fungsi request Mengirim permintaan ke API dengan deskripsi teks (prompt) dan konfigurasi lainnya.

3. Fungsi cekStatus Mendengarkan status permintaan melalui koneksi EventSource hingga proses selesai.

4. Fungsi create Menggabungkan proses pengiriman permintaan dan pemeriksaan status untuk mendapatkan hasil akhir.


Contoh Output

Saat menjalankan skrip di atas, Anda akan mendapatkan respons JSON dari API yang mencakup:

  • Status proses.

  • Data gambar yang dihasilkan (biasanya berupa URL atau metadata gambar).


Kesimpulan

Menggunakan Animagine dengan Node.js memberikan cara yang sederhana dan efektif untuk menghasilkan gambar berbasis teks menggunakan AI. Anda dapat dengan mudah memperluas fungsi ini untuk berbagai aplikasi, seperti generator karakter anime, seni digital, atau kebutuhan kreatif lainnya.

Cobalah kode di atas dan eksplorasi berbagai prompt untuk menciptakan seni AI yang unik!