Prompt API Chrome 148 Stabil: Jalankan AI di Browser Tanpa API Key
  easystem   25 Oktober 2026   Developer

Memanggil model bahasa besar dari sebuah halaman web biasanya berarti tiga hal: kunci API yang harus dijaga, tagihan per token, dan data pengguna yang dikirim ke server pihak lain. Sejak Prompt API di Chrome berstatus stabil, ada jalur keempat yang layak dicoba: halaman web meminta Chrome menjalankan model Gemini Nano yang sudah tertanam di browser, di perangkat pengguna, tanpa kunci API dan tanpa biaya per token.

Untuk tim developer di Indonesia — terutama yang membangun aplikasi layanan publik, formulir desa, atau sistem internal instansi — ini bukan sekadar mainan baru. Ini cara menjalankan fitur AI pendek tanpa menambah anggaran API dan tanpa memindahkan data warga keluar dari komputer pengguna. Tapi ada syarat keras dan batasan yang harus dipahami sebelum kode dipasang.

Sejak kapan stabil, dan API mana yang dipakai

Menurut dokumentasi resmi Chrome for Developers, Prompt API tersedia stabil di ekstensi sejak Chrome 138 dan di halaman web sejak Chrome 148. Summarizer, Translator, dan Language Detector juga sudah stabil di kedua kanal. Writer, Rewriter, dan Proofreader masih berstatus developer trial.

Dua hal yang sering membuat kode lama error. Pertama, nama antarmukanya sekarang LanguageModel; contoh-contoh 2024 yang memakai window.ai sudah tidak berlaku. Kedua, parameter sampling seperti temperature dan topK tidak tersedia default di web — hanya lewat origin trial dengan opsi samplingMode, sementara di ekstensi parameter numerik lama masih didukung.

Syarat perangkat: ini bagian yang paling sering dilewatkan

Model berjalan lokal, jadi perangkat pengguna harus memenuhi syarat:

  • Sistem operasi: Windows 10/11, macOS 13 (Ventura) ke atas, Linux, atau ChromeOS pada perangkat Chromebook Plus. Chrome di Android dan iOS belum mendukung API berbasis model fondasi ini.
  • Ruang disk: minimal 22 GB kosong pada volume yang menyimpan profil Chrome.
  • Perangkat keras: GPU dengan VRAM lebih dari 4 GB, atau CPU dengan RAM 16 GB dan minimal 4 core.
  • Jaringan: koneksi tanpa batas kuota untuk unduhan model pertama. Sesudahnya, model bisa dipakai offline.
  • Model bisa hilang: jika sisa ruang disk turun di bawah 10 GB setelah unduhan, Chrome menghapus model dan mengunduhnya ulang saat syarat terpenuhi lagi.

Artinya akan ada pengguna yang fiturnya mati — laptop kantor RAM 8 GB, HP Android, atau Chrome versi lama. Rancang fitur dengan asumsi itu.

Pola wajib: deteksi, buat sesi, streaming

Urutannya selalu sama: cek ketersediaan dengan opsi yang identik, buat sesi (di sinilah unduhan model terjadi), lalu konsumsi respons secara streaming. Contoh berikut rangkuman dari pola di dokumentasi resmi:

async function ringkasLokal(teks, fallback) {
  const opsi = {
    expectedInputs:  [{ type: 'text', languages: ['en'] }],
    expectedOutputs: [{ type: 'text', languages: ['en'] }]
  };

  // 1. Deteksi. Opsi HARUS sama dengan yang dipakai saat create().
  if (!('LanguageModel' in self)) return fallback();
  const status = await LanguageModel.availability(opsi);
  if (status === 'unavailable') return fallback();
  // status lain: 'downloadable' | 'downloading' | 'available'

  // 2. Buat sesi. Butuh user activation; unduhan model dimulai di sini.
  const sesi = await LanguageModel.create({
    ...opsi,
    monitor(m) {
      m.addEventListener('downloadprogress', (e) => {
        tampilkanProgres(Math.round(e.loaded * 100));
      });
    }
  });

  // 3. Streaming: tiap potongan adalah delta, bukan teks kumulatif.
  let hasil = '';
  for await (const potongan of sesi.promptStreaming(teks)) {
    hasil += potongan;
    render(potongan);
  }

  sesi.destroy(); // lepas memori
  return hasil;
}

Perhatikan baris hasil += potongan. Sebelum April 2025 API mengirim teks kumulatif sehingga contoh lama memakai hasil = potongan; sekarang yang dikirim hanya token baru. Kalau Anda menyalin tutorial lama dan hasilnya terpotong-potong, kemungkinan besar penyebabnya baris ini.

Fallback bukan opsional, tapi bagian dari desain

Status downloadable berarti model belum ada dan create() akan mengunduhnya — bisa lama, jadi sediakan indikator progres yang jelas. Status unavailable berarti perangkat tidak memenuhi syarat: arahkan ke backend Anda sendiri, atau matikan fitur dengan pesan jelas. Pola yang rapi: satu fungsi pembungkus yang mengembalikan { sumber: 'on-device' | 'server' }, sehingga lapisan UI tidak perlu tahu dari mana jawaban datang.

Untuk konteks percakapan, gunakan initialPrompts dengan pesan berperan system sebagai instruksi dasar, lalu destroy() sesi setelah selesai agar memori tidak menumpuk saat pengguna membuka banyak tab. Untuk keluaran terstruktur, dokumentasi menyediakan halaman khusus structured output — berguna bila hasilnya harus JSON yang siap disimpan.

Batasan yang jujur: bahasa Indonesia belum didukung

Ini poin penting bagi proyek berbahasa Indonesia. Prompt API saat ini menerima bahasa en, ja, es, de, dan fr; dukungan bahasa lain masih dalam pengembangan, dan masukan di luar itu bisa memicu NotSupportedError. Jadi untuk saat ini API ini paling aman dipakai untuk tugas berbahasa Inggris: meringkas dokumen teknis berbahasa Inggris, klasifikasi teks Inggris, atau alt-text gambar. Untuk layanan berbahasa Indonesia, siapkan jalur server sampai dukungan bahasanya datang.

Batasan lain: keluaran hanya teks walau masukan bisa berupa teks, gambar, dan audio (audio butuh GPU), dan ukuran model mengikuti pembaruan Chrome, bukan aplikasi Anda.

Kapan layak dipakai

Prompt API masuk akal ketika data tidak boleh keluar dari perangkat (draf surat warga, catatan rapat internal, dokumen yang belum boleh diunggah), ketika volume pemakaian kecil sehingga biaya API tidak sepadan, atau ketika fitur harus tetap jalan offline. Sebaliknya, untuk tugas yang menuntut kualitas tinggi, konteks panjang, atau bahasa Indonesia yang rapi, model server tetap pilihan utama.

Cara paling aman memulai: buat satu fitur kecil — tombol "ringkas" pada satu halaman — lengkapi deteksi, progres unduhan, dan fallback, lalu ukur berapa persen pengguna nyata yang perangkatnya lolos syarat.

Sumber: The Prompt API — Chrome for Developers, Built-in AI APIs status, dan Chrome's Prompt API is stable (dev.to).

Tags :

chrome , javascript , AI , web-development

Bagikan :