Transcripción y análisis de reuniones
Estado: Activo desde Phase 73 (2026-06-06). Sube grabaciones de audio/video al compositor del chat — Arc OS transcribe, analiza el contenido visual, resume e indexa en la búsqueda del proyecto.
Resumen
El pipeline de transcripción de reuniones convierte una grabación en bruto en conocimiento estructurado y buscable sin salir de Arc OS:
Upload (Transcripts page or composer paperclip)
→ Groq whisper-large-v3 (~100× realtime, $0.111/audio-hour)
→ Claude vision on key frames (video only — slide content, screen shares)
→ Claude Sonnet summary (tldr, action items, decisions, topics)
→ Cohere RAG embed (transcript searchable via arc kb search)
→ done (source file deleted from disk)
Coste estimado (clave BYOK de Anthropic): ~$0.20–0.45 por reunión de 30 minutos (visión + resumen) + ~$0.056 de transcripción Groq. La función requiere un plan de pago (Starter / Starter Cloud / Beta).
Subir una grabación
- Abre el workspace de cualquier proyecto.
- Haz clic en el icono de clip en el compositor del chat.
- Selecciona un archivo de audio o video. Formatos admitidos:
- Video: mp4, mov, webm, mkv, m4v
- Audio: mp3, wav, m4a, aac, ogg, opus, flac
- Tamaño máximo: 1 GB
- Aparece un chip de progreso en el compositor mostrando el paso actual y el porcentaje.
- Cuando el chip llega al 100% (Summary ready) se desbloquea el botón Send — puedes enviar un mensaje que haga referencia a la transcripción de inmediato.
- Tras un breve paso adicional (indexación RAG), el estado pasa a done y el archivo de origen se elimina.
Durante el procesamiento: puedes escribir otros mensajes en el compositor. Solo los adjuntos multimedia que aún se están procesando bloquean el botón Send.
Qué se inyecta en el chat
Cuando envías un mensaje que contiene un adjunto de transcripción completado, el texto de la transcripción se añade automáticamente a tu mensaje:
Your message text here
--- TRANSCRIPT: meeting-2026-06-06.mp4 (video) ---
[whisper transcript text...]
--- END TRANSCRIPT ---
El worker de IA ve la transcripción completa en línea, como cualquier otro documento. Puedes hacerle preguntas, pedir resúmenes o pedir al worker que extraiga action items.
Pasos del pipeline en detalle
Paso 1 — Extracción de audio (ffmpeg)
Para archivos de video, Arc OS extrae la pista de audio a un WAV mono de 16 kHz. Para archivos de audio, es solo una conversión de formato.
Paso 2 — Transcripción (Groq whisper-large-v3)
El WAV se envía a la API de Groq (modelo whisper-large-v3). Velocidad: ~100× tiempo real (un clip de 11 s → menos de 1 s). La clave de plataforma GROQ_API_KEY la configura un administrador en Platform Settings → Transcription. Multilingüe — ucraniano, inglés y todos los demás idiomas principales funcionan de serie.
Paso 3 — Extracción de fotogramas por cambio de escena (solo video)
ffmpeg muestrea fotogramas en los puntos de cambio de escena (umbral 0.4, sensibilidad de 0 = cada fotograma a 1 = nunca). Las marcas de tiempo se registran en timestamps.json para que las descripciones de fotogramas se asocien a posiciones exactas del video.
Máximo de fotogramas por video: 50 (~$0.15 en el peor caso en costes de Claude vision).
Paso 4 — Análisis con Claude vision (solo video)
Cada fotograma muestreado se envía a Claude Sonnet vision con un prompt enfocado en:
- Diapositivas y contenido de presentación (títulos, puntos clave, gráficos)
- Pantallas compartidas (aplicaciones, código, dashboards, URLs visibles)
- Diagramas (cajas, flechas, etiquetas)
- Texto visible (etiquetas de UI, encabezados, cifras importantes)
Los fotogramas solo de webcam o sin contenido informativo se marcan como "No informational content" y no aportan nada al resumen.
Los fallos de fotograma no son fatales — la descripción pasa a ser [vision failed: <reason>] y el pipeline continúa.
Paso 5 — Resumen con Claude Sonnet
La transcripción (y las descripciones de fotogramas, si existen) se envían a Claude Sonnet. El resumen se guarda como JSON estructurado:
{
"tldr": "Team reviewed Q3 revenue forecast and decided to ship the new feature by end of month.",
"key_points": [
"Q3 revenue is 15% above projection",
"Two blockers remain on the backend API"
],
"action_items": [
{ "task": "Fix auth endpoint before Thursday", "owner": "Serhii" },
{ "task": "Update stakeholder deck", "owner": null }
],
"decisions": [
"Ship feature to production on June 30"
],
"topics": ["Q3 revenue", "product launch", "API blockers"],
"model": "claude-sonnet-4-5",
"generated_at": "2026-06-06T10:42:00Z"
}
Si el resumen falla, la transcripción vuelve a su estado anterior para preservar el texto en bruto. Puedes reintentar tras corregir tu clave de Anthropic.
Paso 6 — Embedding RAG (Phase 73.6)
El texto completo (transcripción + descripciones de fotogramas + resumen) se trocea y se embebe vía Cohere embed-multilingual-v3.0 en el índice vectorial del proyecto. Tras este paso:
- La grabación es buscable vía
arc kb searchy la herramienta de conocimiento del chat - El archivo de origen se elimina del disco (decisión D4 del CEO — la tabla de transcripciones es la fuente de verdad)
- El estado pasa a
done
Para omitir la indexación RAG: pasa embed_to_rag=false en el formulario de subida (solo API; la UI siempre embebe por defecto).
Configuración de clave API BYOK
Claude vision y el resumen usan tu clave API de Anthropic:
- Ve a Profile → API Keys → Anthropic Key.
- Pega tu clave. Se cifra con AES-256-GCM antes de almacenarse.
- Si no hay clave personal configurada, se usa la clave compartida de la plataforma (sujeta a sus límites de tasa).
La transcripción Groq usa la GROQ_API_KEY de la plataforma — no necesitas clave personal para transcribir.
Buscar en transcripciones
Cuando una transcripción llega a done, se puede encontrar mediante búsqueda semántica:
arc kb search "action items from last standup"
arc kb search "decision about Q3 launch"
Desde el compositor del chat, el worker de IA puede responder preguntas basadas en tus transcripciones automáticamente mediante la herramienta ask_notebooklm (que consulta el mismo índice RAG).
Puedes limitar la búsqueda solo a transcripciones con el parámetro doc_types:
GET /api/crm/projects/:name/rag/search?q=...&doc_types=transcript
Costes y límites
| Recurso | Límite | Notas |
|---|---|---|
| Tamaño de subida | 1 GB | Por archivo |
| Fotogramas de visión | 50 máx | Tope estricto; los fotogramas sobrantes se descartan |
| Coste de Claude vision | ~$0.003/fotograma | A resolución típica JPEG 1024×768 |
| Coste del resumen Claude | ~$0.005–0.02 | Depende de la longitud de la transcripción (≤60 000 caracteres enviados al resumen) |
| Transcripción Groq | $0.111/hora de audio | Clave de plataforma; ~$0.056 por reunión de 30 min |
| Tope mensual (Starter) | 60 min | Se reinicia el día 1 de cada mes |
| Tope mensual (Starter Cloud) | 300 min | Se reinicia el día 1 de cada mes |
| Tope mensual (Beta) | 1 200 min | Se reinicia el día 1 de cada mes |
| Trabajos concurrentes | 1 | Los trabajos se encolan; una transcripción a la vez por servidor |
Solución de problemas
| Síntoma | Causa probable | Solución |
|---|---|---|
| Chip atascado en "Transcribing" >2 min | Timeout de la API de Groq o grabación larga | Revisa GROQ_API_KEY en Platform Settings; los trabajos se encolan |
El paso de visión muestra [vision failed: ...] |
Clave de Anthropic ausente o con límite de tasa | Configura la clave BYOK en Profile → API Keys |
| Resumen fallido, estado revertido | Error de la API de Claude | Corrige la clave; el pipeline aceptará una nueva subida |
| Embedding RAG fallido (no fatal) | Problema con la clave de Cohere | La transcripción sigue siendo usable; arc kb search no la encontrará hasta re-embeber |
| Botón Send aún bloqueado tras "Summary ready" | Caché del navegador obsoleta | Refresca la página |
| "No informational content" en todos los fotogramas | Grabación solo de webcam (sin pantalla compartida) | Esperado; la visión omite fotogramas puros de webcam |
Referencias
master-bot/transcript-worker.ts— orquestador del pipeline (Phase 73.2 + 73.4 + 73.5 + 73.6)master-bot/transcript-vision.ts— Claude vision por fotograma (Phase 73.4, #380)master-bot/transcript-summary.ts— resumen con Claude Sonnet (Phase 73.5, #381)shared/migrations/052_transcripts.ts— tabla de transcripcionesshared/migrations/053_transcript_jobs.ts— tracker de progreso de trabajosfrontend/src/crm/pages/workspace/Composer.jsx— chip de subida + progreso SSE- Referencia API: Endpoints de Phase 73
- Arquitectura: RAG — doc_type transcript