Escribelo

Actualizado 6 junio 2026 · 12 min de lectura

Cómo transcribir entrevistas a texto automáticamente en español

Transcribir una entrevista de 60 minutos a mano toma entre 4 y 6 horas. Multiplica eso por 10 entrevistas al mes y tienes un cuello de botella enorme para periodistas, investigadores, podcasters y equipos de UX research.

La buena noticia: con una API de transcripción automática puedes reducir ese tiempo a menos de 15 minutos, con detección de hablantes, timestamps por segmento y exportación directa a texto formateado.

¿Quién necesita transcribir entrevistas?

El problema con herramientas genéricas

Servicios como Google Docs dictado o herramientas gratuitas de STT tienen limitaciones críticas para entrevistas:

ProblemaImpactoSolución Escribelo
No detectan hablantesNo sabes quién dijo quéDetección automática de cambio de hablante
Errores con acentos LATAMTranscripción ilegibleOptimizado para español MX/LATAM
Sin timestampsNo puedes ubicar citasTimestamps por segmento y por palabra
Límite de duraciónNo acepta archivos largosHasta 100MB, sin límite de duración
Requiere estar conectadoNo se puede automatizarAPI REST — integra con cualquier workflow

Tutorial: transcribir una entrevista paso a paso

Paso 1: Prepara tu grabación

Graba con tu teléfono, Zoom, Google Meet o cualquier grabadora. Formatos soportados: MP3, WAV, M4A, OGG, FLAC, MP4, WebM. El tier accuracy funciona incluso con audio de baja calidad (llamadas telefónicas a 8kHz).

Tip: si grabas con Zoom, descarga la pista de audio separada (Settings → Recording → Record a separate audio file). La calidad es mejor que el video comprimido.

Paso 2: Envía a la API de Escribelo

Python

import requests

url = "https://escribelo.4l3.org/v1/transcribe"
headers = {"Authorization": "Bearer TU_API_KEY"}

with open("entrevista_juan_garcia.m4a", "rb") as f:
    resp = requests.post(
        url,
        headers=headers,
        files={"file": ("entrevista.m4a", f, "audio/mp4")},
        data={
            "tier": "accuracy",       # mejor para entrevistas
            "output_format": "json",  # incluye timestamps + hablantes
            "language": "es"
        }
    )

result = resp.json()
print(f"Duración: {result['duration_seconds'] // 60} min")
print(f"Palabras: {result['word_count']}")
print(f"Segmentos: {len(result['segments'])}")

cURL

curl -X POST https://escribelo.4l3.org/v1/transcribe \
  -H "Authorization: Bearer TU_API_KEY" \
  -F "file=@entrevista_juan_garcia.m4a" \
  -F "tier=accuracy" \
  -F "output_format=json" \
  -F "language=es"

Paso 3: Recibe la transcripción con hablantes

La respuesta JSON incluye segmentos con timestamps y marcadores de hablante:

{
  "text": "Hola Juan, gracias por aceptar esta entrevista...",
  "duration_seconds": 3420,
  "word_count": 5234,
  "segments": [
    {
      "start": 0.0,
      "end": 4.8,
      "speaker": "Hablante 1",
      "text": "Hola Juan, gracias por aceptar esta entrevista."
    },
    {
      "start": 5.1,
      "end": 12.3,
      "speaker": "Hablante 2",
      "text": "El gusto es mío. Llevo 15 años en el sector y me parece importante hablar de estos temas."
    },
    {
      "start": 12.8,
      "end": 18.5,
      "speaker": "Hablante 1",
      "text": "Empecemos por el principio. ¿Cómo llegaste a tu puesto actual?"
    }
  ]
}

Paso 4: Exporta a formato legible

Convierte la transcripción JSON a un documento formateado:

import json

with open("transcripcion.json") as f:
    data = json.load(f)

# Mapear hablantes a nombres reales
nombres = {"Hablante 1": "Periodista", "Hablante 2": "Juan García"}

output = []
for seg in data["segments"]:
    nombre = nombres.get(seg["speaker"], seg["speaker"])
    tiempo = f"[{int(seg['start']//60):02d}:{int(seg['start']%60):02d}]"
    output.append(f"{tiempo} {nombre}: {seg['text']}")

with open("entrevista_formateada.txt", "w") as f:
    f.write("\n\n".join(output))

print("Transcripción exportada a entrevista_formateada.txt")

Resultado:

[00:00] Periodista: Hola Juan, gracias por aceptar esta entrevista.

[00:05] Juan García: El gusto es mío. Llevo 15 años en el sector
y me parece importante hablar de estos temas.

[00:12] Periodista: Empecemos por el principio. ¿Cómo llegaste a
tu puesto actual?

Automatizar transcripción de entrevistas recurrentes

Si haces entrevistas regularmente (podcast semanal, research sprints, entrevistas de candidatos), puedes automatizar el pipeline completo:

import requests
import json
import os
from pathlib import Path

API_URL = "https://escribelo.4l3.org/v1/transcribe"
HEADERS = {"Authorization": "Bearer TU_API_KEY"}
INPUT_DIR = Path("./grabaciones_pendientes")
OUTPUT_DIR = Path("./transcripciones")

OUTPUT_DIR.mkdir(exist_ok=True)

for audio_file in INPUT_DIR.glob("*"):
    if audio_file.suffix.lower() not in {".mp3", ".m4a", ".wav", ".ogg"}:
        continue

    print(f"Transcribiendo: {audio_file.name}...")
    with open(audio_file, "rb") as f:
        resp = requests.post(
            API_URL,
            headers=HEADERS,
            files={"file": (audio_file.name, f)},
            data={"tier": "accuracy", "output_format": "json", "language": "es"}
        )

    if resp.status_code == 200:
        result = resp.json()
        out_path = OUTPUT_DIR / f"{audio_file.stem}.json"
        with open(out_path, "w") as f:
            json.dump(result, f, ensure_ascii=False, indent=2)
        print(f"  Listo: {result['word_count']} palabras, {result['duration_seconds']//60} min")
        audio_file.rename(audio_file.parent / "procesados" / audio_file.name)
    else:
        print(f"  Error: {resp.status_code}")

Comparativa de costos: manual vs. automático

MétodoCosto por hora de audioTiempo real
Transcriptor humano freelance$15-25 USD4-6 horas
Rev.com (servicio)$1.50 USD/min = $90/hr12-24 horas
Google Cloud STT$0.36-0.54 USD~15 min
Escribelo$0.30 USD~12 min

Con Escribelo, transcribir 20 entrevistas de 1 hora cuesta $6 USD (vs. $300+ con un freelance). Y con el plan Free, las primeras 60 minutos son gratis cada mes.

Transcribe tu primera entrevista gratis

60 minutos/mes sin tarjeta de crédito. Probar Escribelo →

Tips para mejorar la precisión

  1. Usa un micrófono decente — el micrófono del celular funciona, pero uno de solapa ($10-15 USD) mejora drásticamente la precisión
  2. Evita ruido de fondo — cafeterías ruidosas bajan la precisión. Si no hay opción, usa el tier Accuracy
  3. Graba en formato sin compresión — WAV > M4A > MP3. Menos compresión = más información para el modelo
  4. Habla uno a la vez — el cross-talk (dos personas hablando simultáneamente) es el enemigo principal
  5. Pon el micrófono equidistante — si uno habla más bajo, su audio se pierde

Preguntas frecuentes

¿Es legal transcribir entrevistas con IA?

Sí, siempre que tengas consentimiento del entrevistado para grabar. La transcripción es procesamiento del audio que ya tienes autorizado. Consulta la legislación local sobre grabación de conversaciones.

¿Qué pasa con la privacidad del audio?

Escribelo procesa el audio y lo elimina del servidor en 24 horas. No se usa para entrenar modelos ni se comparte con terceros.

¿Puedo transcribir entrevistas en otros idiomas además de español?

Escribelo está optimizado para español de México y LATAM. Soporta también español de España y portugués brasilero.

Artículos relacionados: Transcribir audio a texto con API · Transcribir reuniones Zoom · VozAlta — Texto a voz · Brevecast — Resumir podcasts