Publicación: 12 de septiembre de 2025
| Explicativa | Web | Extensiones | Estado de Chrome | Intención |
|---|---|---|---|---|
| GitHub | Ver | Intención de experimentar |
La revisión de texto es el proceso de buscar y corregir errores de gramática, ortografía y puntuación. Los navegadores y los sistemas operativos ofrecen cada vez más revisión de texto a sus herramientas de composición, como en Documentos de Google.
Con la API de Proofreader, puedes proporcionar revisión de texto interactiva a tu aplicación o extensión web con IA integrada. Esta API ofrece las siguientes funciones:
- Corrección: Corrige las entradas del usuario en cuanto a gramática, ortografía y puntuación.
- Etiquetas: Etiqueta cada corrección según el tipo de error.
- Explicación: Define qué es el error o por qué era necesaria la corrección en lenguaje sencillo.
Casos de uso
Existen muchos motivos por los que puedes usar la API de Proofreader. Por ejemplo:
- Sugerir correcciones para mensajes de foros, comentarios sobre artículos y correos electrónicos, antes de que se envíe la publicación
- Proporcionar correcciones durante la toma de notas activa
¿Falta tu caso de uso? Únete al programa de versión preliminar anticipada para compartir tus comentarios.
Comenzar
Únete a la prueba de origen de la API de Proofreader, que se ejecuta en Chrome 141 a 145.
Revisa los requisitos de hardware
Existen los siguientes requisitos para los desarrolladores y los usuarios que operan funciones con estas APIs en Chrome. Es posible que otros navegadores tengan requisitos operativos diferentes.
Las APIs de Language Detector y Translator funcionan en Chrome en computadoras de escritorio. Estas APIs no funcionan en dispositivos móviles.
Las APIs de Prompt, Summarizer, Writer, Rewriter y Proofreader funcionan en Chrome cuando se cumplen las siguientes condiciones:
- Sistema operativo: Windows 10 o 11; macOS 13 o versiones posteriores (Ventura y versiones posteriores); Linux; o ChromeOS (desde la plataforma 16389.0.0 y versiones posteriores) en Chromebook Plus dispositivos. Las APIs que usan Gemini Nano aún no admiten Chrome para Android, iOS y ChromeOS en dispositivos que no sean Chromebook Plus.
- Almacenamiento: Al menos 22 GB de espacio libre en el volumen que contiene tu perfil de Chrome.
- GPU o CPU: Los modelos integrados pueden ejecutarse con GPU o CPU.
- GPU: Estrictamente más de 4 GB de VRAM.
- CPU: 16 GB de RAM o más y 4 núcleos de CPU o más.
- Red: Datos ilimitados o una conexión de uso no medido.
El tamaño exacto de Gemini Nano puede variar a medida que el navegador actualiza el modelo. Para determinar el tamaño actual, visita chrome://on-device-internals.
Agrega compatibilidad con localhost
Todas las APIs de IA integradas están disponibles en localhost en Chrome. Establece las
siguientes marcas en Habilitado:
chrome://flags/#optimization-guide-on-device-modelchrome://flags/#prompt-api-for-gemini-nano-multimodal-inputchrome://flags/#proofreader-api-for-gemini-nano
Luego, haz clic en Volver a iniciar o reinicia Chrome. Si encuentras errores, soluciona los problemas de localhost.
Regístrate en la prueba de origen
Para comenzar a usar la API de Proofreader, sigue estos pasos:
- Acepta la Política de Uso Prohibido de IA Generativas de Google.
- Ve a la prueba de origen de la API de Proofreader.
- Haz clic en Registrarse y completa el formulario. En el campo Origen web, proporciona
tu origen o
ID de extensión,
chrome-extension://YOUR_EXTENSION_ID. - Para enviarla, haz clic en Registrarse.
- Copia el token proporcionado y agrégalo a todas las páginas web participantes de tu origen o inclúyelo en el manifiesto de la extensión.
- Si compilas una extensión, sigue las instrucciones de la prueba de origen de extensiones.
- Comienza a usar la API de Proofreader.
Obtén más información para comenzar a usar las pruebas de origen.
Usa la API de Proofreader
Para determinar si el modelo está listo para usarse, llama a
Proofreader.availability(). Si la
respuesta a availability() fue "downloadable", escucha el progreso de la descarga
y avísale al usuario, ya que la descarga puede demorar.
const options = {
expectedInputLanguages: ['en'],
};
const available = if (Proofreader.availability("downloadable") === true);
Para activar la descarga y crear una instancia del corrector, verifica la
activación del usuario. Luego, llama a la
función asíncrona Proofreader.create().
const session = await Proofreader.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
...options,
});
Crea un objeto Proofreader
Para crear un corrector, usa la función Proofreader.create().
const proofreader = await Proofreader.create({
expectedInputLanguages: ["en"],
monitor(m) {
m.addEventListener("downloadprogress", e => {
console.log(Downloaded ${e.loaded * 100}%);
});
}
};
El método create() incluye las siguientes opciones:
expectedInputLanguages: Es un array de idiomas de entrada esperados.
No se admiten las opciones includeCorrectionTypes y includeCorrectionExplanation de
la explicativa.
Comienza a revisar el texto del usuario
Llama a proofread() para obtener correcciones para un texto de entrada:
const proofreadResult = await proofreader.proofread(
'I seen him yesterday at the store, and he bought two loafs of bread.',
);
Las correcciones son un tipo de ProofreadResult. Busca la entrada completamente corregida en
el atributo correctedInput y la lista de correcciones en el array 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 permisos, iframes y Web Workers
De forma predeterminada, la API de Proofreader solo está disponible para las ventanas de nivel superior y para sus iframes del mismo origen. Se puede delegar el acceso a la API a iframes de origen cruzado con el atributo allow="" de la política de permisos:
<!--
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>
La API de Proofreader no está disponible en Web Workers. Esto se debe a la complejidad de establecer un documento responsable para cada trabajador, para verificar el estado de la política de permisos.
Demostración
Juega con el playground de la API de Proofreader y consulta el código fuente.
Participa y comparte comentarios
La API de Proofreader está en debate activo y está sujeta a cambios en el futuro. Si pruebas esta API y tienes comentarios, nos encantaría conocerlos.
- Lee la explicativa, haz preguntas y participa en el debate.
- Revisa la implementación de Chrome en el estado de Chrome.
- Lee la posición de los estándares de Mozilla y la posición de los estándares de WebKit.
- Únete al programa de versión preliminar anticipada para obtener una vista previa de las APIs nuevas y acceder a nuestra lista de distribución.
- Si tienes comentarios sobre la implementación de Chrome, informa un error de Chromium.
Descubre todas las APIs de IA integradas que usan modelos, incluidos los modelos grandes de lenguaje, en el navegador.