La API de Proofreader

Publicado el 4 de septiembre de 2025

Explicación Web Extensiones Estado de Chrome Intención
GitHub Prueba de origen Prueba de origen Prueba de origen Prueba de origen Ver Intención de crear un prototipo

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 la función de revisión de texto en sus herramientas de composición, como en Documentos de Google.

Con la API de Proofreader, puedes proporcionar corrección de pruebas interactiva a tu aplicación o extensión web con IA integrada. Esta API ofrece las siguientes funciones:

  • Corrección: Corrige los errores de gramática, ortografía y puntuación en las entradas del usuario.
  • Etiquetas: Etiqueta cada corrección según el tipo de error.
  • Explicación: Definir 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
  • Proporciona 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 de funcionamiento 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 (a partir de la plataforma 16389.0.0) en dispositivos Chromebook Plus Las APIs que usan Gemini Nano aún no son compatibles con Chrome para Android, iOS y ChromeOS en dispositivos que no son Chromebook Plus.
  • Almacenamiento: Al menos 22 GB de espacio libre en el volumen que contiene tu perfil de Chrome
  • GPU: Estrictamente más de 4 GB de VRAM
  • 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

Para acceder a la API de Proofreader en localhost durante la prueba de origen, debes actualizar Chrome a la versión más reciente. Luego, sigue estos pasos:

  1. Ve a chrome://flags/#proofreader-api-for-gemini-nano.
  2. Selecciona Habilitada.
  3. Haz clic en Reiniciar o reinicia Chrome.

Regístrate para la prueba de origen

Para comenzar a usar la API de Proofreader, sigue estos pasos:

  1. Aceptar 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 enviar la solicitud, haz clic en Registrar.
  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 tu extensión.
  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 tardar.

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 de pruebas, 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 del explicador.

Comienza a corregir el texto del usuario

Llama a proofread() para obtener correcciones de 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. Encuentra la entrada completamente corregida en el atributo corrected 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, elementos iframe y Web Workers

De forma predeterminada, la API de Proofreader solo está disponible para las ventanas de nivel superior y sus elementos iframe del mismo origen. Se puede delegar el acceso a la API a elementos iframe 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, con el fin de verificar el estado de la Política de permisos.

Demostración

Experimenta con el Espacio de pruebas de la API de Proofreader.

Interactúa 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 de lenguaje grandes, en el navegador.