Actualizado 6 junio 2026 · 8 min de lectura
Cómo convertir audios de WhatsApp a texto en español
Todos hemos recibido esa nota de voz de 7 minutos que no podemos escuchar en el momento. O peor: un hilo de 15 audios de un cliente explicando un proyecto. Convertir esos audios a texto te ahorra tiempo y te permite buscar, copiar y responder con precisión.
En este tutorial te muestro cómo transcribir notas de voz de WhatsApp a texto en español usando la API de Escribelo — incluyendo cómo automatizarlo si manejas muchos audios.
¿Por qué transcribir audios de WhatsApp?
- No puedes escuchar en ese momento — estás en una junta, en el transporte, o simplemente prefieres leer
- Necesitas buscar información específica — el cliente mencionó un número o fecha que no recuerdas
- Quieres documentar — las instrucciones por audio se pierden, el texto se archiva
- Accesibilidad — personas con discapacidad auditiva necesitan la versión escrita
- Profesionalismo — responder con precisión a cada punto sin re-escuchar 3 veces
Paso 1: Exportar el audio de WhatsApp
En Android
- Abre la conversación en WhatsApp
- Mantén presionado el mensaje de audio
- Toca el icono de compartir (↗)
- Elige "Guardar en archivos" o envíatelo por email
- El archivo se guarda como .opus
En iPhone
- Mantén presionado el mensaje de audio
- Selecciona "Reenviar"
- Reenviálo a tu propio número o a un email
- Desde el email, descarga el archivo .opus o .ogg
Tip: en Android también puedes encontrar los audios directamente en /storage/emulated/0/Android/media/com.whatsapp/WhatsApp/Media/WhatsApp Voice Notes/
Paso 2: Envía a la API de Escribelo
Escribelo acepta archivos .opus y .ogg directamente — no necesitas convertir a MP3 primero.
Python
import requests
url = "https://escribelo.4l3.org/v1/transcribe"
headers = {"Authorization": "Bearer TU_API_KEY"}
with open("AUD-20260606-WA0023.opus", "rb") as f:
resp = requests.post(
url,
headers=headers,
files={"file": ("audio.opus", f, "audio/ogg")},
data={
"tier": "fast", # notas de voz cortas = fast es suficiente
"output_format": "text", # texto plano directo
"language": "es"
}
)
print(resp.json()["text"])
cURL
curl -X POST https://escribelo.4l3.org/v1/transcribe \
-H "Authorization: Bearer TU_API_KEY" \
-F "[email protected]" \
-F "tier=fast" \
-F "output_format=text" \
-F "language=es"
JavaScript
const form = new FormData();
form.append("file", fs.createReadStream("AUD-20260606-WA0023.opus"));
form.append("tier", "fast");
form.append("output_format", "text");
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 { text } = await resp.json();
console.log(text);
Paso 3: Automatizar la transcripción de múltiples audios
Si recibes muchos audios de clientes o proveedores, puedes automatizar la transcripción de toda una carpeta:
import requests
from pathlib import Path
API_URL = "https://escribelo.4l3.org/v1/transcribe"
HEADERS = {"Authorization": "Bearer TU_API_KEY"}
AUDIO_DIR = Path("./audios_whatsapp")
for audio in sorted(AUDIO_DIR.glob("*.opus")):
with open(audio, "rb") as f:
resp = requests.post(
API_URL,
headers=HEADERS,
files={"file": (audio.name, f, "audio/ogg")},
data={"tier": "fast", "output_format": "text", "language": "es"}
)
if resp.status_code == 200:
texto = resp.json()["text"]
print(f"\n{'='*50}")
print(f"Archivo: {audio.name}")
print(f"{'='*50}")
print(texto)
# Guardar transcripción
txt_path = audio.with_suffix(".txt")
txt_path.write_text(texto, encoding="utf-8")
else:
print(f"Error en {audio.name}: {resp.status_code}")
Caso de uso: bot de WhatsApp que transcribe automáticamente
Si quieres que cada audio que recibas en un número de WhatsApp Business se transcriba y te llegue como mensaje de texto, puedes conectar la API de WhatsApp Business con Escribelo:
# Webhook que recibe mensajes de WhatsApp Business API
from fastapi import FastAPI, Request
import requests
app = FastAPI()
@app.post("/webhook/whatsapp")
async def handle_whatsapp(request: Request):
data = await request.json()
for message in data.get("messages", []):
if message["type"] == "audio":
# Descargar el audio
media_url = message["audio"]["url"]
audio = requests.get(media_url).content
# Transcribir con Escribelo
resp = requests.post(
"https://escribelo.4l3.org/v1/transcribe",
headers={"Authorization": "Bearer TU_API_KEY"},
files={"file": ("audio.ogg", audio, "audio/ogg")},
data={"tier": "fast", "output_format": "text", "language": "es"}
)
texto = resp.json()["text"]
# Responder con la transcripción
send_whatsapp_message(
to=message["from"],
text=f"Transcripción:\n{texto}"
)
return {"status": "ok"}
Comparativa: apps para transcribir WhatsApp
| App | Precio | Español LATAM | Automatizable |
|---|---|---|---|
| Transcriber for WhatsApp (app) | $3.99 USD | Básico | No |
| Voicepop | Free + $4.99/mes | Aceptable | No |
| WhisperAI (local) | Free | Bueno | Sí (requiere GPU) |
| Escribelo | Free 60 min/mes | Optimizado MX | Sí (API REST) |
Transcribe 60 minutos de audio gratis cada mes
Acepta .opus de WhatsApp directamente. Probar Escribelo →
Preguntas frecuentes
¿Necesito convertir el .opus a MP3 antes?
No. Escribelo acepta .opus y .ogg directamente. No necesitas FFmpeg ni ningún conversor.
¿Funciona con audios de WhatsApp Web?
Sí. Los audios descargados desde WhatsApp Web son el mismo formato .opus. Solo arrastra el archivo o descarga y envía a la API.
¿Puedo transcribir audios de Telegram también?
Sí. Telegram usa formato .ogg que Escribelo soporta nativamente.
Artículos relacionados: Transcribir audio a texto con API · Transcribir podcast a show notes · VozAlta — Texto a voz