7 Fitur Gemini API yang Jarang Dipakai tapi Bikin Agent Lebih Murah (2026)

·

·

Gambar 7 Fitur Gemini API yang Jarang Dipakai tapi Bikin Agent Lebih Murah (2026) by Komunitech AI

tl;dr: Kebanyakan orang berhenti di generateContent biasa — kirim prompt, terima teks, selesai. Padahal Gemini API punya tujuh fitur yang langsung memangkas biaya token, menghilangkan parsing manual, dan bikin agent lebih andal: output terstruktur lewat JSON Schema, function calling buat menyambungkan model ke sistem eksternal, Batch API dengan diskon 50%, thinking level buat mengatur seberapa dalam model bernalar, caching implisit otomatis, File API buat berkas besar, dan kompatibilitas library OpenAI. Halaman ini membedah tiap fitur pakai contoh kode dari dokumentasi resmi, plus kapan tiap fitur justru mubazir dipakai.

Tagihan API yang membengkak biasanya bukan karena modelnya mahal, tapi karena caranya dipakai boros — parsing teks manual yang gagal separuh waktu, permintaan berulang yang seharusnya bisa dibatch, atau model bernalar penuh untuk tugas yang sebenarnya sepele. Tujuh fitur berikut ini langsung menyasar titik-titik boros itu, dimulai dari yang paling sering bikin kode jadi rapuh: parsing output jadi JSON.

1. Output Terstruktur: JSON Schema, Bukan Parsing Teks

Menurut dokumentasi resmi Gemini API tentang output terstruktur, kamu bisa memaksa model mengembalikan respons yang mengikuti persis JSON Schema yang kamu tentukan — bukan menyuruhnya “tolong jawab dalam format JSON” dan berharap dia patuh.

Bedanya penting: prompting biasa memberi hasil yang kadang valid JSON, kadang menambahkan penjelasan di depan atau belakang, kadang salah tipe data. Output terstruktur menjamin bentuknya sesuai skema di level API, sehingga kode di sisi kamu tidak perlu lagi menangani kasus “AI lupa format lagi”.

Google GenAI SDK bahkan menerima skema langsung dari kelas Pydantic (Python) atau Zod (JavaScript), jadi kamu tidak perlu menulis JSON Schema mentah dengan tangan:

class Ingredient(BaseModel):
    name: str
    quantity: str

class Recipe(BaseModel):
    recipe_name: str
    ingredients: List[Ingredient]
    instructions: List[str]

interaction = client.interactions.create(
    model="gemini-3.6-flash",
    input=teks_resep,
    response_format={"type": "text", "mime_type": "application/json", "schema": Recipe.model_json_schema()},
)
recipe = Recipe.model_validate_json(interaction.output_text)

Dokumentasi resmi menyebut tiga kasus penggunaan utamanya: ekstraksi data (menarik nama dan tanggal dari teks bebas), klasifikasi terstruktur (mengelompokkan teks ke kategori yang sudah ditentukan), dan alur kerja agentic (membuat input terstruktur untuk tool atau API lain). Kalau kamu sedang membangun agent yang hasil outputnya perlu langsung disimpan ke database atau dikirim ke API lain, ini fitur pertama yang harus dipakai — bukan yang terakhir.

2. Function Calling: Model Jadi Jembatan ke Tool Eksternal

Dokumentasi resmi Gemini API tentang function calling mendeskripsikannya sebagai kemampuan model untuk terhubung ke tool dan API eksternal — model tidak menghasilkan teks jawaban, melainkan menentukan kapan harus memanggil fungsi tertentu dan parameter apa yang dibutuhkan untuk menjalankannya.

Tiga kasus penggunaan utama menurut dokumentasi resmi: melakukan tindakan (menjadwalkan janji temu, membuat invoice, mengirim email, mengontrol perangkat), meningkatkan pengetahuan (mengakses database atau API eksternal), dan memperluas kemampuan (memakai kalkulator atau membuat diagram di luar batas model). Contoh resminya:

schedule_meeting_function = {
    "type": "function",
    "name": "schedule_meeting",
    "description": "Schedules a meeting with specified attendees at a given time and date.",
    "parameters": {
        "type": "object",
        "properties": {
            "attendees": {"type": "array", "items": {"type": "string"}},
            "date": {"type": "string"},
            "time": {"type": "string"},
            "topic": {"type": "string"}
        },
        "required": ["attendees", "date", "time", "topic"]
    }
}

interaction = client.interactions.create(
    model="gemini-3.6-flash",
    input="Schedule a meeting with Bob and Alice for 03/14/2025 at 10:00 AM about Q3 planning.",
    tools=[{"type": "function", schedule_meeting_function}],
)
for step in interaction.steps:
    if step.type == "function_call":
        print(f"Function to call: {step.name}")
        print(f"Arguments: {step.arguments}")

Perhatikan alurnya: model tidak menjalankan fungsi itu sendiri. Dia cuma memutuskan fungsi mana yang perlu dipanggil dan mengisi argumennya — eksekusi sebenarnya tetap kode kamu yang jalankan. Ini yang membedakan agent yang beneran bertindak dari chatbot yang cuma menjawab. Kalau kamu baru mulai membangun AI Agent dari nol, konsep dasarnya sudah dibahas terpisah di panduan cara bikin Karyawan AI pertamamu.

3. Batch API: Diskon 50% untuk Tugas yang Tidak Buru-Buru

Dokumentasi resmi Gemini Batch API menyebutnya dirancang untuk memproses permintaan volume besar secara asinkron dengan 50% dari biaya standar. Target waktu penyelesaiannya 24 jam, meski dalam banyak kasus hasilnya keluar jauh lebih cepat dari itu.

Ada dua cara mengirim permintaan: permintaan inline (daftar objek request langsung disertakan, cocok untuk batch di bawah 20 MB) atau file input JSONL (satu baris satu request, direkomendasikan untuk volume lebih besar). Contoh permintaan inline dari dokumentasi resmi:

inline_requests = [
    {'contents': [{'parts': [{'text': 'Tell me a one-sentence joke.'}], 'role': 'user'}]},
    {'contents': [{'parts': [{'text': 'Why is the sky blue?'}], 'role': 'user'}]}
]

inline_batch_job = client.batches.create(
    model="gemini-3.5-flash",
    src=inline_requests,
    config={'display_name': "inlined-requests-job-1"},
)

Batch API cocok untuk kerja yang jelas-jelas tidak butuh jawaban seketika: pra-pemrosesan data, menjalankan evaluasi, mengklasifikasikan ribuan baris data lama, atau meringkas arsip dokumen. Kalau bot WhatsApp-mu perlu balas pelanggan detik itu juga, Batch API bukan buat itu — tapi kalau kamu tiap malam memproses ribuan transaksi untuk laporan besok pagi, potongan 50% ini langsung terasa di tagihan bulanan.

4. Thinking Level: Kontrol Seberapa Dalam Model Bernalar

Model Gemini generasi 2.5 ke atas melakukan penalaran internal secara dinamis sebelum menjawab, dan menyesuaikan sendiri seberapa besar upaya penalarannya berdasarkan kompleksitas permintaan. Parameter thinking_level memungkinkanmu mengendalikan ini secara eksplisit, menurut dokumentasi resmi Gemini API tentang thinking.

Level yang didukung berbeda per model — sebagian menerima minimal, rendah, sedang, tinggi, sebagian lain cuma sebagian dari opsi itu. Cara pakainya:

interaction = client.interactions.create(
    model="gemini-3.6-flash",
    input="Provide a list of 3 famous physicists and their key contributions",
    generation_config={"thinking_level": "low"}
)

Ini fitur kontrol biaya yang sering terlewat: penalaran mendalam butuh lebih banyak token internal, yang berarti lebih mahal dan lebih lambat. Untuk tugas sepele seperti klasifikasi pesan masuk jadi tiga kategori, level minimal atau rendah biasanya cukup dan jauh lebih hemat. Simpan level tinggi untuk tugas yang benar-benar butuh penalaran berlapis — debugging kode kompleks, analisis data multi-langkah, atau perencanaan strategi.

💡 Key Takeaway

  • Output terstruktur menjamin bentuk respons sesuai skema, menghilangkan kebutuhan parsing teks manual.
  • Function calling membuat model memutuskan tindakan, tapi eksekusi tetap di tangan kodemu sendiri.
  • Batch API memotong biaya 50% untuk beban kerja yang tidak butuh jawaban seketika.
  • Thinking level rendah untuk tugas sepele, tinggi untuk penalaran berlapis — jangan bayar penalaran penuh untuk klasifikasi sederhana.

5. Caching Implisit: Hemat Otomatis Tanpa Kamu Konfigurasi Apa-Apa

Dalam alur kerja AI yang berulang, kamu sering mengirim ulang token input yang sama persis — instruksi sistem yang panjang, konteks dokumen yang tetap, atau riwayat percakapan yang terus dibawa. Menurut dokumentasi resmi Gemini API tentang context caching, caching implisit sudah aktif secara default untuk semua model Gemini 2.5 ke atas — kamu tidak perlu melakukan apa pun untuk mengaktifkannya, dan penghematan biaya otomatis diteruskan begitu permintaanmu cocok dengan cache.

Ada batas token minimum supaya caching bisa berjalan, berbeda per model menurut dokumentasi resmi: Gemini 3.5 Flash dan Gemini 3.1 Pro Preview butuh minimal 4.096 token, sementara Gemini 2.5 Flash dan Gemini 2.5 Pro sudah bisa dari 2.048 token. Dua cara meningkatkan peluang cache-nya kena, menurut dokumentasi resmi: taruh konten besar dan umum di awal prompt, dan kirim permintaan dengan awalan yang serupa dalam rentang waktu singkat. Jumlah token yang berhasil cocok dengan cache bisa kamu lihat di kolom usage.total_cached_tokens pada objek respons.

Bedakan ini dengan caching eksplisit (membuat dan mengelola objek cache secara manual) yang masih ada di generateContent API tapi tidak didukung di Interactions API generasi baru. Untuk kebanyakan kasus pemakaian bisnis, caching implisit yang otomatis ini sudah cukup — kamu baru perlu caching eksplisit kalau butuh kontrol presisi soal kapan cache dibuat dan dihapus.

6. File API: Jalur Wajib untuk Berkas Besar

Gemini bisa memproses teks, gambar, audio, video, dan dokumen sekaligus dalam satu permintaan. Tapi menurut dokumentasi resmi Gemini API tentang File API, ada batas ukuran yang wajib kamu tahu: selalu gunakan File API kalau total ukuran permintaan (termasuk file, prompt teks, instruksi sistem, dan lainnya) melebihi 100 MB — khusus file PDF, batasnya lebih ketat lagi di 50 MB.

Di bawah batas itu, kamu bisa menyisipkan file langsung ke permintaan. Di atasnya, kamu wajib upload dulu lewat File API, baru referensikan URI-nya:

myfile = client.files.upload(file="path/to/sample.mp3")

interaction = client.interactions.create(
    model="gemini-3.7-flash",
    input=[
        {"type": "text", "text": "Describe this audio clip"},
        {"type": "audio", "uri": myfile.uri, "mime_type": myfile.mime_type}
    ]
)

Kesalahan yang sering terjadi: mengembangkan dan menguji dengan file kecil, lalu kaget saat produksi gagal karena pengguna upload video atau PDF berukuran besar. Kalau agent yang kamu bangun menerima upload dari pengguna — misalnya AI Agent WhatsApp yang menerima foto atau dokumen — jalur File API perlu ditangani sejak awal, bukan ditambal belakangan setelah error muncul di produksi. Detail teknis menghubungkan agent ke WhatsApp sudah dibahas terpisah di panduan bikin AI Agent WhatsApp dan Telegram dengan OpenClaw.

7. Kompatibilitas OpenAI: Pindah Tanpa Menulis Ulang Kode

Kalau kodemu sudah ditulis pakai library resmi OpenAI, kamu tidak perlu membongkarnya untuk mencoba Gemini. Menurut dokumentasi resmi Gemini API tentang kompatibilitas OpenAI, model Gemini bisa diakses lewat library OpenAI (Python maupun TypeScript/JavaScript) dengan mengganti tiga baris kode saja:

from openai import OpenAI

client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

response = client.chat.completions.create(
    model="gemini-3.5-flash",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Explain to me how AI works"}
    ]
)

Tiga baris yang berubah, menurut dokumentasi resmi: api_key diganti kunci API Gemini, base_url diarahkan ke endpoint Gemini, dan model diisi nama model Gemini yang dipilih. Ini jalan pintas paling praktis buat tim yang sudah punya banyak kode berbasis SDK OpenAI dan ingin membandingkan performa atau biaya Gemini tanpa proyek migrasi besar. Untuk perbandingan model API secara lebih luas — bukan cuma Gemini — sudah dibahas terpisah di LLM terbaik untuk AI Agent 2026: GPT vs Claude vs Gemini.

💡 Key Takeaway

  • Caching implisit aktif otomatis di Gemini 2.5+ — taruh konten umum di awal prompt untuk memperbesar peluang kena cache.
  • File API wajib dipakai begitu total permintaan lewat 100 MB (50 MB khusus PDF) — jangan tunggu error produksi.
  • Kompatibilitas OpenAI cuma butuh ganti tiga baris kode: api_key, base_url, dan nama model.

Mana yang Perlu Kamu Pakai Duluan?

Tidak semua fitur ini relevan buat semua orang di saat yang sama. Kalau kamu baru membangun agent yang outputnya perlu masuk ke sistem lain, mulai dari output terstruktur — ini yang paling cepat menghilangkan bug akibat parsing gagal. Begitu agent-mu perlu benar-benar bertindak, bukan cuma menjawab, function calling jadi langkah berikutnya.

Batch API baru relevan kalau kamu punya beban kerja terjadwal dalam volume besar — bukan buat percakapan real-time. Thinking level layak disetel begitu kamu mulai memperhatikan tagihan bulanan dan sadar sebagian tugasmu terlalu sederhana untuk penalaran penuh. File API wajib begitu agent-mu menerima upload dari pengguna. Kompatibilitas OpenAI paling berguna kalau kamu sedang migrasi atau membandingkan provider.

Satu-satunya yang tidak perlu kamu pikirkan sama sekali adalah caching implisit — itu berjalan sendiri di belakang layar, dan satu-satunya tindakanmu adalah menyusun prompt supaya bagian yang berulang ditaruh di depan.

Pertanyaan yang Sering Ditanya

Apakah output terstruktur menjamin JSON yang dihasilkan selalu valid?

Ya, selama skema JSON Schema yang kamu berikan valid, respons model dijamin mengikuti bentuk skema tersebut di level API — bukan lewat instruksi prompt yang bisa diabaikan model.

Apakah function calling membuat model langsung menjalankan aksi ke sistem luar?

Tidak. Model hanya menentukan fungsi mana yang perlu dipanggil dan mengisi argumennya. Eksekusi sebenarnya — memanggil API, menulis ke database, mengirim pesan — tetap dilakukan oleh kode di sisi kamu.

Berapa lama waktu penyelesaian Batch API?

Google menargetkan penyelesaian dalam 24 jam, meski menurut dokumentasi resmi hasilnya seringkali keluar jauh lebih cepat dari itu. Batch API tidak cocok untuk kebutuhan yang butuh respons seketika.

Apakah caching implisit perlu dikonfigurasi manual?

Tidak. Caching implisit aktif secara default di semua model Gemini 2.5 ke atas. Yang bisa kamu lakukan hanya menyusun prompt agar bagian yang sering berulang ditaruh di awal, supaya peluang cocok dengan cache lebih besar.

Kapan File API wajib dipakai, bukan sekadar opsional?

Begitu total ukuran permintaan — termasuk file, prompt teks, dan instruksi sistem — melebihi 100 MB, atau melebihi 50 MB khusus untuk file PDF. Di bawah batas itu, file bisa disisipkan langsung tanpa upload terpisah.

Apakah pindah ke Gemini API lewat library OpenAI kehilangan fitur tertentu?

Dokumentasi resmi tidak merinci daftar lengkap perbedaan fitur antara akses lewat library OpenAI dan akses langsung ke Gemini API. Untuk fitur-fitur lanjutan yang dibahas di halaman ini, cara paling aman adalah memanggil Gemini API secara langsung.

Disclosure: Komunitech menyelenggarakan workshop dan layanan pengerjaan AI Agent, termasuk yang memanfaatkan Gemini API dan model sejenis, sehingga punya kepentingan komersial atas topik yang dibahas di halaman ini.

Disclaimer: seluruh contoh kode dan detail teknis mengacu pada dokumentasi resmi Gemini API (ai.google.dev) per 2 September 2026. Nama model, parameter, dan perilaku default bisa berubah seiring rilis versi baru — periksa dokumentasi versi terkini sebelum menerapkannya di lingkungan produksi.

Referensi

Artikel telah diupdate pada 02/09/2026 untuk memastikan artikel tetap sesuai kondisi terkini.



Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *