Escribelo

Actualizado 6 junio 2026 · 14 min de lectura

Cómo generar actas de reunión automáticas con IA en español

El 73% de los profesionales considera que las reuniones son improductivas (Harvard Business Review). Parte del problema es que los acuerdos se pierden porque nadie toma notas adecuadas. La solución no es más reuniones, sino extraer automáticamente los acuerdos y acciones de cada reunión.

En este tutorial te muestro cómo construir un pipeline que toma una grabación de Zoom/Meet/Teams, la transcribe con Escribelo, y genera un acta formateada con resumen, decisiones y action items.

¿Por qué automatizar las actas?

El pipeline completo: grabación → acta

Grabación (Zoom/Meet/Teams) → Transcripción (Escribelo API) → Resumen + Action Items (LLM) → Distribución (Email/Slack)

Paso 1: Grabar la reunión

Cada plataforma tiene su propia forma de grabar:

PlataformaCómo grabarFormato resultante
ZoomBotón "Grabar" → grabación localMP4 (video) + M4A (audio separado)
Google MeetRequiere Google Workspace. Menú → GrabarMP4 en Google Drive
Microsoft TeamsMenú → Iniciar grabaciónMP4 en OneDrive/SharePoint
TeléfonoApp de grabación (ej. Easy Voice Recorder)M4A o MP3

Tip: Zoom permite grabar solo el audio (M4A), que es más liviano y se transcribe igual de bien que el video completo.

Paso 2: Transcribir con Escribelo

import requests

def transcribir_reunion(archivo_audio: str) -> dict:
    """Transcribe una grabación de reunión con detección de hablantes."""
    url = "https://escribelo.4l3.org/v1/transcribe"
    headers = {"Authorization": "Bearer TU_API_KEY"}

    with open(archivo_audio, "rb") as f:
        resp = requests.post(
            url,
            headers=headers,
            files={"file": (archivo_audio, f)},
            data={
                "tier": "accuracy",      # máxima precisión + detección de hablantes
                "output_format": "json", # timestamps + speaker labels
                "language": "es"
            }
        )

    return resp.json()

# Uso
resultado = transcribir_reunion("zoom_2026-06-06_standup.m4a")
print(f"Duración: {resultado['duration_seconds'] // 60} min")
print(f"Palabras: {resultado['word_count']}")
print(f"Segmentos: {len(resultado['segments'])}")

Paso 3: Generar acta con IA

Toma la transcripción y pasála por un LLM para extraer la estructura del acta:

import requests
import json

def generar_acta(transcripcion: dict, participantes: list = None) -> str:
    """Genera un acta de reunión desde una transcripción."""

    # Formatear transcripción para el prompt
    texto = ""
    for seg in transcripcion["segments"]:
        speaker = seg.get("speaker", "Desconocido")
        texto += f"{speaker}: {seg['text']}\n"

    prompt = f"""Eres un asistente que genera actas de reunión profesionales en español.

A partir de la siguiente transcripción, genera un acta con:
1. **Resumen ejecutivo** (3-5 oraciones)
2. **Temas tratados** (lista con bullets)
3. **Decisiones tomadas** (lista numerada)
4. **Action items** (tabla: responsable | acción | fecha límite)
5. **Próxima reunión** (si se mencionó)

TRANSCRIPCIÓN:
{texto[:8000]}"""

    # Usar cualquier LLM (OpenAI, Anthropic, local, etc.)
    resp = requests.post(
        "https://api.openai.com/v1/chat/completions",
        headers={
            "Authorization": "Bearer TU_OPENAI_KEY",
            "Content-Type": "application/json"
        },
        json={
            "model": "gpt-4o-mini",
            "messages": [{"role": "user", "content": prompt}],
            "temperature": 0.3
        }
    )

    return resp.json()["choices"][0]["message"]["content"]

# Pipeline completo
transcripcion = transcribir_reunion("zoom_standup.m4a")
acta = generar_acta(transcripcion)
print(acta)

Ejemplo de acta generada

# Acta de Reunión — Standup Equipo Marketing
**Fecha**: 6 de junio de 2026
**Duración**: 25 minutos
**Participantes**: Ana (PM), Carlos (Diseño), Laura (Dev)

## Resumen Ejecutivo
Se revisó el avance del rediseño de la landing page.
Carlos presentó 3 opciones de layout. El equipo eligió
la opción B con ajustes menores. Laura estima 3 días
para implementar.

## Decisiones
1. Se aprueba layout opción B con colores de la opción A
2. Lanzamiento programado para el 12 de junio
3. Se cancela la versión en inglés por ahora

## Action Items
| Responsable | Acción                         | Fecha     |
|-------------|--------------------------------|-----------|
| Carlos      | Ajustar mockup con feedback    | 7 jun     |
| Laura       | Implementar landing en staging | 10 jun    |
| Ana         | Preparar copy final            | 9 jun     |

## Próxima reunión
Lunes 9 de junio, 10:00 AM

Paso 4: Distribuir automáticamente

import smtplib
from email.mime.text import MIMEText

def enviar_acta(acta: str, destinatarios: list, asunto: str):
    """Envía el acta por email al equipo."""
    msg = MIMEText(acta, "plain", "utf-8")
    msg["Subject"] = asunto
    msg["From"] = "[email protected]"
    msg["To"] = ", ".join(destinatarios)

    with smtplib.SMTP("smtp.tuproveedor.com", 587) as s:
        s.starttls()
        s.login("user", "pass")
        s.send_message(msg)

# Enviar
enviar_acta(
    acta=acta,
    destinatarios=["[email protected]", "[email protected]", "[email protected]"],
    asunto="Acta Standup Marketing — 6 jun 2026"
)

Comparativa de herramientas para actas automáticas

HerramientaPrecioEspañolPersonalizable
Otter.ai$16.99/mesLimitadoNo — formato fijo
Fireflies.ai$18/mesBásicoParcial
tl;dv$25/mesAceptableNo
Escribelo + LLM$9/mes + LLMOptimizado MX100% — tu prompt, tu formato

La ventaja de usar Escribelo + tu propio LLM es que controlas al 100% el formato del acta, qué extraes, y cómo lo distribuyes. Las herramientas integradas (Otter, Fireflies) son más fáciles de configurar, pero menos flexibles y peores en español.

Automatiza tus actas de reunión

60 min/mes gratis. Transcripción con hablantes + timestamps. Probar Escribelo →

Preguntas frecuentes

¿Necesito un LLM para generar el acta?

Solo si quieres resumen + action items automáticos. Si solo necesitas la transcripción, Escribelo es suficiente. El acta requiere un paso adicional de procesamiento de lenguaje natural.

¿Funciona con reuniones presenciales?

Sí. Graba con tu teléfono usando cualquier app de grabación. Coloca el teléfono al centro de la mesa para captar a todos los participantes.

¿Los datos de la reunión son privados?

Sí. Escribelo procesa el audio y lo elimina en 24 horas. No se usa para entrenar modelos. Si manejas datos sensibles, puedes usar el tier on-premise (próximamente).

Artículos relacionados: Transcribir reuniones Zoom · Transcribir entrevistas · Reportia — Generar PDFs