GUÍA

Texto a voz en Google Sheets: cada fila en un MP3

Una hoja de cálculo es el lugar natural para muchos textos cortos: nombres de productos, vocabulario, avisos, frases para un juego o un curso. Google Sheets no puede leerlos en voz alta por sí solo, pero Apps Script, el lenguaje de scripts integrado en cada hoja de Google, puede llamar a una API de texto a voz y guardar el audio en Google Drive.

Esta guía muestra cómo hacerlo con la API de voz de SuperClonica: un script corto convierte la fila seleccionada, guarda un MP3 y escribe su enlace junto al texto.

Qué necesitas

Una cuenta de Google y una clave API de SuperClonica. Entra en SuperClonica con Google o GitHub y crea la clave en la sección de API de tu espacio de trabajo; el plan gratuito da un minuto de audio al día, suficiente para probar algunas filas.

  • La columna A tiene los textos y en la columna B el script escribe los enlaces a los audios.
  • En la hoja abre Extensiones → Apps Script.
  • En Configuración del proyecto → Propiedades de la secuencia de comandos añade SUPERCLONICA_KEY con tu clave, para que la clave nunca esté en el código.

El script

Pega esta función en el editor de Apps Script y guarda. Lee el texto de la fila seleccionada, lo envía a la API, guarda el MP3 en tu Drive y pone el enlace del archivo en la columna B:

function voiceRow() { const sheet = SpreadsheetApp.getActiveSheet(); const row = sheet.getActiveCell().getRow(); const text = sheet.getRange(row, 1).getValue(); const key = PropertiesService.getScriptProperties().getProperty("SUPERCLONICA_KEY"); const answer = UrlFetchApp.fetch("https://superclonica.com/api/v1/speech", { method: "post", contentType: "application/json", headers: { Authorization: "Bearer " + key, "Idempotency-Key": "row-" + row }, payload: JSON.stringify({ text: text, voice: "F1", language: "es", format: "mp3" }), muteHttpExceptions: true }); if (answer.getResponseCode() !== 200) throw new Error(answer.getContentText()); const file = DriveApp.createFile(answer.getBlob().setName("row-" + row + ".mp3")); sheet.getRange(row, 2).setValue(file.getUrl()); }

Ejecútala una vez desde el editor para conceder acceso a la hoja, a Drive y a las solicitudes externas; después selecciona una fila y ejecuta voiceRow. El Idempotency-Key hace que una ejecución repetida para la misma fila espere el mismo audio en lugar de convertirlo dos veces.

Muchas filas a la vez

Para convertir una columna entera, recorre las filas en un bucle y salta las que ya tienen enlace. Una ejecución de Apps Script tiene un límite de tiempo, así que convierte unas decenas de filas por ejecución y vuelve a lanzarla para el resto. Si la API responde 429, la ventana de 10 minutos de tu plan se agotó: el encabezado Retry-After indica en cuántos segundos seguir. Elige la voz en el catálogo de SuperClonica: en un plan de pago cualquier voz del catálogo funciona por su ID, que aparece en la página de la voz bajo «Por la API».

Coste y privacidad

El plan gratuito da un minuto de audio al día; el plan Inicio de 5 $ da 3 minutos cada 10 minutos, hasta 216 horas al mes usado sin pausas. Con la API el texto va a los servidores de SuperClonica y el audio a tu Google Drive. Para textos que deben quedarse en tu equipo, ejecuta el motor gratuito de SuperClonica en local.