- API native browser untuk mengirim permintaan bahasa alami ke model Gemini Nano yang tertanam di Chrome, menjalankan inferensi AI di perangkat tanpa bolak-balik ke server
- Dapat digunakan untuk berbagai skenario seperti pencarian berbasis AI, feed personal melalui klasifikasi berita, pemfilteran konten, pembuatan jadwal kalender, ekstraksi kontak, dan lainnya
- Dapat memilih respons sekali jadi dengan
prompt() atau respons streaming berbasis ReadableStream dengan promptStreaming()
- Menyediakan fitur kontrol sesi yang rinci seperti pengelolaan konteks berbasis sesi, respons streaming, dan kloning sesi
- Karena inferensi AI dilakukan di dalam browser tanpa bolak-balik ke server, ini menguntungkan untuk privasi dan meminimalkan latensi respons
- Dilengkapi kemampuan multimodal yang mendukung input gambar dan audio selain teks
- Audio:
AudioBuffer, ArrayBuffer, Blob, dll.
- Gambar:
HTMLImageElement, HTMLCanvasElement, VideoFrame, Blob, dll.
- Dengan mengirimkan schema JSON ke field
responseConstraint, format keluaran model dapat dibatasi ke boolean, struktur JSON tertentu, dan sebagainya
- Dengan
initialPrompts, Anda dapat menyisipkan system prompt dan konteks percakapan sebelumnya, dan dengan append() Anda juga dapat mengirim konteks tambahan terlebih dahulu bahkan setelah sesi dibuat
- Jika
prefix: true ditambahkan ke pesan assistant lanjutan, model dapat diarahkan agar memulai respons dalam format tertentu
- Mendukung pengelolaan context window per sesi: periksa penggunaan token dengan
contextUsage/contextWindow, dan saat overflow percakapan awal akan dihapus otomatis (system prompt tetap dipertahankan)
- Dapat melakukan fork sesi dengan
clone(), melepas resource dengan destroy(), dan membatalkan sesi maupun prompt di tengah jalan dengan AbortSignal
- Dengan
expectedInputs/expectedOutputs, format input/output dan bahasa dapat diatur (saat ini mendukung en, ja, es)
- Persyaratan hardware: Windows 10+/macOS 13+/Linux/ChromeOS, ruang penyimpanan minimal 22GB, GPU VRAM lebih dari 4GB atau CPU RAM minimal 16GB + minimal 4 core
- Untuk iframe lintas origin, delegasi akses dimungkinkan dengan atribut
allow="language-model", dan saat ini belum didukung di web worker
- Tersedia sebagai origin trial mulai Chrome 138
1 komentar
Pendapat Hacker News
API ini tampaknya sangat cocok dengan ide de-snarkifier yang sudah lama kupikirkan
Media sosial memang bisa merangsang secara intelektual dan ada hal yang bisa dipelajari, tetapi tanpa sadar kita mudah tersedot ke adu argumen ideologis dan perang komentar. Bertengkar dengan orang asing di internet sambil menguras emosi nyaris seperti pemborosan modal manusia
Kalau ada API seperti ini, sepertinya bisa dibuat ekstensi browser yang sebelum menampilkan tulisan akan melembutkan ekspresi yang agresif atau menyindir saja, sambil tetap menjaga informasi faktual apa adanya. Bahkan bisa dikembangkan lebih jauh agar semakin agresif nadanya, semakin terdengar konyol atau tidak kompeten
Dengan begitu pembaca terlindungi dari serangan pribadi orang asing, dan penulis pun kehilangan insentif untuk bersikap kasar. Kalau semua orang memakai filter seperti ini, tidak ada lagi alasan untuk berlomba jadi yang paling jahat
Semua gizinya ada, tetapi rasanya tidak ada yang istimewa
Yang kuinginkan hanyalah menghapus semua judul clickbait dan iklan, lalu hanya menampilkan judul faktual yang kering
Untuk topik apa pun, satu artikel inti dan beberapa komentar yang benar-benar berguna sudah cukup, sisanya kebanyakan hanya kebisingan yang tidak ingin kulihat
Kondisi media sosial sekarang sangat buruk sampai aku hampir tidak memakainya sama sekali, dan HN tadinya satu-satunya pengecualian, tetapi di sini pun tampaknya mulai bergerak ke arah serupa karena banjir AI. Meski begitu, tiap dua minggu sekali aku masih bisa membuang beberapa jam di sana, dan aku ingin memutusnya sepenuhnya
Idealnya, 98% konten difilter atau diringkas sampai hilang, dan seiring waktu internet hanya kupakai saat sengaja mencari sesuatu. Pada dasarnya aku ingin menghapus sebagian besar sifat hiburan internet agar waktu dan energiku kembali ke dunia nyata dan sumber berkualitas tinggi seperti buku
Ekstensi ini adalah alat crowdsourcing untuk mengurangi sensasionalisme, tetapi kupikir sebagian kontributor teratasnya mungkin bot LLM
Hanya saja, hal seperti ini saat berhadapan dengan dunia nyata cenderung tidak terduga, dan bahkan kalau berhasil pun besar kemungkinan akan bekerja sangat berbeda dari yang pertama kali dibayangkan
Aku tidak tahan dan langsung membuat prototipe Snarknada secara tergesa-gesa sambil melihat pola latensi rendah dan kemungkinan akurasinya
Tepat inilah alasan aku merasa on-device cocok untuk jenis penggunaan seperti ini. Jika seluruh feed infinite scroll harus dilembutkan lewat cloud API, biaya tokennya akan menjadi terlalu besar untuk ditanggung pengembang. Selain itu, wajar juga kalau orang tidak ingin feed pribadi atau DM mereka dikirim ke server pihak ketiga hanya untuk merapikan nada
Kalau ini dipindahkan ke dalam perangkat, Semantic Mutation berfrekuensi tinggi untuk pertama kalinya bisa menjadi realistis dari sisi biaya maupun teknis. Jika kamu membuat sesuatu yang lebih serius daripada prototipe PM isenganku ini dan menemukan titik gesekan yang konkret, aku benar-benar ingin mendengarnya. Itu membantu dalam menentukan prioritas roadmap
[1]: Jika kamu memakai coding agent (Cursor, Claude Code, dll.), aku sarankan mengarahkannya ke https://www.npmjs.com/package/built-in-ai-skills-md-agent-md. Banyak model sekarang dilatih dengan namespace window.ai yang sudah usang, jadi file skill ini membantu agar mereka memakai API saat ini dengan benar
Aku memimpin pekerjaan desain API ini, dan sebelum pensiun aku juga menulis artikel yang merangkum pertimbangan desain terkait
https://domenic.me/builtin-ai-api-design/
Juga penasaran apakah saat membuat hal seperti ini, browser-browser berusaha menyelaraskan kesamaan secara praktis satu sama lain, bukan di level W3C, karena pada akhirnya industri ini cukup kecil
Ini benar-benar berjalan, dan aku sudah pernah merilisnya untuk local inference
Untuk pekerjaan LLM ringan seperti pencarian, ini bisa dipakai seperti ollama versi orang pas-pasan. Keuntungan terbesarnya adalah gratis, menjaga privasi, dan pengguna hampir tidak perlu melakukan apa-apa, jadi cocok untuk memberi inferensi lokal kepada pengguna nonteknis
Hanya saja pengalaman pengguna nyatanya buruk. Ukuran unduhan modelnya beberapa tingkat lebih besar daripada browser itu sendiri, dan proses itu harus selesai sebelum token pertama diterima
Ini tampaknya sulit diselesaikan sampai sistem operasi menyediakan model baked-in secara andal, dan API seperti ini bisa menempel ke sana
Masalah yang lebih besar adalah di kebanyakan PC biasa, modelnya terlalu kecil dan lambat. Aku mencoba mengubah kalimat infocom text adventure secara real time, tetapi sekarang di banyak PC masih terlalu lambat untuk praktis
Mirip cara bittorrent menerima potongan file dari banyak host. Layer bersama tetap harus diunduh, tetapi waktu sampai token pertama bisa dibuat sebanding dengan ukuran aktif, bukan ukuran total
Tentu itu berarti bukan inferensi offline sepenuhnya, tetapi untuk fitur web browser, mungkin itu bukan pertimbangan utama
Hanya saja, jika modelnya jauh lebih besar daripada browser dan harus diunduh sebelum token pertama, aku penasaran apakah ini berarti lazy download. Jika pengguna yang pertama kali memanggilnya harus menunggu sampai unduhan selesai saat itu juga, pengalaman penggunanya terdengar cukup mengerikan
Aku juga penasaran apakah Chrome menampilkan sesuatu seperti dialog status unduhan agar tidak membingungkan, dan seberapa besar pemakaian disknya
Sekilas ini tampaknya memakai Gemini Nano, tetapi Gemma 4 E2B/E4B terbaru terlihat jauh lebih baik, jadi untuk saat ini mungkin lebih baik mendistribusikan versi terkuantisasi lewat ekstensi
Sumber:
Jika Gemma 4 atau Gemini Nano yang setara masih belum ada di Chrome, aku menduga itu akan segera masuk
Dan tulisan ini terakhir diperbarui pada 2025-09-21, dan saat itu sudah Gemini Nano 3
Tertulis bahwa Prompt API bekerja dengan mengirim permintaan bahasa alami ke Gemini Nano di dalam browser
Di Edge, kemungkinan itu Phi4
Ini juga terlihat seperti cara yang bagus bagi skrip JS jahat untuk melemparkan generasi token ke pengunjung yang tidak tahu apa-apa
Akan menarik juga melihat apakah distribusi dimungkinkan lewat pola subagent atau struktur mirip RLM, dengan memecah prompt besar menjadi bagian-bagian kecil lalu mengirimkannya ke banyak browser sehingga masing-masing hanya memproses serpihan kecil namun tetap menghasilkan hasil yang berguna
Infrastruktur teknis dan bisnisnya juga akan jadi sangat rumit, jadi kalau memang ingin melempar prompt ke browser pengguna, bukankah lebih baik langsung memakai Chrome API dengan benar saja. Aku juga ragu seberapa sering benar-benar berarti untuk mengalihkan prompt sisi server ke model ringan seperti ini
Lagi pula, kalau memang benar-benar ingin melakukan itu, WebGPU juga sudah ada sejak lama
Ini tampak seperti satu langkah menuju Model API yang layak, tetapi masih langkah kecil
Ini juga mengingatkanku pada Foundation Models dari Apple
Banyak integrasi AI berfokus pada komunikasi teks atau gaya chat, tetapi sebenarnya ada banyak perangkat lunak yang diuntungkan oleh antarmuka nonteks
Pada akhirnya, menurutku OS dan browser perlu menyediakan API yang mengelola model, sehingga aplikasi bisa mengakses model on-device dan model jarak jauh lewat antarmuka sederhana
Akan sangat bagus jika ini distandardisasi lintas platform, dan karena harus mencakup mobile juga, secara realistis pihak yang paling mungkin mendorongnya adalah Apple dan Google. Meta bisa menyusul, atau justru bergerak lebih dulu
Intinya, ini tidak boleh menjadi khusus untuk model promosi tertentu
Aplikasi harus bisa melakukan query dan memilih model yang sesuai untuk dipakai
(1) https://developer.apple.com/documentation/foundationmodels
Tentu saja, ini masih tahap awal
https://github.com/mozilla/standards-positions/issues/1067
Kami memakai ini untuk ringkasan retrospektif hackday
https://remotehack.space/previous-hacks/
Ini skrip kecil yang membaca feed RSS dan membuat ringkasan ke bentuk paragraf, dan cukup cocok untuk situs statis. Suatu hari aku ingin memperluasnya agar bisa mengajukan pertanyaan lain untuk konten yang sama
LLM lokal yang bisa diakses dari browser memang bagus dari sisi privasi, tetapi kalau model di balik API ini berbeda-beda menurut browser, mimpi buruk pengujian tampaknya akan jadi lebih parah daripada sekarang
Pada akhirnya, kemungkinan besar sebagian besar implementasi akan disesuaikan dengan Gemini Nano, jadi aku juga penasaran apakah ini akan makin mendorong pengguna ke Chrome
Pada praktiknya prompt tidak model-agnostik, jadi prompt yang dituning dengan cermat untuk Gemini Nano 3 v2025 bisa diam-diam turun performanya pada model pihak Gecko. Namun API ini bahkan tidak memberi deteksi kapabilitas untuk menangani percabangan
Ini bahkan lebih buruk daripada WebGL, yang setidaknya memungkinkan query dukungan ekstensi. Merilis fitur yang bergantung pada kualitas prompt model yang nama dan versinya disembunyikan di balik browser mirip seperti merilis perangkat lunak yang fiturnya ditentukan oleh kamus yang terpasang pada pengguna
Kurasa Gemini Nano tidak open-weight seperti Gemma
Kalau belum ada orang yang melakukannya, aku ingin mencoba dump bobot modelnya