HomeBlogTranscribePlansAPI Keys

Transcripción de YouTube en Google Sheets con Una Función Personalizada

Hoja de cálculo de Google Sheets con URLs de YouTube en una columna y transcripciones obtenidas apareciendo en la siguiente

Obtener una transcripción de YouTube en Google Sheets requiere una función de Apps Script. Pégala una vez, y =YT_TRANSCRIPT(A2) funciona como cualquier fórmula incorporada: URL en una columna, transcripción en la siguiente. Aquí está el script completo, más dos limitaciones específicas de Sheets que te morderán si nadie te advierte.

El script

Abre tu hoja de cálculo, ve a Extensiones > Apps Script, y pega esto:

const API_KEY = 'yt_YOUR_KEY';

/**
 * Fetches the transcript of a YouTube video.
 * @param {string} url Any YouTube URL or a bare 11-char video id.
 * @param {number} maxChars Optional length cap (default 5000).
 * @return {string} The transcript text.
 * @customfunction
 */
function YT_TRANSCRIPT(url, maxChars) {
  if (!url) return '';
  const endpoint = 'https://youtube2text.org/api/transcribe'
    + '?url=' + encodeURIComponent(url)
    + '&maxChars=' + (maxChars || 5000);
  const response = UrlFetchApp.fetch(endpoint, {
    headers: { 'x-api-key': API_KEY },
    muteHttpExceptions: true
  });
  const body = JSON.parse(response.getContentText());
  if (body.error) return 'ERROR: ' + body.error.code;
  return body.result.content;
}

Guarda, y la función está en vivo en tu hoja. La etiqueta @customfunction es lo que la registra con autocompletado; muteHttpExceptions evita que un 404 explote en una celda roja con un rastro de pila que nadie pidió.

Para la clave: solicita https://youtube2text.org/api/demo-key en tu navegador y te devuelve {"success": true, "apiKey": "yt_..."} — una clave compartida gratuita, sin cuenta, limitada a 5 videos al mes por IP. Bien para probar esto; obtén la tuya para uso real.

Usándolo

  1. Pon URLs de video en la columna A — enlaces completos, enlaces cortos de youtu.be, o ids de 11 caracteres desnudos funcionan todos.
  2. En B2, escribe =YT_TRANSCRIPT(A2).
  3. ¿Necesitas más o menos texto? =YT_TRANSCRIPT(A2, 20000) establece el límite explícitamente.
  4. Arrastra la fórmula hacia abajo en la columna y mira cómo se llenan las celdas.

Las transcripciones provienen de los subtítulos propios de YouTube — manual cuando el creador los subió, generados automáticamente de otra manera, inglés preferido con una alternativa a cualquier idioma que exista.

Por qué maxChars importa más aquí que en ningún otro lugar

Una celda de Google Sheets contiene como máximo 50,000 caracteres. Ese es un límite de plataforma duro, y el límite predeterminado de 150,000 caracteres de la API lo supera — un episodio de podcast largo fallaría en llegar a la celda. Entonces en Sheets, siempre pasa maxChars de 50000 o menos. Establezco el script por defecto a 5000, que cubre resúmenes, verificaciones de palabras clave, y alimentar una fórmula de IA, sin convertir tu hoja de cálculo en una novela.

La trampa del recálculo

Aquí está la limitación honesta del enfoque de función personalizada: Sheets vuelve a ejecutar funciones personalizadas siempre que recalcula — incluyendo cada vez que se abre el archivo. Cada nueva ejecución es una llamada API real, así que una hoja con 40 fórmulas de transcripción vuelve a obtener silenciosamente 40 videos al abrir y se come tu cuota para el desayuno. La solución es simple: una vez que llegue una transcripción, selecciona las celdas y pégalas de vuelta como valores (Copiar, luego Pegado especial > Solo valores). El texto se queda; la fórmula, y su apetito, se va.

Cuando una celda dice ERROR

La función devuelve códigos legibles en lugar de bloquearse. ERROR: TRANSCRIPT_UNAVAILABLE significa que el video no tiene subtítulos en absoluto — nada que obtener. ERROR: RATE_LIMIT_EXCEEDED significa que la cuota mensual de la clave se acabó, que en la clave demo compartida sucede rápido. ERROR: INVALID_URL significa que la celda no contiene nada que se parezca a un video de YouTube.

A dónde llevarlo

Una hoja llena de transcripciones es una herramienta de investigación sorprendentemente buena — paso por ese flujo de trabajo en el post de investigación de contenido. Y cuando superes las fórmulas y quieras transcripciones obtenidas automáticamente cuando se publiquen videos, el flujo de trabajo n8n lo hace sin intervención.

Para tu propia clave — sin cuota compartida, sin teléfono, sin tarjeta — inicia sesión con Google en youtube2text.org/app/keys. Gratuito cubre 5 videos al mes; $5.99 obtiene 50, $9.99 obtiene 500, $19.99 es ilimitado. Pégalo en API_KEY y la hoja hace el resto.