- Apa Itu Gemini API?
- Persiapan Sebelum Mulai
- Contoh Pertama: Mengirim Prompt
- Mengatur Peran dengan System Instruction
- Streaming: Jawaban Muncul Bertahap
- Percakapan Multi-Turn
- Structured Output: Jawaban JSON yang Bisa Diparse
- Kesalahan Umum dan Cara Mengatasinya
- Praktik Terbaik Saat Memakai Gemini API di Aplikasi
- Langkah Berikutnya: Dari Panggilan API ke Fitur Nyata
- FAQ
- Bagaimana cara menggunakan Gemini API dengan Python?
- Apakah Gemini API gratis?
- Di mana mendapatkan API key Gemini?
- Apa nama paket Python untuk Gemini API?
- Kenapa kode dari tutorial lama tidak jalan?
- Bagaimana membuat Gemini menjawab dalam format JSON?
- Apakah aman menaruh API key di aplikasi web sisi klien?
- Kesimpulan
Memanggil model AI dari kode Anda sendiri ternyata jauh lebih sederhana daripada yang dibayangkan. Dengan beberapa baris Python, Anda bisa mengirim pertanyaan ke Gemini dan menerima jawabannya, lalu menyambungkannya ke aplikasi web, skrip otomatisasi, atau fitur chatbot.
Panduan ini membahas langkah dari nol: memasang SDK, membuat API key, mengirim prompt pertama, mengatur instruksi sistem, streaming, percakapan multi-turn, sampai membuat keluaran JSON terstruktur. Semua contoh kode diambil dari pola yang ada di dokumentasi resmi Google dan ditulis agar mudah dipahami pemula maupun developer yang sudah berpengalaman.
Apa Itu Gemini API?
Gemini API adalah layanan dari Google yang memungkinkan developer memanggil model Gemini lewat kode, tanpa perlu menjalankan atau melatih model sendiri. Anda mengirim permintaan berisi teks (atau data lain), lalu menerima respons dari model.
Bedanya dengan memakai aplikasi chat: di aplikasi, Anda mengetik manual. Lewat API, program Anda yang mengirim dan menerima jawaban, sehingga bisa dipadukan dengan database, formulir, atau sistem lain. Inilah tahap yang dibahas di artikel roadmap AI engineering dari backend sebagai pintu masuk ke pengembangan fitur AI.
Catatan penting: API dan nama model bisa berubah dari waktu ke waktu. Contoh kode di artikel ini mengikuti dokumentasi resmi Gemini API pada saat penulisan. Banyak tutorial lama yang beredar memakai paket dan pola pemanggilan berbeda, sehingga kode dari sumber lama bisa tidak cocok dengan SDK terbaru. Selalu cocokkan dengan dokumentasi resmi sebelum menyalin ke proyek produksi.
Persiapan Sebelum Mulai
- Pastikan Python sudah terpasang. Cek dengan perintah
python --version. Sebaiknya gunakan lingkungan virtual agar paket proyek tidak bercampur dengan proyek lain. - Buat API key. Buka Google AI Studio dan buat kunci API. Menurut dokumentasi, AI Studio otomatis membuat proyek dan API key untuk pengguna baru.
- Pasang SDK resmi. Paket Python-nya bernama
google-genai. - Simpan API key sebagai variabel lingkungan. SDK membaca kunci dari variabel
GEMINI_API_KEYsecara otomatis.
pip install -U google-genai # Linux / macOS export GEMINI_API_KEY="ISI_API_KEY_ANDA" # Windows (PowerShell) setx GEMINI_API_KEY "ISI_API_KEY_ANDA"
Jaga kerahasiaan API key. Jangan menuliskan kunci langsung di kode, jangan mengunggahnya ke repositori publik, dan jangan menaruhnya di JavaScript sisi klien. Simpan di variabel lingkungan atau file .env yang dikecualikan dari Git. Kunci yang bocor bisa dipakai orang lain dan tagihannya jatuh ke akun Anda.
Contoh Pertama: Mengirim Prompt
Berikut kode paling dasar sesuai dokumentasi Gemini API. Objek client membaca API key dari lingkungan, lalu Anda membuat satu permintaan (interaction) berisi nama model dan input.
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="Jelaskan cara kerja AI dalam beberapa kata"
)
print(interaction.output_text)
Properti output_text adalah cara praktis untuk mengambil teks jawaban. Nama model pada contoh (gemini-3.8-flash) diambil dari dokumentasi saat ini. Model sering diperbarui, jadi cek daftar model terbaru di dokumentasi sebelum memakainya, terutama untuk pertimbangan kecepatan, kualitas, dan biaya.
Mengatur Peran dengan System Instruction
Instruksi sistem adalah pesan yang menentukan peran dan aturan model selama percakapan. Ini tempat yang tepat untuk menetapkan gaya bahasa, batasan topik, atau format jawaban.
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.8-flash",
system_instruction="Kamu adalah asisten layanan pelanggan toko online. Jawab singkat dan sopan dalam bahasa Indonesia.",
input="Bagaimana cara melacak pesanan saya?"
)
print(interaction.output_text)
Praktik yang baik: perlakukan instruksi sistem seperti “kontrak” yang disimpan rapi di kode, diberi versi, dan diuji ulang setiap kali diubah. Teknik menyusun instruksi yang jelas dibahas di artikel prompt yang efektif untuk AI.
Streaming: Jawaban Muncul Bertahap
Tanpa streaming, pengguna harus menunggu seluruh jawaban selesai. Dengan streaming, teks muncul sedikit demi sedikit seperti sedang diketik, yang membuat aplikasi terasa lebih responsif, terutama untuk jawaban panjang.
from google import genai
client = genai.Client()
stream = client.interactions.create(
model="gemini-3.8-flash",
input="Jelaskan cara kerja AI",
stream=True
)
for event in stream:
if event.event_type == "step.delta":
if event.delta.type == "text":
print(event.delta.text, end="")
Percakapan Multi-Turn
Agar model mengingat pesan sebelumnya, Anda meneruskan pengenal (ID) dari interaksi sebelumnya. Menurut dokumentasi, Interactions API mengelola status percakapan di sisi server, sehingga Anda tidak perlu mengirim ulang seluruh riwayat.
from google import genai
client = genai.Client()
interaction1 = client.interactions.create(
model="gemini-3.8-flash",
input="Di rumah saya ada 2 ekor anjing.",
)
print(interaction1.output_text)
interaction2 = client.interactions.create(
model="gemini-3.8-flash",
input="Berapa jumlah kaki anjing di rumah saya?",
previous_interaction_id=interaction1.id,
)
print(interaction2.output_text)
Structured Output: Jawaban JSON yang Bisa Diparse
Untuk aplikasi nyata, jawaban berupa paragraf bebas sering menyulitkan. Anda biasanya butuh data terstruktur, misalnya kategori tiket, prioritas, dan ringkasan. Gemini API mendukung keluaran JSON sesuai skema, dan skema itu bisa dibuat dari model Pydantic.
from google import genai
from pydantic import BaseModel, Field
from typing import List, Optional
class Bahan(BaseModel):
nama: str = Field(description="Nama bahan.")
takaran: str = Field(description="Takaran bahan beserta satuannya.")
class Resep(BaseModel):
nama_resep: str = Field(description="Nama resep.")
waktu_persiapan_menit: Optional[int] = Field(description="Waktu persiapan dalam menit.")
bahan: List[Bahan]
langkah: List[str]
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="Buat resep nasi goreng sederhana",
response_format={
"type": "text",
"mime_type": "application/json",
"schema": Resep.model_json_schema()
},
)
resep = Resep.model_validate_json(interaction.output_text)
print(resep)
Baris terakhir penting: hasilnya divalidasi ulang oleh Pydantic. Meski model diarahkan mengikuti skema, aplikasi tetap sebaiknya memeriksa keluaran sebelum menyimpannya ke database, karena data dari model tidak boleh dipercaya begitu saja.
Kesalahan Umum dan Cara Mengatasinya
Client gagal dibuat
Pastikan variabel GEMINI_API_KEY sudah diatur di sesi terminal yang sama dengan tempat Anda menjalankan skrip. Setelah mengatur variabel di Windows lewat setx, buka terminal baru agar nilainya terbaca.
Model tidak ditemukan
Nama model berubah seiring rilis baru. Salin nama model dari dokumentasi terbaru, jangan dari tutorial lama, dan simpan di satu variabel konfigurasi agar mudah diganti.
Permintaan ditolak karena terlalu sering
Setiap akun punya batas laju dan kuota yang bisa berbeda antara paket gratis dan berbayar. Tambahkan jeda dan percobaan ulang bertahap (backoff) di kode Anda, dan cek batas terbaru di dokumentasi resmi. Prinsip keandalan seperti ini sejalan dengan pembahasan idempotency pada payment API.
Error impor atau atribut tidak dikenal
Jika kode dari artikel lama gagal, periksa apakah ia memakai paket atau pola pemanggilan yang berbeda dari dokumentasi terbaru. Pasang paket resmi google-genai dan sesuaikan kodenya dengan contoh di dokumentasi.
Praktik Terbaik Saat Memakai Gemini API di Aplikasi
- Panggil dari server, bukan dari browser. Backend Anda menyimpan API key dan menjadi perantara antara pengguna dan model.
- Batasi panjang input dan output. Biaya dan waktu respons biasanya terkait jumlah token.
- Tambahkan batas waktu (timeout) dan penanganan error. Layanan eksternal bisa lambat atau gagal sewaktu-waktu.
- Catat penggunaan. Simpan jumlah permintaan, latensi, dan estimasi biaya agar tagihan tidak mengejutkan.
- Validasi keluaran. Terutama jika hasilnya dipakai untuk tindakan otomatis atau disimpan ke database.
- Uji dengan data nyata. Siapkan daftar pertanyaan uji dan jalankan ulang setiap kali mengganti model atau instruksi.
Langkah Berikutnya: Dari Panggilan API ke Fitur Nyata
Setelah nyaman memanggil model, Anda bisa naik ke tahap berikutnya. Jika ingin chatbot menjawab dari dokumen Anda sendiri, pelajari alurnya di RAG adalah dan dasar pencarian maknanya di embedding adalah. Fokus artikel ini adalah pemanggilan API dari backend Python. Bila Anda ingin memakai Gemini langsung di lingkungan pengembangan Android, pembahasannya ada di panduan terpisah tentang integrasi Android Studio dengan Gemini.
| Tahap | Yang dipelajari | Proyek mini |
|---|---|---|
| 1. Panggilan dasar | Client, model, prompt | Skrip tanya-jawab di terminal |
| 2. Kontrol perilaku | System instruction, streaming | Asisten dengan gaya bahasa tertentu |
| 3. Percakapan | Multi-turn | Chatbot sederhana dengan riwayat |
| 4. Data terstruktur | JSON schema, Pydantic | Pengklasifikasi tiket otomatis |
| 5. Data sendiri | Embedding dan RAG | Tanya-jawab dari PDF kebijakan |
Mulai dari Skrip Lima Baris Hari Ini
Buat API key, pasang SDK, lalu jalankan contoh pertama di atas. Setelah berhasil, ubah instruksi sistemnya dan lihat bagaimana gaya jawabannya berubah.
Buat API Key di AI Studio Quickstart Gemini APIFAQ
Bagaimana cara menggunakan Gemini API dengan Python?
Pasang paket google-genai lewat pip, buat API key di Google AI Studio, simpan sebagai variabel GEMINI_API_KEY, lalu buat client dan kirim permintaan berisi nama model dan input seperti pada contoh di artikel ini.
Apakah Gemini API gratis?
Google menyediakan akses lewat AI Studio, tetapi ketentuan paket gratis, kuota, dan harga bisa berubah. Cek halaman harga dan batas penggunaan di dokumentasi resmi sebelum merencanakan aplikasi yang dipakai banyak orang.
Di mana mendapatkan API key Gemini?
API key dibuat lewat Google AI Studio di halaman aistudio.google.com/apikey. Simpan kunci itu secara rahasia dan jangan dibagikan atau diunggah ke repositori publik.
Apa nama paket Python untuk Gemini API?
Paket resminya bernama google-genai, dipasang dengan perintah pip install -U google-genai dan diimpor lewat from google import genai.
Kenapa kode dari tutorial lama tidak jalan?
SDK dan pola pemanggilan bisa berubah, dan sebagian tutorial lama memakai paket atau metode yang berbeda. Cocokkan kode dengan dokumentasi terbaru, pasang paket resmi, dan periksa nama model yang dipakai.
Bagaimana membuat Gemini menjawab dalam format JSON?
Gunakan fitur structured output: tentukan tipe MIME JSON dan skema, misalnya dari model Pydantic, lalu validasi hasilnya dengan Pydantic sebelum dipakai atau disimpan.
Apakah aman menaruh API key di aplikasi web sisi klien?
Tidak. Kunci yang tertanam di JavaScript atau aplikasi klien bisa dilihat pengguna dan disalahgunakan. Panggil Gemini dari server Anda dan simpan kunci di variabel lingkungan atau pengelola rahasia.
Kesimpulan
Menggunakan Gemini API dengan Python pada dasarnya terdiri dari empat langkah: pasang SDK, siapkan API key dengan aman, buat client, lalu kirim permintaan. Dari situ, fitur seperti instruksi sistem, streaming, percakapan multi-turn, dan structured output tinggal ditambahkan sesuai kebutuhan aplikasi.
Wawasan yang sering terlewat: tantangan sebenarnya bukan memanggil API, melainkan membuatnya andal. Simpan kunci dengan aman, siapkan penanganan error dan batas biaya, validasi setiap keluaran, dan ukur kualitas dengan pertanyaan uji nyata. Karena nama model dan pola SDK bisa berubah, jadikan dokumentasi resmi sebagai rujukan utama dan tulis kode Anda agar konfigurasi model mudah diganti.





