Зміст
Коротко
У Chrome 138+ зʼявився Prompt API: виклик await LanguageModel.create() запускає Gemini Nano на пристрої — без сервера, ключа й мережевого round-trip. Модель (~4 GB) підтягується з оновленнями браузера. Для продакшену все одно потрібен fallback на hosted API: підходить не кожен користувач.
Що сталося
Спека й прапорці еволюціонували з 2024 року; до травня 2026 API у Stable та через Origin Trial для продакшен-доменів. На HN і в розширеннях уже шиплять фічі «за вихідні».
Мінімальний сценарій:
const session = await LanguageModel.create({
systemPrompt: "You are a concise technical assistant.",
});
const reply = await session.prompt("Summarize this in one sentence.");
Стрімінг — session.promptStreaming() з for await, скасування — через AbortSignal.
Чому це важливо
Це третій вектор «дешевого AI» поруч із локальними серверами та open weights: користувачу нічого не встановлювати — достатньо Chrome. Для задач рівня «автодоповнення» маржа hosted API стискається.
Обмеження:
| Параметр | Реальність |
|---|---|
| Контекст | ~4K in / ~1K out |
| Мови | English у пріоритеті |
| Залізо | ~4 GB VRAM або 16 GB RAM + 4+ ядра |
| Диск | ~22 GB вільно |
| Слабко | Довгий RAG, код, ланцюги міркувань |
Mozilla попереджає про vendor lock-in промптів під Nano — fallback потрібен і для Safari/Firefox, і через зміну моделі при автооновленні Chrome.
На практиці
- Перевіряти
LanguageModel.availability(). - Звести on-device і hosted до одного
AsyncIterable<string>. - На fallback — дешевша модель, інакше економія лише переноситься.
- Не обіцяти приватність без прозорості для користувача.
- JSON mode нестабільний; довгі сторінки різати.
Правило: <500 токенів ввод, <200 вивід, помилка некритична → Nano; інакше hosted.
Підсумок
Prompt API — не «GPT у вкладці», а безкоштовний tier для легких задач. Варто викотити одну фічу з fallback і виміряти частку on-device користувачів.

