Escribelo

Actualizado 5 junio 2026 · 11 min de lectura

Cómo transcribir un podcast a texto y generar show notes

Tu podcast tiene contenido valioso que Google no puede encontrar. Los motores de búsqueda no indexan audio — solo texto. Cada episodio sin transcripción es tráfico orgánico que estás dejando en la mesa.

Las transcripciones de podcast también sirven como materia prima para show notes, newsletters, posts de blog y clips para redes sociales. Un episodio de 45 minutos puede generar 6,000+ palabras de contenido reutilizable.

En esta guía te muestro cómo transcribir tus episodios de podcast en español, generar show notes con capítulos y timestamps, y publicar todo de forma que mejore tu SEO.

Por qué todo podcaster necesita transcripciones

Transcribir un episodio con la API

cURL — Un comando

# Transcripción completa con timestamps
curl -X POST https://escribelo.4l3.org/transcribe \
  -F "[email protected]" \
  -F "output_format=json" \
  -F "tier=standard" \
  -o episodio-42.json

Python — Script completo con show notes

import requests
import json

def transcribir_episodio(audio_path: str) -> dict:
    """Transcribe un episodio de podcast."""
    with open(audio_path, "rb") as f:
        resp = requests.post(
            "https://escribelo.4l3.org/transcribe",
            files={"file": f},
            data={"output_format": "json", "tier": "standard"}
        )
    resp.raise_for_status()
    return resp.json()


def generar_show_notes(transcripcion: dict) -> str:
    """Genera show notes con capítulos y timestamps."""
    segmentos = transcripcion.get("segments", [])
    duracion = transcripcion.get("duration_seconds", 0)

    # Agrupa segmentos en bloques de ~5 minutos
    capitulos = []
    bloque_actual = []
    tiempo_bloque = 0

    for seg in segmentos:
        bloque_actual.append(seg["text"].strip())
        if seg["end"] - tiempo_bloque > 300:  # 5 min
            inicio_min = int(tiempo_bloque // 60)
            inicio_seg = int(tiempo_bloque % 60)
            resumen = " ".join(bloque_actual)[:150] + "..."
            capitulos.append(f"  [{inicio_min:02d}:{inicio_seg:02d}] {resumen}")
            bloque_actual = []
            tiempo_bloque = seg["end"]

    notas = [
        "## Show Notes",
        "",
        f"Duración: {int(duracion // 60)} minutos",
        "",
        "### Capítulos",
        ""
    ]
    notas.extend(capitulos)
    notas.append("")
    notas.append("### Transcripción completa")
    notas.append("")
    notas.append(" ".join(s["text"].strip() for s in segmentos))

    return "\n".join(notas)


# Uso
resultado = transcribir_episodio("episodio-42.mp3")
show_notes = generar_show_notes(resultado)

with open("episodio-42-show-notes.md", "w") as f:
    f.write(show_notes)

print(f"Show notes generadas: {len(show_notes)} caracteres")

Automatizar desde tu RSS feed

Si publicas episodios regularmente, puedes automatizar todo el proceso:

import feedparser
import requests
from pathlib import Path

RSS_URL = "https://tu-podcast.com/feed.xml"
DONE_FILE = "episodios_transcritos.txt"

def episodios_nuevos():
    """Detecta episodios no transcritos."""
    feed = feedparser.parse(RSS_URL)
    done = set()
    if Path(DONE_FILE).exists():
        done = set(Path(DONE_FILE).read_text().splitlines())

    nuevos = []
    for entry in feed.entries:
        for link in entry.get("links", []):
            if link.get("type", "").startswith("audio/"):
                if entry.id not in done:
                    nuevos.append({
                        "id": entry.id,
                        "title": entry.title,
                        "url": link.href
                    })
    return nuevos

def descargar_y_transcribir(episodio: dict):
    """Descarga el audio y lo transcribe."""
    # Descargar
    audio = requests.get(episodio["url"])
    tmp = f"/tmp/{episodio['id'].replace('/', '_')}.mp3"
    Path(tmp).write_bytes(audio.content)

    # Transcribir
    with open(tmp, "rb") as f:
        resp = requests.post(
            "https://escribelo.4l3.org/transcribe",
            files={"file": f},
            data={"output_format": "json", "tier": "standard"}
        )

    # Guardar
    Path(f"transcripciones/{episodio['id'].replace('/', '_')}.json").write_text(
        resp.text
    )

    # Marcar como hecho
    with open(DONE_FILE, "a") as f:
        f.write(episodio["id"] + "\n")

    print(f"Transcrito: {episodio['title']}")


# Ejecutar
for ep in episodios_nuevos():
    descargar_y_transcribir(ep)

Programa este script con cron para que corra cada hora y transcriba episodios nuevos automáticamente.

Publicar la transcripción para SEO

La forma más efectiva de publicar la transcripción es como texto completo en la página del episodio, con Schema.org para podcast:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "PodcastEpisode",
  "name": "Episodio 42: Cómo automatizar tu negocio",
  "datePublished": "2026-06-05",
  "duration": "PT45M",
  "transcript": "Texto completo de la transcripción...",
  "associatedMedia": {
    "@type": "MediaObject",
    "contentUrl": "https://tu-podcast.com/ep42.mp3"
  }
}
</script>

Generar clips para redes sociales

Con la transcripción en formato SRT, puedes crear clips subtitulados para TikTok y Reels:

# 1. Transcribir a SRT
curl -X POST https://escribelo.4l3.org/transcribe \
  -F "[email protected]" \
  -F "output_format=srt" \
  -o episodio-42.srt

# 2. Cortar un fragmento (minuto 12 a 13)
ffmpeg -i episodio-42.mp3 -ss 00:12:00 -to 00:13:00 clip.mp3

# 3. Crear video con imagen estática + subtítulos
ffmpeg -loop 1 -i portada.jpg -i clip.mp3 \
  -vf "subtitles=episodio-42.srt:force_style='FontSize=24,Outline=2'" \
  -c:v libx264 -tune stillimage -c:a aac \
  -shortest clip_subtitulado.mp4

Cuánto cuesta para podcasters

Comparado con transcripción manual ($1-2/min), ahorras un 99.5% del costo.

Transcribe tu primer episodio gratis

60 minutos de transcripción gratuita al mes. Perfecto para probar con tu podcast.

Empezar gratis →

Preguntas frecuentes

¿Funciona con episodios de entrevistas (dos voces)?

Sí. La API transcribe todo el audio linealmente. Para separación explícita por hablante, usa tier “accuracy”.

¿Puedo publicar la transcripción en Spotify?

Spotify no acepta transcripciones externas, pero puedes publicarla en tu sitio web y enlazarla desde las notas del episodio en Spotify.

¿La transcripción afecta mi ranking en Apple Podcasts?

Apple Podcasts no indexa texto externo, pero Google sí indexa tu sitio web. La transcripción mejora tu posición en búsquedas de Google, que es donde la mayoría de oyentes nuevos descubren podcasts.


Otros tutoriales: Transcribir audio con API · Subtitular videos · Transcribir reuniones Zoom · Transcribir podcast