¿Qué hace agent-demo-film?
Un video demo vale la pena enviarlo solo si lo que aparece en pantalla es real y coincide con lo que la persona dice en ese momento. Esta habilidad logra que la persona haga una sola cosa: leer un guion a cámara de una sola vez. Los agentes hacen el resto: la investigación, las imágenes, el guion, y el corte y ensamblaje posterior.
1 preparación ─> 2 captura ─> 3 guion ─(aprobación)─> 4 grabación (la persona) ─> 5 corte ─> 6 plan de referencia ─(aprobación)─> 7 ensamblaje ─> 8 verificación ─> MP4
Cada proyecto necesita imágenes diferentes y una historia diferente; determínalos a partir del proyecto mismo. examples/ muestra dos ejecuciones reales: un recorrido narrado de producto y un video con/sin de una habilidad de agente. Lee el que esté más cerca de la solicitud antes de planificar.
principios
- Solo imágenes reales. Cada pantalla de aplicación, respuesta de agente, número y registro en pantalla proviene de una captura o un archivo, copiado por un script, nunca reescrito. Si una línea que deseas no está en una captura, la película no puede mostrarla.
- La pantalla sigue a la voz. Cada visual aparece en la palabra que la nombra. Cada instante en el ensamblaje proviene de un id de palabra en el corte, por lo que volver a cortar mueve los visuales con la voz.
- Nada afirma más que las palabras y las fuentes. Mantén una lista de hechos (con el archivo del que proviene cada hecho) y una lista de "no afirmaciones". Verifica cualquier cita de investigación contra el artículo mismo (Crossref:
https://api.crossref.org/works/<doi>). - Entrada sintética. Usuarios, chats y datos inventados. Sin nombres reales ni transcripciones. Oculta secretos y números de teléfono en las imágenes, y nunca imprimas una clave: los pasos de inicio de sesión la leen desde el archivo de entorno en un contexto no grabado.
- Conserva cada toma. Los scripts se niegan a sobrescribir una captura o una fuente de corte. Las grabaciones originales permanecen donde la persona las colocó, y eliminarlas es decisión de la persona.
- La persona aprueba dos veces: el esquema y el guion antes de grabar, y el plan de referencia antes del ensamblaje. Espera varias rondas de notas de redacción sobre el guion; ese es el objetivo de esa fase.
enrutamiento de modelos
Ejecuta la mayor parte del trabajo en subagentes, para que la sesión principal mantenga las decisiones. Cuando la persona nombre un modelo para un paso, utiliza ese.
| trabajo | modelo |
|---|---|
| lectura masiva e investigación de texto: la hoja de hechos del repositorio, investigación del tema, división de la toma en una lista de edición, revisión de un guion para detectar marcas de IA | Sonnet |
| cualquier cosa que lea video o fotogramas: encuadre de recorte, verificación de fotogramas después de una renderización, verificación de imágenes en busca de secretos, y el enjambre de referencias por sección (un agente por sección) | Haiku |
| construir una nueva herramienta que le falte al pipeline, por ejemplo, un grabador personalizado | Opus |
| el esquema, el guion, el plan de referencia y cada llamada que la persona debe aprobar | la sesión principal |
Haiku y Sonnet no pueden escuchar audio. Las sincronizaciones de palabras provienen solo de la transcripción (paso 5).
1. preparación
Lee references/prep.md. En paralelo: un agente Sonnet escribe una hoja de hechos a partir del repositorio (qué hace, números reales con sus archivos fuente, peculiaridades conocidas que deben mantenerse fuera de la pantalla), y los agentes Sonnet investigan aquello en lo que se basa la historia. Luego escribe el esquema: secciones con segundos objetivo, qué hay en pantalla en cada una, las imágenes que necesita cada una, la lista de hechos y la lista de no afirmaciones.
2. captura
Lee references/capture.md. Elige el método de captura del proyecto: Playwright para aplicaciones web, scripts/run_take.sh para el comportamiento del agente a través de claude -p, un grabador de terminal para CLIs, un desplazamiento para una página en vivo. Cada toma registra sus marcas (envío, respuesta, paradas de desplazamiento) con marcas de tiempo, para que el ensamblaje pueda cortar las imágenes según la voz. Los agentes Haiku verifican los fotogramas de cada toma.
3. guion
Lee references/script.md. Escribe solo el diálogo de la persona, en secciones ## N. título que coincidan con el esquema, para una sola sesión a aproximadamente 150 palabras por minuto. Palabras habladas simples, en la voz de la persona: sin adornos de marketing ni marcas de IA. Muestra el guion con la guía de grabación y espera la aprobación.
4. grabación
La persona graba un solo archivo con cámara web y micrófono juntos (OBS, la aplicación Cámara o un teléfono). Los errores y las líneas reiniciadas están bien, ya que el corte toma la última versión completa. Varios archivos también funcionan (uno por sección, o una línea de recuperación grabada más tarde).
5. corte
Lee references/cut.md.
- Transcribe cada toma localmente:
npx hyperframes transcribe <toma> --engine parakeet. - Numera las palabras y recórtalas a silencios reales:
python scripts/words.py transcript.json <toma> vo --media <toma>. - Entrega la lista de frases y el guion a un agente Sonnet (
assets/SPLIT-BRIEF.md). Escribeedl.json: qué rangos de palabras mantener por sección, qué muletillas y falsos inicios eliminar, y qué líneas dicen algo que los hechos no respaldan. - Pregunta a la persona sobre cualquier línea repetida o afirmación marcada antes de cortar.
- Encuadra la cámara web: un agente Haiku elige un recorte que mantenga cabeza y hombros en todas las tomas a partir de fotogramas muestreados, o desenfoca el fondo en su lugar (
scripts/blur_bg.py). - Corta:
python scripts/cut.py edl.jsonescribevo.wav,cam.mp4,timeline.jsony un archivo de palabras por sección. La sincronización de labios se mantiene porque el audio y el video se recortan en la misma cuadrícula de fotogramas.
6. plan de referencia
Un agente Haiku por sección (assets/CUE-BRIEF.md) convierte las palabras temporizadas de la sección en subtítulos, referencias (qué visual aparece en qué palabra, con su fuente) y destellos. Luego:
python scripts/cues.py cutverifica cada archivo de sección contra el corte y los fusiona enfilm.json. Envía cualquier error de vuelta al agente que escribió esa sección.- Escribe el plan de referencia para la persona (
examples/samatva-support/CUE-plan.mdmuestra la forma): diseño de sección, visuales línea por línea, las ediciones de audio y las decisiones que solo ellos pueden tomar. Espera la aprobación.
Reglas de subtítulos: muestra la palabra correcta. Corrige silenciosamente las malinterpretaciones del transcriptor. Marca un error real con la palabra correcta como *(palabra) en lugar de lo que se dijo. Destella nombres, números y términos difíciles de captar en grande sobre el subtítulo.
7. ensamblaje
Lee references/hyperframes.md. Copia assets/build_film.py en la carpeta de la película. Tal como está, construye un animatic a partir de film.json: el texto de cada referencia en su palabra, la inserción de la cámara web por sección, subtítulos y destellos. Renderiza eso primero si el tiempo está en duda. Luego reemplaza el cuerpo de cada sección con los visuales reales: imágenes cortadas a los tiempos de referencia, diagramas que se construyen a medida que se nombra cada parte, y tarjetas para las fuentes.
8. verificación
Lee references/verify.md. En orden:
npx hyperframes check --jsonhasta que muestre 0 errores.- Captura instantánea en cada tiempo de referencia (el constructor escribe
cues.json), y haz que los agentes Haiku verifiquen esos fotogramas contra el plan de referencia y en busca de secretos filtrados. - Compara el texto en pantalla con sus fuentes mediante script.
- Renderiza el máster 1080p y una copia de revisión 720p.
Luego envía la copia de revisión. Cuando la persona nombre un momento ("en 1:23 digo …"), corrígelo con una grabación de recuperación o un cambio de referencia, y vuelve a verificar solo los fotogramas que cambiaron.
archivos
scripts/words.py: transcripción a palabras numeradas y una lista de frases, recortada a silencios reales.scripts/cut.py: lista de edición avo.wav,cam.mp4ytimeline.json, sincronizados en la cuadrícula de fotogramas.scripts/cues.py: verifica los archivos de sección de los agentes de referencia y los fusiona enfilm.json.scripts/blur_bg.py: desenfoque de fondo local para la cámara web (RobustVideoMatting, CPU).scripts/run_take.sh,scripts/grade.py: tomas reales declaude -pdel comportamiento del agente, y su calificación.assets/build_film.py: el constructor desde el que empezar (animatic, cámara web, subtítulos, destellos).assets/edl.example.json,assets/SPLIT-BRIEF.md,assets/CUE-BRIEF.md: el formato de la lista de edición y los dos resúmenes de agente.references/: preparación, captura, guion, corte, hyperframes, verificación.examples/samatva-support/: un recorrido narrado de producto de 2:19, a partir de tres tomas.examples/samatva-vent/: un video corto silencioso con/sin de una habilidad de agente, construido a partir de tomas reales declaude -p.