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?
- Periodistas — transcriben entrevistas para citas textuales exactas en artículos
- Investigadores UX — analizan entrevistas de usuario para extraer patrones y hallazgos
- Académicos — transcriben entrevistas cualitativas para tesis y estudios
- Podcasters — generan show notes y transcripciones SEO de cada episodio
- Abogados — documentan testimonios y declaraciones para expedientes
- Equipos de RRHH — registran entrevistas de candidatos para comparar después
El problema con herramientas genéricas
Servicios como Google Docs dictado o herramientas gratuitas de STT tienen limitaciones críticas para entrevistas:
| Problema | Impacto | Solución Escribelo |
|---|---|---|
| No detectan hablantes | No sabes quién dijo qué | Detección automática de cambio de hablante |
| Errores con acentos LATAM | Transcripción ilegible | Optimizado para español MX/LATAM |
| Sin timestamps | No puedes ubicar citas | Timestamps por segmento y por palabra |
| Límite de duración | No acepta archivos largos | Hasta 100MB, sin límite de duración |
| Requiere estar conectado | No se puede automatizar | API 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étodo | Costo por hora de audio | Tiempo real |
|---|---|---|
| Transcriptor humano freelance | $15-25 USD | 4-6 horas |
| Rev.com (servicio) | $1.50 USD/min = $90/hr | 12-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
- Usa un micrófono decente — el micrófono del celular funciona, pero uno de solapa ($10-15 USD) mejora drásticamente la precisión
- Evita ruido de fondo — cafeterías ruidosas bajan la precisión. Si no hay opción, usa el tier Accuracy
- Graba en formato sin compresión — WAV > M4A > MP3. Menos compresión = más información para el modelo
- Habla uno a la vez — el cross-talk (dos personas hablando simultáneamente) es el enemigo principal
- 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