El modelo de contenido
Cómo se guarda un módulo generado — el sobre de la instantánea, las escenas tipadas, la unión de layouts y los contratos draft y publishable.
Un módulo de Vidext son datos tipados y validados, no medios opacos. Esta página describe la forma que Vidext guarda y reproduce. Para la vista de producto, empieza por Escenas y layouts.
Ninguna API pública devuelve esto
Ninguna tool MCP ni ningún otro endpoint público devuelve la instantánea o las escenas de un módulo. Las tools de Operator listan módulos y leen fuentes; el contenido de un módulo se ve y se edita en la aplicación de Vidext. Esta página es contexto para entender de qué está hecho un módulo.
El sobre de la instantánea
El contenido reproducible de un módulo es una instantánea de módulo (module snapshot): un sobre JSON versionado alrededor del propio módulo. Cada versión generada de un módulo es una instantánea inmutable.
ModuleSnapshot { schemaVersion, createdAt, updatedAt?, createdBy?, useCaseId, language?, narrableContentId? }
└── Module { id, title, description?, built? }
└── Chapter[] { id, title, description? }
└── Scene[]languagees el idioma en que se escribió y se locutó la narración del módulo.builtaparece en un módulo que los agentes de Vidext generaron en el chat:{ by: "sandbox", mapper }, dondemappernombra la versión de la generación que lo dispuso.useCaseIdesnullsalvo que el módulo se planificara con un caso de uso.
Las instantáneas se validan al leerlas y al escribirlas. Una instantánea malformada se rechaza, nunca se sirve a medias.
Escenas: una unión discriminada
Cada escena es:
Scene { id, layoutId, content, audioNarration?, sourceSubsectionLabel?, sourceRefs?, visualConcepts? }layoutId es el discriminante: nombra el tipo de escena y selecciona el esquema que sigue su content. Tiene siete valores:
cover · chapter · beat · quiz · video · interactive · closingSeis de ellos son la estructura del módulo: su portada, el inicio de un capítulo, un cuestionario, un vídeo, una escena interactiva y su cierre. Cada momento didáctico es un beat (pulso).
Pulso
El contenido de un pulso es el pulso tal como lo dispuso la generación, más lo que dice:
{ title, screen { kind, …elements }, form, segmentsMs?, avatar?, paragraphs }screen.kindindica qué forma tiene la información (una afirmación, un conjunto, pasos ordenados, una línea de tiempo, etc.) y decide qué elementos contiene la pantalla. Cada elemento lleva unid, eltextbreve escrito para la pantalla y, cuando la voz se ha alineado,at: los milisegundos, desde que empieza la voz de la escena, en los que la voz llega a él. Cuando un pulso largo se reparte en varias escenas, un elemento dicho en una escena anterior está en0y uno dicho en una posterior en3600000, que esta escena nunca alcanza. Un elemento puede llevar además unadescription, una línea bajo su texto que omiten los estilos que solo dibujan títulos.formes cómo se dibuja ese tipo, su estilo visual en términos de producto, y tiene que ser uno que dibuje el tipo de la pantalla. La generación lo elige y lo guarda, así que una versión se renderiza igual en todas partes.nullsignifica que no se eligió ninguno, y el reproductor elige uno para ese tipo.segmentsMs?es lo que duró cada segmento de voz cuando se temporizaron los elementos, de modo que una voz nueva para el mismo texto (una traducción, otra voz) mueve cada elemento con ella.avatar?solo aparece en un pulso dibujado con el estilopresenter:image, una imagen fija del presentador del módulo, yvideo, el presentador diciendo la narración de la escena. El vídeo se renderiza después de la generación, así que el reproductor muestra la imagen fija hasta que carga. Una voz nueva para el mismo texto conserva la imagen fija y descarta el vídeo.paragraphsson los uno a seis párrafos que dice el pulso, un segmento de audio cada uno. Se oyen, no se muestran: lo que el participante lee en un pulso sale de su título y de los elementos de su pantalla, más los subtítulos cuando están activados.
Un pulso no nombra ningún capítulo: el capítulo de una escena es el que la contiene.
Cuestionario
Una escena de cuestionario contiene de una a tres preguntas, y dice cada pregunta como un segmento de audio. Cada pregunta tiene un kind:
select: tres o cuatro respuestas, exactamente una correcta;multi: tres o cuatro respuestas, al menos dos correctas;boolean: verdadero o falso.
Cada pregunta lleva una explicación, y las respuestas de select y multi pueden llevar cada una su propio comentario.
Vídeo
Una escena de vídeo nombra su src, que tiene que ser una URL https, y un title. Puede llevar además measured: la duración del vídeo en segundos, tal como la leyó la generación, con el tamaño del archivo del que se leyó.
Interactiva
Una escena interactiva lleva un pequeño programa generado que el reproductor ejecuta en la escena: su title, un summary de lo que enseña y lo que hace el participante (se lee a los lectores de pantalla y se da al tutor de IA del participante en lugar del código), la versión de kit sobre la que funciona, sus strings, el code generado y un sha256 de ese código. Un módulo lleva el programa entero, así que una versión se reproduce sin descargar nada salvo su kit.
Portada, capítulo y cierre
Una portada lleva el título del módulo y una descripción hablada, y puede llevar una promise que se muestra bajo el título y points, los puntos de aprendizaje que se listan debajo. Una escena de capítulo lleva el título del capítulo y una línea hablada, y un cierre una línea hablada opcional.
Campos a nivel de escena
audioNarration?es la voz generada de la escena: segmentos ordenados, cada uno anclado a lo que dice (un párrafo de un pulso, una pregunta de un cuestionario), con su URL de audio, su duración y sus subtítulos.sourceRefs?es la procedencia a nivel de escena: referencias a la evidencia que fundamentó la escena, cada una con undocumentId(una fuente subida) o unaurl(un hallazgo web), más unexcerpty una nota derelevance. Los módulos que los agentes de Vidext generan en el chat no lo incluyen: el guion con el que se genera un módulo indica en su lugar la fuente de cada pulso.visualConcepts?nombra, en orden, lo que representa cada hueco de imagen de la escena.
Draft y publishable: dos niveles de exigencia
La mayoría de los esquemas tienen dos variantes:
- Draft es permisiva: los campos pueden estar vacíos mientras se escribe el contenido.
- Publishable es estricta: strings no vacíos, duraciones de audio positivas, al menos un capítulo y al menos una escena en cada capítulo.
Las escenas de vídeo e interactivas usan un único esquema para las dos: incluso un vídeo en borrador necesita su título y una fuente https, y una escena interactiva siempre se escribe entera.
El contenido debe pasar el contrato publishable antes de que una versión pueda generarse, y solo una versión generada puede ponerse en vivo. Es la forma a nivel de tipos de los estados borrador, generado y en vivo del producto. Una generación de los agentes de Vidext se comprueba contra los esquemas publishable antes de guardarse, por eso una generación no puede producir un módulo estructuralmente roto.
Last updated on
Herramientas de navegador (WebMCP)
Las tools que la aplicación de Vidext registra para un agente que funciona dentro del navegador, en la página de inicio de sesión y en las páginas con sesión iniciada.
Endpoints de descubrimiento y well-known
Los documentos públicos y legibles por máquinas que permiten a un agente entender Vidext, encontrar sus servidores MCP y conocer el contrato de autenticación antes de iniciar sesión.