Introdução à Prompt API — IA On-Device no Navegador

A Prompt API é uma interface JavaScript nativa do Chrome que roda inferência de linguagem natural direto no navegador do usuário — sem mandar nada pra servidor nenhum. Disponível a partir do Chrome 148 (maio de 2026), ela expõe o modelo Gemini Nano (~4 GB) através do namespace window.LanguageModel. Aceita texto, imagem e áudio como entrada, e sempre devolve texto.

O que é a Prompt API

Em termos práticos: é uma Web API que dá acesso direto a um LLM embutido no Chrome. Diferente de APIs cloud (OpenAI, Gemini API), toda a inferência acontece localmente no dispositivo do usuário. Nenhum dado sai da máquina depois que o modelo foi baixado.

Ela faz parte da iniciativa Built-in AI do Chrome, junto com as APIs Summarizer, Writer, Rewriter, Translator, Language Detector e Proofreader. A diferença? Essas APIs irmãs são especializadas em tarefas específicas. A Prompt API é a superfície de uso geral — você manda prompts em linguagem natural e recebe respostas do modelo.

A Proofreader API chegou em Origin Trial no Chrome 149 (junho 2026). Corrige erros gramaticais e de estilo em texto - pensa nela como um Grammarly on-device, sem mandar seus textos pra nuvem de ninguém. O Microsoft Edge também listou a Proofreader como Origin Trial disponível no Edge 149.

O namespace é window.LanguageModel, e toda interação passa por sessões criadas com LanguageModel.create().

Por que a Prompt API existe

A motivação é resolver três problemas que APIs cloud de IA impõem a quem desenvolve pra web:

1. Privacidade por design

Com processamento on-device, os dados do usuário nunca saem do navegador. Ponto. Isso elimina preocupações com LGPD, GDPR e regulamentações de dados sensíveis. Nenhum dado vai pro Google nem pra terceiros durante a inferência.

2. Custo zero de inferência

Depois que o modelo é baixado (uma única vez, compartilhado entre origens), não existe custo por token, por requisição ou por usuário. Isso viabiliza IA em produtos freemium, ferramentas offline e aplicações de alto volume sem aquele susto na fatura no fim do mês.

3. Latência mínima

Sem round-trips de rede, a resposta começa a ser gerada na hora. Pra aplicações interativas — autocompletar, classificação em tempo real, assistentes de escrita — a diferença de experiência é gritante.

Como funciona: arquitetura on-device

A Prompt API opera em três camadas:

┌─────────────────────────────────────────────────┐
│              Aplicação Web (JavaScript)          │
│                                                 │
│   LanguageModel.create() → session.prompt()     │
└──────────────────────┬──────────────────────────┘
                       │ API JavaScript
┌──────────────────────▼──────────────────────────┐
│            Chrome Browser Engine                 │
│                                                 │
│   • Gerenciamento de sessões e contexto         │
│   • Validação de inputs (texto/imagem/áudio)    │
│   • Controle de Permission Policy               │
│   • Download e cache do modelo                  │
└──────────────────────┬──────────────────────────┘
                       │ Inferência local
┌──────────────────────▼──────────────────────────┐
│         Gemini Nano (~4 GB on-device)        │
│                                                 │
│   • Processamento via GPU (preferencial)        │
│   • Fallback para CPU (16GB RAM + 4 cores)      │
│   • Context window gerenciado pelo Chrome       │
│   • Modelo compartilhado entre origens          │
└─────────────────────────────────────────────────┘

Fluxo de execução

  1. A aplicação chama LanguageModel.availability() pra checar se o modelo tá disponível
  2. Na primeira vez, o Chrome baixa o Gemini Nano (~4 GB). Esse download é compartilhado entre todas as origens
  3. LanguageModel.create() instancia uma sessão com configurações opcionais
  4. session.prompt() ou session.promptStreaming() envia conteúdo e recebe resposta
  5. O Chrome cuida do contexto, limpa sessões destruídas e gerencia overflow

Gerenciamento do modelo pelo Chrome

O Chrome gerencia o ciclo de vida do Gemini Nano de forma transparente:

  • Modelo baixado uma vez, compartilhado entre todas as origens
  • Se o espaço livre cair abaixo de 10 GB após o download, o modelo é removido automaticamente
  • Quando os requisitos de espaço são satisfeitos de novo, ele é re-baixado
  • Atualizações do modelo vêm junto com atualizações do Chrome

Requisitos de hardware

A Prompt API exige hardware mínimo específico pra garantir uma experiência de inferência decente:

Requisito Especificação
Sistema operacional Windows 10/11, macOS 13+ (Ventura), Linux, ChromeOS (Chromebook Plus)
Armazenamento Mínimo 22 GB livres no volume do perfil Chrome
GPU (recomendado) Mais de 4 GB de VRAM
CPU (alternativa) 16 GB de RAM + 4 cores ou mais
Áudio (input) Requer GPU obrigatoriamente
Rede Conexão sem limite de dados (só pro download inicial)
Chrome Versão 148 ou superior

Sistemas operacionais que NÃO funcionam

  • Android
  • iOS
  • ChromeOS em dispositivos que não são Chromebook Plus

Nota sobre armazenamento

O tamanho exato do modelo pode variar com atualizações do Chrome. Pra verificar o tamanho atual, acesse chrome://on-device-internals no navegador.

Idiomas suportados

O Gemini Nano suporta um conjunto limitado de idiomas:

Código Idioma
en Inglês
es Espanhol
ja Japonês
de Alemão
fr Francês

Português brasileiro não é oficialmente suportado na versão atual. Na prática, o modelo consegue gerar respostas parciais em PT-BR por conta do treinamento multilingual do Gemini Nano — mas sem garantia de qualidade. Confesso que nos meus testes o resultado em português fica inconsistente: às vezes sai surpreendentemente bom, às vezes… nem tanto.

Capacidades da API

Inputs suportados

A Prompt API aceita três tipos de entrada:

  • Texto: Strings ou arrays de mensagens com roles (system, user, assistant)
  • Imagem: HTMLImageElement, SVGImageElement, HTMLVideoElement, HTMLCanvasElement, ImageBitmap, OffscreenCanvas, VideoFrame, Blob, ImageData
  • Áudio: AudioBuffer, ArrayBufferView, ArrayBuffer, Blob

Output

A saída é sempre texto. Sem geração de imagens, áudio ou vídeo.

Structured Output

A API suporta responseConstraint pra forçar respostas em formato específico:

  • JSON Schema (boolean, string, object, array, enum)
  • Expressões regulares

Métodos principais

Método O que faz
LanguageModel.availability() Verifica disponibilidade do modelo
LanguageModel.create() Cria uma nova sessão
LanguageModel.params() Parâmetros do modelo (só Extensions)
session.prompt() Envia prompt e aguarda resposta completa
session.promptStreaming() Envia prompt com resposta em streaming
session.append() Adiciona mensagens ao contexto
session.clone() Clona sessão existente
session.destroy() Destrói sessão e libera recursos

Limitações que você precisa saber

Antes de sair construindo, entenda o que a Prompt API não faz:

  • Não funciona em Web Workers — só em janelas top-level e iframes same-origin (ou cross-origin com Permission Policy)
  • Não funciona em mobile — Android e iOS estão fora
  • Modelo único — você não escolhe; é sempre o Gemini Nano
  • Sem fine-tuning — não dá pra customizar o modelo
  • Output só texto — nada de geração de imagens, áudio ou código executável
  • Interoperabilidade limitada — Chrome e Edge apenas; Firefox e Safari declararam posição mas sem implementação à vista
  • Qualidade tem limite — Gemini Nano é um modelo pequeno; pra tarefas complexas, modelos cloud são bem superiores

Casos de uso onde ela brilha

A Prompt API funciona melhor em cenários específicos:

  • Classificação de conteúdo em tempo real (spam, tópicos, sentimento)
  • Extração de informações estruturadas de texto livre
  • Autocompletar e sugestões de escrita
  • Resumo de textos curtos
  • Tradução rápida entre idiomas suportados
  • Análise de imagens (descrições, comparações)
  • Transcrição contextual de áudio curto
  • Personalização on-device sem expor dados do usuário

Suporte entre navegadores

Navegador SO suportado Status
Chrome Windows, macOS, Linux, ChromeOS (Chromebook Plus) ✅ Estável (Chrome 138 em Extensions, Chrome 148 na web)
Edge Windows, macOS ⚠️ Developer preview — apenas Canary/Dev, com flag habilitada
Safari — ❌ Posição formal negativa, sem implementação
Firefox — ❌ Posição formal negativa, sem implementação

O Chrome é hoje o único browser com a Prompt API habilitada por padrão para páginas web. No Edge a API existe, mas como developer preview: exige os canais Canary ou Dev, a partir da versão 138.0.3309.2, e a flag Prompt API for on-device language model habilitada em edge://flags. Não está disponível nos canais estáveis do Edge.

O Edge também usa modelos próprios, não o Gemini Nano: por padrão o Phi-4-mini, e opcionalmente o Aion-1.0-Instruct (Edge 150.0.4070+) via flag. Por isso os requisitos de hardware do Edge são diferentes dos do Chrome — 20 GB de armazenamento (contra 22 GB) e 5,5 GB de VRAM (contra mais de 4 GB).

Próximos passos

Com essa visão geral, você tá pronto pra colocar a mão na massa. Os próximos artigos cobrem:

  1. Primeiros Passos — Tutorial de setup e primeiro prompt
  2. Enviando Prompts — prompt() vs promptStreaming() em detalhe
  3. Sessões — Gerenciamento de contexto e sessões
  4. Multimodal — Trabalhando com imagens e áudio
  5. Structured Output — JSON Schema e validação de respostas

Perguntas frequentes

A Prompt API envia dados para o Google?

Não. Depois do download inicial do modelo, toda inferência acontece localmente. Nenhum dado é transmitido pro Google ou pra terceiros durante o uso da API.

Posso usar a Prompt API em português?

Português não está na lista oficial de idiomas suportados (EN, ES, JA, DE, FR). O modelo pode gerar respostas parciais em PT-BR, mas sem garantia de qualidade. Pra produção, use os idiomas oficialmente suportados.

A Prompt API funciona offline?

Sim, depois do download do modelo. A conexão é necessária só pro download inicial do Gemini Nano (~4 GB).

Qual a diferença entre a Prompt API e a Gemini API cloud?

A Prompt API roda localmente no dispositivo com Gemini Nano (modelo pequeno, gratuito, privado). A Gemini API cloud usa modelos maiores (Pro, Flash) com qualidade superior, mas precisa de internet, tem custo por token e envia dados pra servidores do Google.

A Prompt API funciona no Firefox ou Safari?

Não. Hoje só o Chrome tem a Prompt API habilitada por padrão na web. O Edge oferece a API como developer preview, apenas nos canais Canary e Dev com flag habilitada — não nos canais estáveis. Firefox e Safari registraram posição formal negativa e não implementaram.

Edge suporta a Prompt API?

Em versão de preview, apenas. O Edge Canary e o Edge Dev têm a Prompt API a partir da 138.0.3309.2, com a flag Prompt API for on-device language model ligada em edge://flags. Nos canais estáveis do Edge, a API não está habilitada. E o Edge usa os modelos da Microsoft (Phi-4-mini por padrão, Aion-1.0-Instruct a partir da 150.0.4070), não o Gemini Nano.


Referências