Menu docs

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 API@google/genaiMultimodal

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

  1. Buka Google AI StudioGet API key (gratis, cukup akun Google).
  2. Simpan sebagai environment variable:
export GEMINI_API_KEY="AIza..."
  1. Install SDK resmi (yang baru — bukan @google/generative-ai yang 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?