Publicado em: 12 de setembro de 2025
| Explicação | Web | Extensões | Status do Chrome | Intenção |
|---|---|---|---|---|
| GitHub | Ver | Intenção de experimentar |
A revisão é o processo de procurar e corrigir erros de gramática, ortografia e pontuação. Os navegadores e sistemas operacionais têm oferecido cada vez mais a revisão para as ferramentas de composição, como no Documentos Google.
Com a API Proofreader, você pode fornecer revisão interativa para seu aplicativo ou extensão da Web com IA integrada. Essa API oferece as seguintes funções:
- Correção: corrige as entradas do usuário para gramática, ortografia e pontuação.
- Marcadores: marca cada correção pelo tipo de erro.
- Explicação: define o que é o erro ou por que a correção foi necessária em linguagem simples.
Casos de uso
Há muitos motivos para usar a API Proofreader. Por exemplo:
- Sugerir correções para mensagens de fórum, comentários em artigos e e-mails antes do envio da postagem.
- Fornecer correções durante a anotação ativa.
Seu caso de uso está faltando? Participe do programa de prévia antecipada para compartilhar seu feedback.
Primeiros passos
Participe do teste de origem da API Proofreader, executado no Chrome 141 a 145.
Analisar os requisitos de hardware
Os requisitos a seguir existem para desenvolvedores e usuários que operam recursos usando estas APIs no Chrome. Outros navegadores podem ter requisitos operacionais diferentes.
As APIs Language Detector e Translator funcionam no Chrome para computador. Essas APIs não funcionam em dispositivos móveis.
As APIs Prompt, Summarizer, Writer, Rewriter e Proofreader funcionam no Chrome quando as seguintes condições são atendidas:
- Sistema operacional: Windows 10 ou 11; macOS 13 ou mais recente (Ventura e versões mais recentes); Linux; ou ChromeOS (da plataforma 16389.0.0 e versões mais recentes) em Chromebook Plus dispositivos. O Google Chrome para Android, iOS e ChromeOS em dispositivos não Chromebook Plus ainda não é compatível com as APIs que usam o Gemini Nano.
- Armazenamento: pelo menos 22 GB de espaço livre no volume que contém seu perfil do Chrome.
- GPU ou CPU: os modelos integrados podem ser executados com GPU ou CPU.
- GPU: estritamente mais de 4 GB de VRAM.
- CPU: 16 GB de RAM ou mais e 4 núcleos de CPU ou mais.
- Observação: a API Prompt com entrada de áudio requer uma GPU.
- Rede: dados ilimitados ou uma conexão não limitada.
O tamanho exato do Gemini Nano pode variar à medida que o navegador atualiza o modelo. Para determinar o tamanho atual, acesse chrome://on-device-internals.
Adicionar suporte ao localhost
Todas as APIs de IA integradas estão disponíveis no localhost no Chrome. Defina as
seguintes flags como Ativadas:
chrome://flags/#optimization-guide-on-device-modelchrome://flags/#prompt-api-for-gemini-nano-multimodal-inputchrome://flags/#proofreader-api-for-gemini-nano
Em seguida, clique em Reiniciar ou reinicie o Chrome. Se você encontrar erros, resolva problemas do localhost.
Inscrever-se no teste de origem
Para começar a usar a API Proofreader, siga estas etapas:
- Reconheça a Política de usos proibidos da IA generativa do Google.
- Acesse o teste de origem da API Proofreader.
- Clique em Registrar e preencha o formulário. No campo "Origem da Web", forneça
sua origem ou
ID da extensão,
chrome-extension://YOUR_EXTENSION_ID. - Para enviar, clique em Registrar.
- Copie o token fornecido e adicione-o a todas as páginas da Web participantes na sua origem ou inclua-o no manifesto da extensão.
- Se você estiver criando uma extensão, siga as instruções do teste de origem das extensões.
- Comece a usar a API Proofreader.
Saiba mais sobre como começar a usar os testes de origem.
Usar a API Proofreader
Para determinar se o modelo está pronto para uso, chame
Proofreader.availability(). Se a
resposta a availability() foi "downloadable", ouça o progresso do download
e informe o usuário, já que o download pode levar algum tempo.
const options = {
expectedInputLanguages: ['en'],
};
const available = if (Proofreader.availability("downloadable") === true);
Para acionar o download e instanciar o revisor, verifique a
ativação do usuário. Em seguida, chame a função assíncrona Proofreader.create().
const session = await Proofreader.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
...options,
});
Criar um objeto Proofreader
Para criar um revisor, use a função Proofreader.create().
const proofreader = await Proofreader.create({
expectedInputLanguages: ["en"],
monitor(m) {
m.addEventListener("downloadprogress", e => {
console.log(Downloaded ${e.loaded * 100}%);
});
}
};
O método create() inclui as seguintes opções:
expectedInputLanguages: uma matriz de idiomas de entrada esperados.
As opções includeCorrectionTypes e includeCorrectionExplanation da
explicação
não são aceitas.
Começar a revisar o texto do usuário
Chame proofread() para receber correções de um texto de entrada:
const proofreadResult = await proofreader.proofread(
'I seen him yesterday at the store, and he bought two loafs of bread.',
);
As correções são um tipo de ProofreadResult. Encontre a entrada totalmente corrigida no atributo correctedInput e a lista de correções na matriz corrections:
let inputRenderIndex = 0;
console.log(proofreadResult.correction);
for (const correction of proofreadResult.corrections) {
// Render part of input that has no error.
if (correction.startIndex > inputRenderIndex) {
const unchangedInput = document.createElement('span');
unchangedInput.textContent = input.substring(inputRenderIndex, correction.startIndex);
editBox.append(unchangedInput);
}
// Render part of input that has an error and highlight as such.
const errorInput = document.createElement('span');
errorInput.textContent = input.substring(correction.startIndex, correction.endIndex);
errorInput.classList.add('error');
editBox.append(errorInput);
inputRenderIndex = correction.endIndex;
}
// Render the rest of the input that has no error.
if (inputRenderIndex !== input.length){
const unchangedInput = document.createElement('span');
unchangedInput.textContent = input.substring(inputRenderIndex, input.length);
editBox.append(unchangedInput);
}
Política de permissões, iframes e Web Workers
Por padrão, a API Proofreader só está disponível para janelas de nível superior e para iframes de mesma origem. O acesso à API pode ser delegado a iframes de origem cruzada usando o atributo allow="" da política de permissões:
<!--
The hosting site at https://main.example.com can grant a cross-origin iframe
at https://cross-origin.example.com/ access to the Proofreader API by
setting the `allow="proofreader"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="proofreader"></iframe>
A API Proofreader não está disponível em Web Workers. Isso ocorre devido à complexidade de estabelecer um documento responsável para cada worker, a fim de verificar o status da política de permissões.
Demonstração
Brinque com o playground da API Proofreader e confira o código-fonte.
Interagir e compartilhar feedback
A API Proofreader está em discussão ativa e sujeita a mudanças no futuro. Se você testar essa API e tiver feedback, gostaríamos de ouvir.
- Leia a explicação, faça perguntas e participe da discussão.
- Analise a implementação do Chrome no status do Chrome.
- Leia a posição dos padrões da Mozilla e a posição dos padrões do WebKit.
- Participe do programa de prévia antecipada para conferir as novas APIs e acessar nossa lista de e-mails.
- Se você tiver feedback sobre a implementação do Chrome, registre um bug do Chromium.
Descubra todas as APIs de IA integradas que usam modelos, incluindo modelos de linguagem grandes, no navegador.