La API de Proofreader

Publicación: 12 de septiembre de 2025

Explicativa Web Extensiones Estado de Chrome Intención
GitHub Prueba de origen Prueba de origen Prueba de origen Prueba de origen 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-model
  • chrome://flags/#prompt-api-for-gemini-nano-multimodal-input
  • chrome://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:

  1. Acepta la Política de Uso Prohibido de IA Generativas de Google.
  2. Ve a la prueba de origen de la API de Proofreader.
  3. 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.
  4. Para enviarla, haz clic en Registrarse.
  5. 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.
  6. 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.

Descubre todas las APIs de IA integradas que usan modelos, incluidos los modelos grandes de lenguaje, en el navegador.