Escribelo

Actualizado 5 junio 2026 · 10 min de lectura

Cómo transcribir audio a texto en español con API

Transcribir podcasts, entrevistas, clases o llamadas de ventas en español es tedioso si lo haces a mano. Las herramientas genéricas de speech-to-text están optimizadas para inglés y cometen errores frecuentes con acentos latinoamericanos, modismos y nombres propios.

En este tutorial te muestro cómo usar la API de Escribelo para transcribir audio a texto con alta precisión en español, obtener timestamps por palabra, y generar subtítulos SRT/VTT automáticamente.

Por qué necesitas una API de transcripción en español

Comparativa de APIs de transcripción en español

ServicioPrecioEspañol LATAMSRT/VTT
OpenAI Whisper API$0.006/minAceptable
Google Cloud STT$0.006-0.009/minBueno
AWS Transcribe$0.024/minAceptable
AssemblyAI$0.0085/minLimitado
Escribelo$0.005/minOptimizado MX/LATAM

Escribelo es hasta 60% más económico que alternativas comparables, con optimización específica para español de México y Latinoamérica.

Paso 1: Sube tu archivo de audio

La API acepta multipart/form-data con tu archivo de audio. Formatos soportados: MP3, WAV, M4A, OGG, FLAC, MP4, WebM. Máximo 100MB.

Python

import requests

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

with open("entrevista.mp3", "rb") as f:
    resp = requests.post(
        url,
        headers=headers,
        files={"file": ("entrevista.mp3", f, "audio/mpeg")},
        data={
            "tier": "standard",       # fast | standard | accuracy
            "output_format": "json",  # text | json | srt | vtt
            "language": "es"
        }
    )

result = resp.json()
print(result["text"][:500])
print(f"Duración: {result['duration_seconds']}s")
print(f"Palabras: {result['word_count']}")

JavaScript (Node.js)

import fs from "fs";

const form = new FormData();
form.append("file", fs.createReadStream("entrevista.mp3"));
form.append("tier", "standard");
form.append("output_format", "srt");
form.append("language", "es");

const resp = await fetch("https://escribelo.4l3.org/v1/transcribe", {
  method: "POST",
  headers: { "Authorization": "Bearer TU_API_KEY" },
  body: form
});

const result = await resp.json();
console.log(result.text);

cURL

curl -X POST https://escribelo.4l3.org/v1/transcribe \
  -H "Authorization: Bearer TU_API_KEY" \
  -F "[email protected]" \
  -F "tier=standard" \
  -F "output_format=json" \
  -F "language=es"

PHP

$ch = curl_init("https://escribelo.4l3.org/v1/transcribe");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer TU_API_KEY"],
    CURLOPT_POSTFIELDS => [
        "file" => new CURLFile("entrevista.mp3", "audio/mpeg"),
        "tier" => "standard",
        "output_format" => "json",
        "language" => "es"
    ]
]);
$result = json_decode(curl_exec($ch), true);
echo $result["text"];

Paso 2: Elige el tier de precisión adecuado

TierVelocidadPrecisiónMejor para
Fast~10x realtimeBuenaNotas rápidas, previews, búsqueda interna
Standard~5x realtimeMuy buenaPodcasts, entrevistas, clases grabadas
Accuracy~2x realtimeMáximaAudio con ruido, múltiples hablantes, terminología técnica

Paso 3: Formatos de salida

Texto plano

Hola, bienvenidos al episodio 45 de nuestro podcast.
Hoy vamos a hablar sobre inteligencia artificial
aplicada al marketing digital en Latinoamérica...

JSON con timestamps

{
  "text": "Hola, bienvenidos al episodio 45...",
  "duration_seconds": 1823,
  "word_count": 2847,
  "segments": [
    {
      "start": 0.0,
      "end": 3.2,
      "text": "Hola, bienvenidos al episodio 45 de nuestro podcast."
    },
    {
      "start": 3.5,
      "end": 7.1,
      "text": "Hoy vamos a hablar sobre inteligencia artificial"
    }
  ]
}

SRT (subtítulos)

1
00:00:00,000 --> 00:00:03,200
Hola, bienvenidos al episodio 45
de nuestro podcast.

2
00:00:03,500 --> 00:00:07,100
Hoy vamos a hablar sobre
inteligencia artificial

Casos de uso avanzados

Transcribir un podcast completo para SEO

Publicar la transcripción de cada episodio como página web es una de las técnicas de SEO más efectivas para podcasters. Google indexa texto, no audio. Un podcast de 30 min genera ~4,000 palabras de contenido indexable.

Subtitular videos automáticamente

Usa el formato SRT o VTT y súbelo junto con tu video a YouTube, TikTok o Instagram. Los subtítulos mejoran la retención un 40% (dato: Verizon Media, 2024).

Buscar dentro de grabaciones

Transcribe todas tus llamadas de ventas o clases y usa búsqueda full-text para encontrar momentos específicos sin re-escuchar horas de audio.

Transcribe 60 minutos gratis cada mes

Sin tarjeta de crédito. Probar Escribelo →

Preguntas frecuentes

¿La transcripción es en tiempo real o batch?

Batch. Subes el archivo completo y recibes la transcripción cuando termina. Un audio de 30 minutos tarda ~3-6 minutos según el tier.

¿Puedo transcribir videos (MP4)?

Sí. Escribelo extrae automáticamente la pista de audio del video y la transcribe.

¿Identifica diferentes hablantes?

El tier Accuracy incluye detección básica de cambio de hablante. Para diarización completa, consulta el plan Scale.

¿Puedo integrar con mi app?

Sí. La API es REST estándar. Envía un POST con el archivo y recibe JSON. Compatible con cualquier lenguaje de programación.

Artículos relacionados: VozAlta — Texto a voz en español · Videora — Generar videos con API · Brevecast — Newsletter a podcast