Catatan Belajar · · 3 menit baca
Belajar Gemini API: teks, gambar, dan streaming
Tutorial Gemini API dengan SDK @google/genai: API key gratis dari AI Studio, generateContent, system instruction, kirim gambar (multimodal), streaming, dan memilih model flash vs pro.
Gemini adalah keluarga model AI dari Google — kupakai di beberapa project (termasuk ColdCanvas) terutama karena free tier-nya longgar untuk eksperimen dan kemampuan multimodalnya (teks + gambar) bagus. Tutorial ini memakai SDK resmi terbaru @google/genai.
1. Persiapan
- Buka Google AI Studio → Get API key (gratis, cukup akun Google).
- Simpan sebagai environment variable:
export GEMINI_API_KEY="AIza..."
- Install SDK resmi (yang baru — bukan
@google/generative-aiyang lama):
npm install @google/genai
2. Panggilan pertama
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const response = await ai.models.generateContent({
model: "gemini-2.5-flash",
contents: "Jelaskan perbedaan SEO dan SEM dalam 3 kalimat.",
});
console.log(response.text);
response.text adalah shortcut untuk teks gabungan — untuk kasus sederhana, ini saja cukup.
3. Instruksi sistem & konfigurasi
const response = await ai.models.generateContent({
model: "gemini-2.5-flash",
contents: "Buat 5 ide caption Instagram untuk toko kopi.",
config: {
systemInstruction: "Kamu copywriter berpengalaman untuk UMKM Indonesia. Gaya santai, tanpa emoji berlebihan.",
temperature: 0.9, // lebih tinggi = lebih variatif
maxOutputTokens: 1024,
},
});
4. Multimodal: kirim gambar
Kekuatan khas Gemini — analisis gambar dalam satu panggilan yang sama:
import { readFileSync } from "node:fs";
const imageBase64 = readFileSync("produk.jpg").toString("base64");
const response = await ai.models.generateContent({
model: "gemini-2.5-flash",
contents: [
{ inlineData: { mimeType: "image/jpeg", data: imageBase64 } },
{ text: "Tulis deskripsi produk marketplace dari foto ini, sertakan 5 keyword pencarian." },
],
});
Use case nyata di e-commerce: auto-generate deskripsi produk dari foto katalog.
5. Streaming
const stream = await ai.models.generateContentStream({
model: "gemini-2.5-flash",
contents: "Tulis artikel pendek tentang kopi Gayo.",
});
for await (const chunk of stream) {
process.stdout.write(chunk.text ?? "");
}
6. Memilih model
gemini-2.5-flash— mulai dari sini: cepat, murah, multimodal.gemini-2.5-pro— penalaran lebih dalam untuk tugas kompleks.- Keluarga model bergerak cepat — selalu cek daftar model terbaru di AI Studio sebelum production.
Tips dari pengalaman
- Free tier Gemini adalah tempat termurah untuk belajar LLM API — tapi perhatikan kebijakan datanya: di free tier, input bisa dipakai untuk pelatihan. Untuk data klien, selalu pakai tier berbayar.
- Di project scraping + AI (seperti ColdCanvas), pola terbaik: model murah (flash) untuk klasifikasi massal, model mahal hanya untuk langkah akhir yang dibaca manusia.
- Konsep dari tutorial Claude API berlaku sama di sini: system instruction = aturan bisnis, streaming = wajib untuk UI, dan jangan pernah menaruh API key di kode.
Mau fitur seperti ini dibangun untuk bisnismu?