Eksplorasi Kreatif: Menembus Batas dengan Vertex AI dan Imagen API untuk Image Generation di Google Cloud

Esther Irawati Setiawan
Google Cloud Indonesia
5 min readFeb 7, 2024

Pernahkah Anda bertanya-tanya tentang keajaiban di balik pembuatan gambar unik dan menarik dengan mudah? Vertex AI API dari Google untuk Imagen membuka pintu ke dunia kreativitas. Artikel ini akan menjelaskan dasar-dasarnya dan membebaskan kreativitas Anda dengan menghasilkan gambar yang menakjubkan.

Persyaratan:

  • Curl
  • Bahasa pemrograman apa saja yang dapat mengonversi base64 menjadi gambar (saya sarankan Python)

Mari kita berkenalan dengan Vertex AI API dan Imagen, yang memungkinkan Anda membuat gambar otomatis. Bagian terbaiknya? Kita dapat mengintegrasikannya dengan mudah ke dalam situs web atau perangkat lunak, membuat prosesnya mudah diakses dan efisien. Sebelum kita mulai, pastikan Command Line Interface (CLI) Anda berjalan dan telah terautentikasi dengan Google Cloud.

Langkah pertama adalah menyiapkan proyek Google Cloud agar kita dapat mengakses API. Kita dapat mengakses Google Cloud Console dengan Gmail Anda melalui tautan ini: https://console.cloud.google.com

Setelah berhasil masuk, kita akan diarahkan ke halaman selamat datang, yang seharusnya terlihat seperti di bawah ini.

Pada sudut kiri atas halaman dan di sisi kiri bilah pencarian, kita dapat melihat project yang telah dipilih. Secara default, project yang dipilih akan menjadi “My First Project”; kita tidak perlu mengubahnya.

Langkah selanjutnya, klik APIs & Services on the Quick Access panel and navigate to ENABLE APIS AND SERVICES.

Cari Vertex AI di bilah pencarian API Library dan pilih “Vertex AI API.” Setelah diarahkan ke halaman tersebut, klik ENABLE untuk mengaktifkan API. Kita tidak dapat menggunakan API Google Cloud jika belum mengaktifkannya. Proses ini akan memakan waktu beberapa detik, tetapi kita dapat mengakses API secara online setelah selesai.

Untuk panduan ini, kita akan menggunakan curl untuk mengakses API, tetapi pertama-tama, kita perlu menginstal gcloud CLI untuk mendapatkan token bearer untuk otorisasi API. Kita dapat membaca panduan terperinci tentang cara menginstalnya di sini: link panduan instalasi.

Setelah instalasi, kita perlu mengaturnya dengan akun kita dengan menjalankan gcloud init di shell kita. Kita dapat membaca panduan untuk itu di sini: link panduan inisialisasi.

Jika kita melakukan semua langkah dengan benar, saat menjalankan gcloud auth list di shell kita, kita seharusnya melihat akun kita sebagai aktif.

Setelah semua pengaturan selesai, kita bisa mencoba API dengan memanggil endpoint sesuai dengan dokumentasi berikut: https://console.cloud.google.com/vertex-ai/publishers/google/model-garden/imagegeneration.

Kita harus membuat folder pada project and meletakkan request.json.

Isi dari request.json:

{
"instances": [
{
"prompt": "Women Developer"
}
],
"parameters": {
"sampleCount": 1
}
}

Selanjutnya, kita harus mengarahkan shell kita agar berada di dalam folder yang sama dengan request.json. Karena saya menggunakan Windows PowerShell, saya menggunakan backtick (`) sebagai pemisah baris. Anda bisa menggunakan backslash (\) sebagai pemisah baris di Linux. Berikut adalah perintah yang saya gunakan untuk mendapatkan hasil generasi gambar kita. Ini akan mengambil permintaan dari request.json dan menyimpan respons API di response.json.

echo $(curl -X POST `
-H "Authorization: Bearer $(gcloud auth print-access-token)" `
-H "Content-Type: application/json; charset=utf-8" `
-d "@request.json" `
"https://us-central1-aiplatform.googleapis.com/v1/projects/[YOUR-PROJECT-ID]/locations/us-central1/publishers/google/models/imagegeneration:predict") >> response.json

Jangan lupa untuk mengganti placeholder (YOUR-PROJECT-ID) di endpoint dengan ID project Anda, di mana Anda mengaktifkan API Vertex AI. Jika Anda tidak tahu di mana mendapatkan ID project, Anda bisa mendapatkannya di konsol gcloud. Klik pada dropdown project (secara default, Anda akan melihat “My First Project”).

Project ID dapat diperoleh pada gcloud console. Klik project dropdown (default-nya “My First Project”).

Sebuah modal akan muncul, dan Anda dapat mendapatkan ID project Anda di sebelah kanan nama project. Salin ID project di mana Anda mengaktifkan API Vertex AI.

Saat kita mendapatkan respon, hasilnya alfanumerik yang tampaknya acak. Dimana kah hasil gambar kita? Gambar tersebut dienkripsi dalam format base64, di mana skrip Python yang ditulis dalam kebutuhan akan berguna. Berikut adalah skrip pendeknya dan simpanlah sebagai script.py:

#Import the modules
import json
import base64
from PIL import Image
from io import BytesIO
#Open the JSON file
with open("response.json", "r") as f:
data = json.load(f)
#Get the base 64 encoded string from the JSON object
base64_str = data["predictions"][0]["bytesBase64Encoded"]
#Decode the base 64 string to bytes
image_bytes = base64.b64decode(base64_str)
#Create an image object from the bytes
image = Image.open(BytesIO(image_bytes))
#Save the image to a file
image.save("output.png")

Jalankan script, and voila, muncullah gambar hasil Generative AI kita!

Selamat atas penguasaan Anda dalam menguasai seni pembuatan gambar dengan API ini! Panduan ini seperti peluncuran untuk eksplorasi kreatif Anda. Kemudahan dan potensi dari API Imagen membuatnya menjadi alat yang mengasyikkan bagi seniman, pengembang, dan penggemar. Nah, sekarang, ayo bergerak maju dan biarkan imajinasi Anda melesat tinggi!

--

--