Durante más de un año pagamos un asistente de reuniones por asiento. Desde el 26 de octubre de 2026 nuestras reuniones se transcriben en una plataforma propia, con un solo modelo de reconocimiento de voz, una minuta que revisa una persona y señales comerciales que terminan en nuestro ERP. Esto es lo que construimos, lo que cuesta a precio de lista y lo que todavía no hace.
Ver diagrama Mermaid
flowchart LR
A["1. Participante entra
con consentimiento"] --> B["2. Su navegador captura
solo su micrófono"]
B --> C{"3. El anfitrión
aprueba"}
C -->|"cancela"| X["Audio conservado
sin procesar"]
C -->|"aprueba"| D["4. gpt-transcribe
un solo modelo"]
D --> E["5. GPT-5.4 mini
minuta en borrador"]
E --> F{"6. El anfitrión aprueba
destinatarios"}
F -->|"aprueba"| G["Correo con minuta
y transcripción"]
E --> H["7. Señales comerciales
con cita textual"]
H --> I[("Odoo
Laboratorio IA")]
¿Qué es meet.transgenia.org?
meet.transgenia.org es la plataforma interna de reuniones de Transgenia. La videollamada la presta Jitsi as a Service (JaaS) de 8x8 dentro de la página; la aplicación que la rodea es un programa en Go de un solo binario con una base SQLite, que corre en un contenedor sin privilegios en un servidor que ya teníamos. Esa aplicación crea las salas, firma los permisos de cada reunión, captura el audio de cada participante desde su navegador, lo transcribe con la API de OpenAI, redacta una minuta en borrador y, cuando el anfitrión la aprueba, la envía por correo y manda las señales comerciales a nuestro Odoo.
No partimos de cero. El código es un fork público del proyecto jaas-app de Cliff Brake, publicado en abril de 2026, que usamos con permiso del autor. Lo que añadimos está en el mismo repositorio público: webhooks firmados, salas por usuario detrás de Cloudflare Access, captura de audio con aprobación del anfitrión, un worker de minutas, retención configurable, correos HTML con nuestra identidad y la sincronización con Odoo. Cualquiera puede leer los cambios, con sus pruebas y sus descripciones de PR.
Tampoco es un producto. Es la herramienta con la que trabajamos y el banco de pruebas de lo que implementamos para clientes: una plataforma de reuniones que guarda sus datos en casa, una transcripción que cuesta centavos por reunión y una minuta que no sale sin que una persona la lea.
¿Por qué dejamos de pagar Read AI?
Pagamos Read AI desde julio de 2024 hasta 2026. Es un buen producto y no escribimos esto para descalificarlo: hizo lo que prometía. Dejamos de pagarlo por cuatro razones que no tienen que ver con su calidad.
- El modelo de cobro. El plan Enterprise cuesta USD 29.75 por asiento al mes en facturación mensual (USD 22.50 en anual) y exige al menos cinco licencias, según su página de precios al 26 de octubre de 2026. Se paga igual en una semana con veinte reuniones que en una semana sin ninguna.
- Dónde viven los datos. Las grabaciones y transcripciones de reuniones con clientes quedaban en la nube de un tercero, bajo sus términos. Queríamos que el audio, la transcripción y la minuta vivieran en nuestro servidor, bajo nuestro aviso de privacidad y con plazos de borrado que nosotros fijamos.
- Lo que se puede hacer con una minuta. Una minuta en un buzón de correo es un documento. Una minuta que alimenta el CRM es una señal comercial: una renovación que se insinúa, un servicio complementario que alguien pidió, un riesgo de continuidad que conviene atender. Queríamos lo segundo, y eso exige controlar el formato de salida.
- A qué nos dedicamos. Transgenia implementa inteligencia artificial para pymes mexicanas. Construir nuestra propia plataforma de reuniones era la forma más honesta de aprender cuánto cuesta, dónde falla y qué guardarraíles necesita antes de proponérsela a alguien más.
Ver diagrama Mermaid
timeline
title Del asiento mensual a la plataforma propia
julio de 2024 : Primera mensualidad de Read AI (plan Enterprise)
15 de abril de 2026 : Cliff Brake publica jaas-app
23 de agosto de 2026 : Transgenia crea el fork público
14 y 15 de octubre de 2026 : Fork endurecido en producción : Transcripción con whisper-1
25 de octubre de 2026 : PR 1 con gpt-transcribe como único modelo : Primera llamada real, 43 de 43 palabras
26 de octubre de 2026 : PR 2, 3 y 4 y PR 19 de Odoo : Despliegue con un solo modelo
27 de octubre de 2026 : Odoo configurado y Meet v8 con sincronización : Tablero publicado en Laboratorio IA
¿Cómo funciona la transcripción y la minuta?
El flujo tiene siete pasos. Los dos que importan son los de aprobación: no hay transcripción sin que el anfitrión la pida y no hay correo sin que el anfitrión lo apruebe.
- Entrar con consentimiento. Cada participante entra con el enlace de la sala, da su nombre y correo y acepta el aviso de transcripción. Antes de entrar elige idioma (español, inglés o mixto) y micrófono, y puede hacer una prueba local de señal que no sube audio ni llama a ningún modelo.
- Capturar el propio micrófono. El navegador de cada persona graba solo su micrófono y solo mientras no está silenciado. Solicita 48 kHz mono, sube fragmentos cada 15 segundos y rota la pista cada diez minutos. Al terminar entrega un manifiesto final con el conteo, el tamaño y los hashes de los fragmentos: el silencio por sí solo no prueba que una pista esté completa.
- Aprobar el procesamiento. El anfitrión revisa la captura y aprueba. Hasta ese momento no se ha enviado un solo segundo de audio a ningún modelo. También puede cancelar: el audio se conserva bajo la política de retención y no se procesa.
- Transcribir con un solo modelo. El audio va a gpt-transcribe, el modelo de transcripción de OpenAI, a través del SDK oficial en Go. No hay respaldo automático en otro modelo ni reintentos ocultos: si una petición queda en estado incierto, una persona la revisa. La transcripción tiene precisión de ventana de tiempo, no de palabra, y no identifica quién habló.
- Redactar la minuta en borrador. GPT-5.4 mini recibe la transcripción consolidada y devuelve un JSON estricto: resumen, decisiones, tareas, riesgos y sentimiento con citas textuales. La llamada va por la Responses API con la opción de no almacenar la conversación en OpenAI. Una minuta con citas que no existen en la transcripción se rechaza antes de llegar a nadie.
- Revisar y aprobar el envío. El dueño de la sala recibe un correo que solo dice que hay una minuta lista, sin contenido. En la página de la minuta ve a los participantes propuestos, quita a quien no deba recibirla y aprueba. Cada dirección recibe una sola vez la minuta y la transcripción completa, con la respuesta dirigida al anfitrión.
- Extraer señales comerciales. En la misma petición de la minuta, el modelo propone hasta doce hipótesis comerciales con una cita verificable cada una. Esas hipótesis no van en el correo a los participantes: viven en una vista interna del anfitrión y en Odoo, donde una persona las acepta o las descarta.
Lo que se guarda y por cuánto tiempo: transcripciones, minutas y correos de los participantes se conservan nueve meses; el audio original se guarda de forma privada hasta 30 días, con una cuota global de 10 GiB, y se borra antes si el anfitrión elimina la sala. Las grabaciones de video no existen: no grabamos video. Los registros del servidor guardan método, ruta, estado y tiempo de cada petición, nunca el contenido, y hay una prueba automática que lo verifica.
Tres terceros participan: 8x8 presta la videollamada, OpenAI procesa el audio y redacta la minuta y Cloudflare autentica el acceso al panel. Así lo dice nuestro aviso de privacidad, que es la única promesa pública que hacemos.
¿Cuánto cuesta transcribir una reunión con la API de OpenAI?
Las cifras siguientes son precios de lista publicados por cada proveedor, leídos el 26 de octubre de 2026. No incluyen el servidor (ya lo teníamos), la ingeniería ni el tiempo de la persona que revisa.
| Concepto | Precio de lista | Fuente |
|---|---|---|
whisper-1, el modelo con el que arrancamos; OpenAI lo marca como deprecated | USD 0.006 por minuto de audio | OpenAI, página del modelo |
gpt-transcribe, el modelo actual | USD 0.0045 por minuto de audio | OpenAI, página del modelo |
| GPT-5.4 mini, el modelo de la minuta | USD 0.75 por millón de tokens de entrada y USD 4.50 por millón de tokens de salida | OpenAI, página del modelo |
| Read AI, plan Enterprise | USD 29.75 por asiento al mes (mensual) o USD 22.50 (anual), mínimo cinco licencias | read.ai, página de precios |
Una reunión de 60 minutos cuesta USD 0.27 de transcripción con gpt-transcribe (60 por 0.0045) y habría costado USD 0.36 con whisper-1. La minuta depende del número de tokens: si la transcripción de esa hora ocupa 12,000 tokens de entrada y la minuta 2,000 de salida, son USD 0.009 más USD 0.009. Es un supuesto, no una medición: el conteo exacto lo reporta la API en cada llamada y nuestra aplicación lo guarda por petición.
La comparación que sí es aritmética pura: USD 29.75 al mes, el precio de un asiento Enterprise, equivalen a 110 horas de audio transcrito con gpt-transcribe a precio de lista (29.75 entre 0.27). Un equipo de cinco licencias, el mínimo del plan, paga al mes lo que costaría transcribir más de 550 horas.
Dos advertencias. La primera: nuestra aplicación registra cada petición con el uso que reporta el proveedor, pero deja el costo en NULL hasta conciliarlo con la factura; todavía no publicamos un costo real por reunión porque todavía no lo hemos medido. La segunda: el precio por minuto no es el costo total. Hay un servidor, hay horas de ingeniería y hay una persona que lee cada minuta. Ese costo existe en cualquier alternativa; lo que cambia es que aquí lo controlamos.
¿Qué evidencia hay de que funciona?
Todo lo que afirmamos aquí tiene una fuente pública o un registro interno con fecha. Esta es la secuencia.
| Fecha | Hecho | Dónde comprobarlo |
|---|---|---|
| 15 de abril de 2026 | Cliff Brake publica jaas-app, la aplicación de la que partimos. | GitHub, cbrake/jaas-app |
| 23 de agosto de 2026 | Transgenia crea el fork público. | GitHub, Transgenia/jaas-app |
| 14 y 15 de octubre de 2026 | Catorce commits endurecen el fork y lo llevan a producción con whisper-1. | Historial del fork |
| 25 de octubre de 2026 | PR #1: captura controlada y un solo modelo de transcripción. 39 archivos y 4,592 líneas añadidas. Suite Go completa en verde en 137.7 segundos; 11 de 11 pruebas de captura en Node. | PR #1 del fork |
| 25 de octubre de 2026 | Primera llamada real a gpt-transcribe con 15 segundos de audio sintético: respuesta en 2,105 milisegundos, 43 de 43 palabras reconocidas, distancia de edición cero. | Registro interno del piloto |
| 26 de octubre de 2026 | PR #2 y PR #3: sin transcripción paralela de JaaS, release y entrega al operador. Prueba en vivo de hasta 45 segundos con dos pistas, revisada y aprobada en la sesión de liberación. Despliegue en producción con un solo modelo y retención de 30 días verificada. | PR #2 y PR #3 del fork |
| 26 de octubre de 2026 | PR #4 (señales comerciales hacia Odoo, 14 archivos y 1,517 líneas) y PR #19 del repositorio de Odoo (addon y tablero): 20 pruebas, 0 fallos, 0 errores. | PR #4 del fork y PR #19 del repositorio de nuestro Odoo |
| 27 de octubre de 2026 | Ensayo aislado del receptor en Odoo: 20 de 20 pruebas. Respaldo y restauración privada con 3,222 adjuntos verificados, ninguno faltante. | Registro interno |
| 27 de octubre de 2026 | Configuración de Odoo en GO después de tres HOLD que no escribieron nada: el correo de perfil de un propietario no coincidía con su acceso a Meet y se resolvió con un mapa privado uno a uno dentro de Meet (PR #5 del fork, esquema 8, 9 archivos y 620 líneas, CI en verde) en vez de tocar cuentas de Odoo. Clave técnica con ámbito acotado y vigencia máxima de 90 días. | PR #5 del fork; registro interno |
| 27 de octubre de 2026 | Meet versión 8 desplegado con la sincronización activada solo con la cola vacía. Tablero "Reuniones y oportunidades" publicado en Laboratorio IA; diagnóstico de solo lectura con 9 de 9 pivots correctos para dos cuentas y 0 excepciones en 1,681 líneas de registro. Primera reunión real sincronizada: pendiente al corte. | Registro interno; lectura en Odoo del 27 de octubre |
Lo que esa evidencia no prueba: la precisión con dos personas hablando a la vez, con ruido o con acentos, ni el costo real por reunión. Quince segundos de audio sintético son una prueba de integración, no una medición de calidad. La calidad se evalúa durante el uso, con reuniones reales, y lo contaremos cuando tengamos cifras.
Ver diagrama Mermaid
flowchart TB
G1["1. Fuente
el código es el que se revisó"] --> G2["2. Datos y migración
snapshot consistente y ensayo v6"]
G2 --> G3["3. Respaldo
probado restaurándolo"]
G4["4. Prueba de integración
una llamada real al modelo"] --> G5["5. Privacidad
aviso alineado con la retención"]
G5 --> G6["6. Despliegue
ventana sin capturas activas"]
G3 --> D{"¿Seis GO?"}
G6 --> D
D -->|"sí"| OK["Desplegar y verificar
leyendo el estado real"]
D -->|"algún HOLD"| NO["Nada cambia
se conserva la evidencia"]
¿Cómo llegan las señales comerciales a Odoo?
Una minuta que se queda en el correo se olvida. Por eso el PR #4 y el addon de Odoo hacen una sola cosa: llevar hipótesis comerciales, con su cita, a un lugar donde una persona decida.
El modelo propone como máximo doce señales por reunión, de cinco tipos: renovación, ampliación, servicios complementarios, nuevas necesidades y riesgo de continuidad. Cada señal lleva una cita textual de la transcripción, una intención, una valencia de sentimiento y un nivel de confianza, en campos separados. La regla está escrita en el contrato de datos: el sentimiento positivo por sí solo no es intención de compra, y la identidad del hablante siempre se marca como no verificada.
Las señales salen por una cola persistente con reintentos acotados hacia un receptor en Odoo que las acepta de forma idempotente: una reunión nueva nunca hereda el cliente ni la revisión de otra. En Odoo viven en el grupo Laboratorio IA, con roles de lector, revisor y administrador, más una cuenta técnica sin lectura general. El tablero tiene nueve pivots: cobertura del análisis, revisión, cotizaciones solicitadas y validadas, riesgos no descartados, tipos de necesidad, intención y postura, y necesidades por cliente y por servicio.
Ver diagrama Mermaid
flowchart LR
M["Minuta en borrador"] --> S["Hasta 12 hipótesis
con cita textual
5 tipos, intención y sentimiento aparte"]
S --> Q["Cola persistente
reintentos acotados"]
Q --> R["Receptor en Odoo
idempotente"]
R --> T["Tablero Laboratorio IA
9 pivots"]
T --> P{"Una persona
revisa"}
P -->|"acepta"| C["Formulario de CRM
abierto, no guardado"]
P -->|"descarta"| E["Queda como evidencia"]
Lo que no hace, a propósito: no crea oportunidades, no crea tareas y no envía correos. Aceptar una señal es una decisión humana; cuando alguien la acepta, un botón abre un formulario de CRM con los permisos normales de Odoo y la persona decide si lo guarda. El worker de sincronización está apagado por defecto y no regenera análisis viejos: reprocesar una reunión es una operación aparte, con su costo aparte.
Lo que costó cerrar la integración. La integración se cerró el 27 de octubre de 2026 (la noche del 26 en México) y no fue limpia, así que la contamos. La configuración de la fuente en Odoo devolvió tres HOLD seguidos sin escribir nada: dos correos de propietario iguales, un usuario que no se encontraba por correo y, al final, una cuenta cuyo acceso a Meet coincidía con su login de Odoo pero no con el correo de su perfil. La salida fácil era editar ese correo en Odoo; la instrucción fue no mover nada ahí. La solución fue un mapa privado, de uno a uno, que vive en Meet y solo traduce el correo del propietario al enviar a Odoo: si un propietario no está en el mapa, el envío falla cerrado, y un digest inmutable impide que un reintento cambie de dueño. Eso es el PR #5 del fork, con su CI en verde, fusionado seis minutos después de abrirse.
Después vino la clave técnica: dos HOLD más, porque un módulo instalado en nuestro Odoo sustituye el método que genera las claves y el helper se negaba a continuar sin entender qué hacía ese código. Se leyó, se adaptó el helper y el tercer intento dio GO. La clave tiene ámbito acotado, vigencia máxima de 90 días y vive en un archivo que nadie imprime.
Meet versión 8 se desplegó primero con la sincronización apagada. Se activó solo después de comprobar que la cola de salida estaba vacía y de que el operador declarara cuatro cosas por escrito: ventana sin grabaciones, consentimiento con el aviso de 30 días, revisión humana de las señales y asociación manual de clientes. No se encoló ni una reunión histórica. El tablero lo publicó una persona, no el instalador. Y el primer vistazo mostró un error en los pivots: la cuenta que abría el tablero no tenía el grupo de lectura de Meet; las pruebas de backend habían pasado con otras dos cuentas. Se añadió el rol, 9 de 9 pivots en verde, y quedó una lección escrita: un "Sin datos" detrás de un IFERROR no prueba que la base esté vacía.
Al corte de esta bitácora, la integración está activa y verificada con datos sintéticos. La primera reunión real que llegue a Odoo será la prueba que falta, y la publicaremos cuando ocurra.
¿Qué no hace todavía?
Escribimos esta lista antes de que alguien nos la pida.
- No identifica quién habló. La atribución viene del nombre de la sesión que capturó cada micrófono, no de reconocimiento de voz. Si dos personas comparten un micrófono, la pista se marca como compartida y nadie inventa etiquetas de hablante.
- No tiene costo real por reunión. El registro de uso existe y el costo está en NULL hasta conciliarlo con la factura. Publicaremos la cifra cuando sea una medición y no un cálculo con precios de lista.
- No está medido con reuniones difíciles. La prueba de integración fue con audio sintético y la prueba en vivo duró menos de un minuto. La evaluación de calidad ocurre durante el uso.
- No ha sincronizado todavía una reunión real. La cadena hasta Odoo está activa y se probó con datos sintéticos y un diagnóstico de solo lectura; la primera reunión autorizada que llegue al tablero será la evidencia, y la contaremos cuando exista.
- No envía minutas sin aprobación, y eso no va a cambiar. Es una decisión de diseño, no una limitación.
- No es un producto. Es nuestra herramienta y el código es público; lo que ofrecemos a clientes es implementarlo en su infraestructura, no una cuenta en la nuestra.
Ver diagrama Mermaid
flowchart TB
HECHO["Hecho"] --> H1["Captura con aprobación"] --> H2["Un solo modelo por etapa"] --> H3["Minuta en borrador"] --> H4["Correo solo con aprobación"] --> H5["Retención 9 meses y 30 días"] --> H6["Tablero publicado en Odoo"]
PILOTO["En piloto"] --> P1["Primera reunión real en Odoo"] --> P2["Calidad con reuniones reales"] --> P3["Costo real por reunión"]
NUNCA["Por diseño no hará"] --> N1["Enviar sin aprobación"] --> N2["Inventar quién habló"] --> N3["Cuentas para terceros"]
¿Qué aprendimos operando agentes de IA en producción?
Este proyecto lo operaron dos agentes de IA y una persona con permisos de administrador, cada uno en su papel.
Un agente de Codex, de OpenAI, hizo el diagnóstico del servidor y preparó cada script en modo de solo lectura: sin sudo, sin acceso a secretos y sin tocar producción. Una persona copió cada bloque, lo ejecutó como administrador y pegó el resultado. Claude Code, de Anthropic, escribió este artículo a partir de las transcripciones de esas sesiones, de los PR públicos y de nuestra contabilidad, y pasó las compuertas editoriales del sitio. Los modelos de OpenAI transcriben y redactan; los de Anthropic revisan y escriben. Somos partner de ambos y usamos cada uno donde rinde.
Ver diagrama Mermaid
flowchart LR
CX["Agente de Codex (OpenAI)
diagnostica y prepara scripts
solo lectura, sin sudo"] --> H["Persona con permisos
de administrador
ejecuta y pega el resultado"]
H --> P[("Producción
meet.transgenia.org")]
P --> OA["Modelos de OpenAI
gpt-transcribe y GPT-5.4 mini"]
P --> X8["8x8 JaaS
videollamada"]
P --> CF["Cloudflare Access
identidad del panel"]
CC["Claude Code (Anthropic)
escribe y revisa"] --> ART["Este artículo"]
CX -.->|"transcripciones
de las sesiones"| CC
Las reglas que salieron de esa operación caben en una lista:
- NV significa no verificado, nunca cero. Un contador que no se pudo leer se reporta como no verificado, no como vacío.
- Un PR en verde no es un despliegue. "No atribuyas despliegue a PR verde, merge, presencia de archivos o arranque de una unidad" fue una instrucción literal, y se cumplió: cada liberación se verificó leyendo el estado real del servicio.
- Seis compuertas con GO o HOLD: fuente, datos y migración, respaldo, prueba de integración, privacidad y despliegue. El script del operador corre en modo plan por defecto y la opción de desplegar está bloqueada hasta que todas dan GO.
- Un respaldo se prueba restaurándolo. La base de Odoo se restauró en una copia privada y se contaron 3,222 adjuntos antes de instalar nada.
- Nunca revertir a ciegas. La imagen anterior no conocía las columnas de aprobación y cancelación; un rollback ingenuo habría procesado capturas pendientes sin permiso.
- Los secretos son archivos. Nunca pasaron por el chat, por argumentos de línea de comandos ni por registros; el agente solo comprobó que existían.
¿Cómo se replica en tu empresa?
Lo que hicimos para nosotros se puede implementar en una pyme mexicana con tres condiciones: un servidor propio o un VPS pequeño, una clave de API de OpenAI dedicada al servicio y un CRM que reciba las señales (nosotros usamos Odoo Community). La cuarta condición no es técnica: una persona que apruebe cada minuta antes de que salga.
El proyecto típico empieza por el flujo real de reuniones de la empresa: quién las convoca, qué se decide en ellas y a dónde deberían ir esas decisiones. Después se decide si conviene una plataforma propia como la nuestra o integrar la transcripción con la herramienta de videollamadas que ya usan. Lo que no cambia es el principio: datos en casa, un solo modelo por etapa, aprobación humana y señales que terminan en el CRM.
Si quieres evaluarlo para tu empresa, la página de implementación de IA explica cómo trabajamos y el formulario de contacto llega a una persona.
Qué opinamos en Transgenia
Pagar por asiento tiene sentido cuando no hay quien construya; pagar por uso tiene sentido cuando sí lo hay. Un asiento de Read AI cuesta al mes lo que 110 horas de transcripción a precio de lista, y nuestro equipo no transcribe 110 horas al mes. Pero el argumento de fondo no es el precio: el audio de una reunión con un cliente es un dato del cliente, y preferimos que viva en un servidor nuestro, con un plazo de borrado escrito en un aviso público, a que viva en una cuenta de terceros. Lo mismo recomendamos a quien nos pregunta.
Fuentes
- PR #1 de Transgenia/jaas-app: captura de audio controlada y piloto con un solo ASR (25 de octubre de 2026).
- PR #2: sin transcripción paralela de JaaS ni carga duplicada de scripts (26 de octubre de 2026).
- PR #3: preparación del piloto en producción y entrega al operador (26 de octubre de 2026).
- PR #4: señales comerciales con evidencia sincronizadas con Odoo (26 de octubre de 2026).
- PR #19 del repositorio de nuestro Odoo (repositorio privado, sin enlace público): tablero de inteligencia comercial en Laboratorio IA, 26 de octubre de 2026. Sus cifras de pruebas también constan en la descripción pública del PR #4.
- cbrake/jaas-app, el proyecto original de Cliff Brake.
- gpt-transcribe, página del modelo y precio por minuto (OpenAI, leída el 26 de octubre de 2026).
- whisper-1, página del modelo, precio y estado deprecated (OpenAI, leída el 26 de octubre de 2026).
- GPT-5.4 mini, página del modelo y precios por millón de tokens (OpenAI, leída el 26 de octubre de 2026).
- Read AI, página de precios (leída el 26 de octubre de 2026).
- Aviso de privacidad de Transgenia: Reuniones y minutas (meet.transgenia.org).
- meet.transgenia.org, página pública de entrada.
- Registro interno del piloto (25 y 27 de octubre de 2026): no es público; las cifras se citan tal como quedaron escritas.
- PR #5 de Transgenia/jaas-app: mapa privado de propietarios que conserva las cuentas de Odoo (27 de octubre de 2026).
Preguntas frecuentes
¿Qué es meet.transgenia.org?
Es la plataforma interna de reuniones de Transgenia: videollamadas sobre Jitsi as a Service de 8x8, transcripción con gpt-transcribe de OpenAI, minutas en borrador con GPT-5.4 mini y señales comerciales que llegan a nuestro Odoo. El código es un fork público del proyecto jaas-app de Cliff Brake. No es un producto a la venta; es nuestra herramienta y el banco de pruebas de lo que implementamos para clientes.
¿Por qué dejaron de pagar Read AI?
Por el modelo de cobro por asiento (USD 29.75 al mes en el plan Enterprise, con mínimo de cinco licencias), porque queríamos que el audio y las minutas vivieran en nuestro servidor bajo nuestro aviso de privacidad, y porque necesitábamos que la minuta alimentara el CRM en vez de quedarse en el correo. No fue por su calidad: hizo lo que prometía.
¿Cuánto cuesta transcribir una hora de reunión con la API de OpenAI?
A precio de lista de OpenAI al 26 de octubre de 2026, USD 0.27 con gpt-transcribe (0.0045 por minuto) y USD 0.36 con whisper-1. La minuta se cobra por tokens: con 12,000 de entrada y 2,000 de salida en GPT-5.4 mini son unos dos centavos más. No incluye servidor, ingeniería ni revisión humana, y nuestro costo real por reunión todavía no está conciliado.
¿Qué modelo redacta la minuta?
GPT-5.4 mini, a través de la Responses API de OpenAI y con la opción de no almacenar la conversación. Devuelve un JSON estricto con resumen, decisiones, tareas, riesgos y sentimiento con citas textuales. Una minuta cuyas citas no existen en la transcripción se rechaza antes de mostrarse a nadie.
¿Dónde se guardan el audio, la transcripción y la minuta?
En nuestro servidor, en una base SQLite y un directorio privado de audio. Transcripciones, minutas y correos de participantes se conservan nueve meses; el audio, hasta 30 días con una cuota global de 10 GiB. Si el anfitrión borra la sala, todo se elimina de inmediato. Los terceros que intervienen son 8x8, OpenAI y Cloudflare, como indica el aviso de privacidad.
¿Identifica quién habló?
No. Cada navegador graba solo su micrófono y la atribución viene del nombre de la sesión que capturó, no de reconocimiento de voz. No hay diarización y la identidad del hablante se marca siempre como no verificada. Si un micrófono es compartido, la pista lleva esa marca y no se inventan etiquetas.
¿La minuta se envía automáticamente a los participantes?
No, y es una decisión de diseño. El dueño de la sala recibe un aviso sin contenido, revisa la minuta, ajusta la lista de destinatarios y aprueba. Solo entonces cada dirección recibe una vez la minuta y la transcripción, con la respuesta dirigida al anfitrión. Las hipótesis comerciales nunca van en ese correo.
¿Qué llega a Odoo?
Hasta doce señales por reunión, de cinco tipos: renovación, ampliación, servicios complementarios, nuevas necesidades y riesgo de continuidad, cada una con una cita textual, intención, sentimiento y confianza en campos separados. Llegan a un tablero del grupo Laboratorio IA. Nada crea oportunidades ni tareas: una persona acepta la señal y decide si abre el CRM.
¿Puedo usar meet.transgenia.org para mis reuniones?
No como servicio: solo entra quien tiene el enlace de una sala creada por nuestro equipo. Lo que sí hacemos es implementar una plataforma equivalente en la infraestructura de tu empresa, con tu clave de API, tu CRM y tu política de retención, como parte de nuestros servicios de implementación de IA.
¿Qué parte del código es de Transgenia y cuál del proyecto original?
La base (salas, permisos firmados para JaaS, grabaciones y transcripciones de 8x8) es de jaas-app, de Cliff Brake, que usamos con su permiso. Transgenia añadió la captura de audio por navegador con aprobación del anfitrión, el worker de minutas, la retención configurable, el acceso por identidad, los correos con aprobación y la sincronización con Odoo. Todo está en el fork público, PR por PR.
Sobre el autor y Transgenia
Efraín Carreón Ortiz es Director General de Centrum Transgenia, una consultora tecnológica mexicana, y lleva la mayor parte de las ventas de la empresa. Está acreditado con la insignia oficial Claude Code (Claude Partner Badge) emitida por Anthropic, verificable en Credly.
Transgenia es OpenAI Select Partner dentro del OpenAI Partner Network y partner registrado en el Claude Partner Network de Anthropic. Equipo: Víctor Estrada Bello, Chief PMO; Danild Johan Zambrana López, Chief Technology Officer; Jaime Lozano Castañeda, Chief Marketing Officer; Efraín Carreón Ortiz, Director General (Chief Executive Officer).
Hablemos: contacto@transgenia.org, WhatsApp +52 55 8034 0405, agenda de 15 minutos o la página de contacto.
Sigue leyendo
- De 5 horas a 13 segundos: un agente de prospección con guardarraíles: el mismo principio de borrador primero y aprobación humana, aplicado a ventas.
- Cómo Transgenia opera con agentes de IA gobernados: el modelo de VoBo que exigimos a cualquier integración.
- Inventario de infraestructura MCP: el mapa de conectores y permisos con el que convive esta plataforma.
- ¿Quién integra Claude o ChatGPT con Odoo en México? Guía para contratar: qué exigir por escrito a cualquier proveedor, incluida Transgenia.
- Pedidos por WhatsApp en Odoo con IA para la pyme mexicana: otro flujo con aprobación humana antes de escribir en el ERP.
- Publicamos MCP-Odoo-Tools, plugin open source para Odoo: el conector con el que leemos y escribimos en Odoo bajo permisos acotados, base de la cuenta técnica del receptor.
- Agentes IA para ventas B2B en México: cómo diseñamos un SDR gobernado: las reglas duras de nuestro agente comercial, las mismas que heredan las señales de las reuniones.
- Implementación de IA e integración con Odoo: la oferta y el formulario para solicitar una evaluación.
Hashtags: #ReadAI #AlternativaReadAI #MinutasConIA #TranscripciónDeReuniones #IAaplicada #Odoo #OpenAI #JitsiMeet #SelfHosted #AgentesDeIA