Lewati ke konten utama

Imagen 3: Panduan dengan Contoh di Gemini API

Pelajari cara membuat gambar menggunakan API Imagen 3 dari Google dengan Python, termasuk menyiapkan lingkungan dan menyesuaikan opsi seperti rasio aspek dan filter keamanan.
Diperbarui 28 Sep 2026  · 12 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Imagen 3 adalah model generasi teks-ke-gambar yang dapat merender adegan detail dalam berbagai gaya secara akurat dan bahkan menyisipkan teks di dalam gambar, sehingga cocok untuk aplikasi seperti pembuatan konten iklan dan media. 

Kita dapat menggunakan Imagen 3 melalui antarmuka Vertex AI Studio atau mengintegrasikannya langsung ke aplikasi melalui API.

Dalam tutorial ini, saya akan menjelaskan cara membuat gambar dengan Imagen 3 menggunakan Google Generative API dengan Python. Saya akan memandu Anda melalui contoh praktis yang menunjukkan cara menyiapkan lingkungan, menulis kode yang diperlukan, dan mengintegrasikan teknologi ini ke dalam proyek Anda. Baik Anda ingin meningkatkan aplikasi dengan visual dinamis maupun sekadar memenuhi rasa ingin tahu, panduan ini akan memberikan jalur yang mudah untuk memahami dan menggunakan Imagen 3 secara terprogram.

Menyiapkan Google Generative AI API

Untuk memulai dengan Imagen 3 di Python, kita perlu melakukan beberapa langkah penting. Pertama, kita akan membuat proyek Google Cloud. Setelah proyek siap, kita perlu membuat kunci API. Kunci ini akan memungkinkan kode Python kita berinteraksi dengan layanan Imagen 3.

Membuat proyek Google Cloud

Membuat proyek Google Cloud adalah langkah pertama untuk menggunakan API AI Google. Mari kita ikuti prosesnya bersama:

  1. Akses konsol Google Cloud: Kita mulai dengan menavigasi ke Google Cloud Console. Anda harus masuk dengan akun Google Anda.
  2. Pilih atau buat proyek baru: Di konsol, cari menu dropdown proyek di bilah navigasi atas. Mengkliknya akan menampilkan opsi untuk memilih proyek yang sudah ada atau membuat yang baru. Kita memilih "New Project" untuk melanjutkan.
  3. Masukkan detail proyek: Sebuah formulir sederhana akan muncul menanyakan informasi dasar. Kita dapat memilih nama apa pun untuk proyek, tetapi sebaiknya pilih yang deskriptif. Ini dapat diubah nanti jika diperlukan. Kita akan menggunakan Imagen-tutorial. Bagian organisasi dapat dibiarkan kosong.

Menyiapkan proyek Google Cloud untuk imagen 3

Membuat kunci API

Sekarang proyek Google Cloud sudah dibuat, kita dapat membuat kunci API dengan menavigasi ke halaman API key di Google AI Studio.

Untuk membuat kunci, klik tombol "Create API key":

Membuat kunci API di Google Cloud console

Pada popup, ketik nama proyek yang kita buat di atas, pilih, lalu klik "Create API key in existing project":

Membuat kunci API untuk proyek tertentu di Google Cloud

Salin kuncinya dan buat file bernama .env yang berada di folder yang sama tempat kita akan menulis skrip Python. Isi file .env harus sebagai berikut:

GEMINI_API_KEY=<paste_your_key_here>

Akun penagihan

Jika kita mencoba menggunakan kunci API sekarang, kita akan mendapatkan galat yang mengatakan "Imagen API is only accessible to billed users at this time." Ini terjadi karena API tidak gratis, dan kita perlu mengaitkan akun penagihan dengan proyek sebelum bisa menggunakannya.

Pada saat penulisan, harga pembuatan gambar dengan Imagen 3 adalah $0,03. Periksa halaman harga mereka untuk informasi lebih lanjut.

Untuk menambahkan akun penagihan, klik tombol "Set up Billing" di sebelah kunci API di Google AI Studio.

menyiapkan akun penagihan di google cloud

Ini akan mengarahkan kita ke situs web Google Cloud, di mana kita dapat memilih akun penagihan yang sudah ada dengan mengklik "Link a billing account" atau membuat yang baru dengan mengklik "Manage billing accounts."

Membuat akun penagihan dalam proyek google cloud

Mari kita asumsikan kita belum memilikinya, jadi kita membuatnya melalui "Manage billing accounts." Di kiri atas halaman, ada tombol "Create account". Untuk membuat akun, kita perlu mengisi informasi pribadi dan kartu kredit untuk memproses pembayaran.

Membuat Gambar dengan Imagen 3 Menggunakan Python

Penyiapan lingkungan dengan Anaconda

Dalam tutorial ini, kita menggunakan Anaconda, sebuah platform populer yang memudahkan manajemen paket dan penyiapan proyek, sehingga lebih mudah menjalankan skrip Python.

Kita dapat memasang Anaconda dari situs resmi mereka.

Untuk menyiapkan lingkungan Anaconda, buka terminal dan:

  • Buat lingkungan: conda create -n imagen python=3.9. Perintah ini membuat lingkungan bernama imagen yang menggunakan Python versi 3.9.
  • Aktifkan lingkungan: conda activate imagen.
  • Pasang paket Google generative AI: pip install -q -U google-genai.
  • Pasang paket pemrosesan gambar untuk memproses gambar yang dihasilkan: pip install pillow.
  • Pasang paket untuk memuat kunci API: pip install python-dotenv

Kita juga bisa memasang paket langsung tanpa menggunakan Anaconda, tetapi ada risiko beberapa paket yang sudah terpasang saat ini bisa berbenturan dengan paket baru atau instalasi Python kita menggunakan versi Python yang berbeda. Menggunakan Anaconda menghindari potensi masalah ini.

Membuat gambar pertama kita

Sekarang kita siap mulai menggunakan Imagen 3. Buat skrip Python baru, misalnya, gen_image.py, di folder yang sama dengan file .env.

Pertama, kita impor paket yang diperlukan:

# Google generative AI:
from google import genai
from google.genai import types

# Packages to process the generated image:
from PIL import Image
from io import BytesIO

# Packages to load the .env file:
import os
from dotenv import load_dotenv

Selanjutnya, kita memuat kunci API dari file .env:

load_dotenv()
api_key = os.getenv("GEMINI_API_KEY")

Lalu, kita inisialisasi klien Google generative AI. Objek inilah yang memungkinkan kita berkomunikasi dengan Google API:

client = genai.Client(api_key=api_key)

Untuk membuat gambar, kita menggunakan fungsi client.models.generate_images():

prompt="""
A dog surfing at the beach
"""
response = client.models.generate_images(
    model="imagen-3.0-generate-002",
    prompt=prompt,
    config=types.GenerateImagesConfig(
        number_of_images=1,
    )
)

Terakhir, kita tampilkan gambar yang dihasilkan menggunakan objek Image:

for generated_image in response.generated_images:
  image = Image.open(BytesIO(generated_image.image.image_bytes))
  image.show()

Berikut hasilnya:

Membuat gambar pertama kita dengan Imagen 3

Pembuatan teks

Salah satu fitur menarik Imagen 3, jika dibandingkan dengan model teks-ke-gambar lainnya, adalah kemampuannya untuk menghasilkan teks. Mari kita coba dengan memintanya membuat kata “Tea” menggunakan daun teh segar:

prompt="""
Word "tea" made from fresh tea leaves, white background
"""
response = client.models.generate_images(
    model="imagen-3.0-generate-002",
    prompt=prompt,
)

Berikut hasilnya:

Membuat teks dengan Imagen 3

Opsi Pembuatan Gambar dengan Imagen 3

Opsi pembuatan gambar disediakan menggunakan opsi types.GenerateImagesConfig. Pada contoh di atas, kita hanya menentukan jumlah gambar yang akan dibuat:

config=types.GenerateImagesConfig(
    number_of_images=1,
)

Di bagian ini, kita mengeksplorasi opsi lain yang disediakan API Imagen 3. Lihat dokumentasi resmi untuk informasi lebih lanjut.

Membuat banyak gambar

Kita dapat menggunakan parameter number_of_images untuk membuat banyak gambar dengan satu prompt. Secara bawaan, empat gambar akan dibuat.

Mari coba membuat dua gambar untuk buku komik.

prompt="""
Single comic book panel of two people overlooking a destroyed city. 
A speech bubble points from one of them and says: I guess this is the end.
"""
response = client.models.generate_images(
    model="imagen-3.0-generate-002",
    prompt=prompt,
    config=types.GenerateImagesConfig(
        number_of_images=2,
    )
)

Berikut hasilnya:

Membuat beberapa gambar untuk buku komik dengan Imagen 3

Ini adalah contoh lain pembuatan teks dalam gambar. Meskipun gambar di kiri memiliki beberapa teks tambahan yang tidak diinginkan, berkat kemampuan untuk menghasilkan beberapa gambar, kita dapat meningkatkan peluang mendapatkan keluaran yang diinginkan. Gambar di kanan hampir sepenuhnya sesuai dengan prompt kita.

Mengontrol rasio aspek

Secara bawaan, gambar yang dihasilkan berbentuk persegi dengan rasio aspek 1:1. Model ini mendukung rasio aspek berikut: 1:1, 3:4, 4:3, 9:16, dan 16:9.

Mari buat gambar 9:16 untuk digunakan sebagai latar belakang ponsel:

prompt="""
A drone shot of a river flowing between mountains with a stormy sky.
"""
response = client.models.generate_images(
    model="imagen-3.0-generate-002",
    prompt=prompt,
    config=types.GenerateImagesConfig(
        aspect_ratio="9:16",
    )
)

Berikut hasilnya:

Membuat gambar dengan rasio aspek 9:16 menggunakan Imagen 3

Filter tingkat keamanan

Dokumentasi menyebutkan bahwa kita dapat menggunakan safety_filter_level untuk menentukan tingkat pemfilteran gambar. Setiap gambar yang dihasilkan mendapatkan skor probabilitas yang mengukur kemungkinan bahwa gambar tersebut tidak aman (misalnya, konten tidak pantas). 

Menetapkan filter tingkat keamanan itu penting karena membantu memastikan konten yang dihasilkan pantas dan selaras dengan preferensi pengguna, sehingga menjaga lingkungan yang aman dan saling menghormati untuk berbagai aplikasi.

Dokumentasi menyatakan bahwa ada tiga tingkat yang didukung:

  • BLOCK_LOW_AND_ABOVE: Blokir gambar bahkan dengan skor probabilitas rendah.
  • BLOCK_MEDIUM_AND_ABOVE : Hanya blokir gambar dengan skor probabilitas sedang dan tinggi.
  • BLOCK_ONLY_HIGH : Hanya blokir gambar dengan skor probabilitas tinggi

Namun, setelah percobaan, API sekarang hanya mendukung opsi BLOCK_LOW_AND_ABOVE. Memberikan opsi lain akan menghasilkan galat.

Pembuatan orang

Kita dapat mengontrol apakah model diizinkan membuat gambar orang menggunakan opsi person_generation. Opsi yang tersedia ada dua:

  • DONT_ALLOW: Gambar yang memuat orang akan diblokir.
  • ALLOW_ADULT: Ini akan memungkinkan kita membuat gambar yang memuat orang (hanya orang dewasa).

Opsi bawaan adalah mengizinkan orang. Misalnya, jika kita atur opsinya agar tidak mengizinkan orang lalu mencoba membuat gambar seseorang yang sedang memasak, kita tidak akan mendapatkan gambar apa pun.

prompt="""
A person cooking.
"""
response = client.models.generate_images(
    model="imagen-3.0-generate-002",
    prompt=prompt,
    config=types.GenerateImagesConfig(
        person_generation="DONT_ALLOW",
    )
)
print(response.generated_images)

Berikut keluarannya:

None

Membuat Prompt yang Baik untuk Imagen 3

Dokumentasi resmi menyediakan panduan prompt yang komprehensif untuk Imagen 3, jadi saya tidak akan mengulanginya di sini. Berikut gagasan kunci tentang cara membuat prompt yang baik:

  • Dasar-dasar penulisan prompt:
    • Subjek: Fokus pada objek, orang, atau adegan utama yang ingin Anda gambarkan.
    • Konteks dan latar belakang: Jelaskan pengaturan atau lingkungan tempat subjek ditempatkan.
    • Gaya: Tentukan gaya artistik atau fotografi yang Anda inginkan (misalnya, sketsa, lukisan, foto).
  • Gunakan bahasa deskriptif: Manfaatkan kata sifat dan konteks yang detail untuk memperjelas keluaran yang diinginkan.
  • Rujuk gaya spesifik: Gunakan seniman atau aliran seni terkenal untuk mengarahkan estetika.
  • Teks dalam gambar: Batasi teks hingga 25 karakter atau kurang dan gunakan frasa yang jelas untuk memberikan informasi tambahan.
  • Parameterisasi prompt: Jika kita perlu membuat banyak gambar dalam gaya yang sama, ada baiknya membuat templat prompt yang dapat digunakan ulang dan hanya memberikan bagian yang berubah sebagai masukan.
  • Fotografi: Tentukan pengaturan kamera, jenis lensa, dan pencahayaan untuk memengaruhi hasil.
  • Seni: Gunakan deskriptor seperti "a painting of..." atau teknik spesifik seperti "watercolor painting of...".
  • Modifier Kualitas Gambar: Gunakan kata kunci seperti "high-quality" atau "4K" untuk meningkatkan kualitas keluaran.
  • Gambar Fotorealistik: Sertakan detail teknis seperti jenis lensa dan panjang fokus untuk meningkatkan realisme.

Penyuntingan dan Kustomisasi Gambar

Imagen 3 juga memiliki kemampuan untuk menyunting gambar dan melakukan kustomisasi gambar. Sayangnya, fitur-fitur ini masih terkunci dan hanya dapat diakses oleh pengguna tertentu.

Sebagai contoh, fitur kustomisasi memungkinkan kita menyesuaikan gambar referensi dari sebuah prompt. Pada contoh, sebuah foto wanita diberikan, dan prompt memodifikasi gambar tersebut menjadi gambar orang yang sama sedang memegang jeruk.

Contoh kustomisasi gambar di imagen 3

Informasi lebih lanjut tentang ini dan formulir permintaan akses dapat ditemukan di situs web mereka.

Kesimpulan

Dalam tutorial ini, kita mempelajari cara menggunakan Imagen 3 untuk membuat gambar menggunakan Python dan Google Generative API. Secara keseluruhan, saya puas dengan keluaran yang saya dapatkan saat bereksperimen dengan API. Saya merasa hasilnya berkualitas tinggi dan mengandung lebih sedikit artefak AI, sehingga lebih sulit dibedakan dari gambar nyata.

Kemampuan bekerja dengan teks dalam gambar bermanfaat untuk branding dan pemasaran. Secara keseluruhan, saya merasa model ini berkinerja baik. Saya hanya berharap semua fiturnya terbuka karena menurut saya penyuntingan gambar bahkan lebih berguna daripada pembuatan gambar.


François Aubry's photo
Author
François Aubry
LinkedIn
Insinyur full-stack & pendiri di CheapGPT. Mengajar selalu menjadi passion saya. Sejak masa awal sebagai mahasiswa, saya aktif mencari peluang untuk membimbing dan membantu mahasiswa lain. Passion ini mendorong saya menempuh studi PhD, di mana saya juga menjadi asisten pengajar untuk mendukung kegiatan akademik saya. Selama tahun-tahun itu, saya menemukan kepuasan besar dalam suasana kelas tradisional, membangun koneksi dan memfasilitasi proses belajar. Namun, dengan hadirnya platform pembelajaran daring, saya melihat potensi transformatif pendidikan digital. Bahkan, saya terlibat aktif dalam pengembangan salah satu platform tersebut di universitas kami. Saya sangat berkomitmen untuk mengintegrasikan prinsip-prinsip pengajaran tradisional dengan metodologi digital yang inovatif. Tujuan saya adalah menciptakan kursus yang tidak hanya menarik dan informatif, tetapi juga mudah diakses oleh para pembelajar di era digital ini.
Topik
Kecerdasan Buatan
Large Language Models

Pelajari AI dengan kursus-kursus ini!

Program

Pengembangan Aplikasi Kecerdasan Buatan

21 jam
Pelajari cara membuat aplikasi yang didukung oleh kecerdasan buatan (AI) menggunakan alat pengembangan AI terbaru, termasuk OpenAI API, Hugging Face, dan LangChain.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

Lihat SelengkapnyaLihat Selengkapnya