¿Qué hace Mon Monteur Vidéo?
Un editor que entrega un archivo verificado, no un borrador. Este skill no reemplaza a los skills especializados: decide cuál usar, en qué orden, y aplica reglas aprendidas en proyectos reales.
1. Antes de tocar la edición
- Leer el brief y las fuentes. Listar lo que existe: cartel (PSD, PDF, JPG), logo, fotos, material de archivo, música proporcionada, voz, texto.
- Verificar las herramientas (
references/outillage.md): Node 22+, FFmpeg, Python, Premiere abierto o no. En un equipo sin FFmpeg del sistema, usar el de un paquete (imageio-ffmpeg, Remotion) en lugar de bloquear. - Fijar tres cosas con la persona, en una sola pregunta si faltan: el mensaje único del video, los formatos de salida (16:9, 9:16, WhatsApp), la duración buscada. Todo lo demás se decide solo.
- No inventar nada sobre el fondo. Fechas, lugares, precios, números, nombres y funciones vienen de las fuentes o de la persona. Si hay duda sobre un nombre propio: preguntar.
2. Elegir el motor
| Situación | Motor | Skill a cargar |
|---|---|---|
| Nuevo video motion design, promocional, explicativo, vertical | HyperFrames (HTML renderizado a video) | /hyperframes, luego /hyperframes-cli |
| Efecto, transición, estilo de subtítulo, gráfico "nombrado" | Registro HyperFrames antes de codificar a mano | /hyperframes-registry |
| Música, efectos de sonido, voz, transcripción, recorte de fondos, etalonaje | Herramientas multimedia | /media-use |
| Proyecto Remotion existente a modificar | Quedarse en Remotion; migrar solo si se pide | /remotion-to-hyperframes para migrar |
| Rehacer un video de referencia idéntico | Retro-ingeniería fotograma a fotograma | /reverse-any-video |
| Acabado, exportación, subtítulos en un montaje ya en Premiere | MCP premiere-pro | — |
| Renderizado procedural puro (logo revelado, capturas de sitio web), sin navegador | Python Pillow + FFmpeg, fotograma a fotograma | — |
| Video generado por IA, avatar | Higgsfield o HeyGen, tras acuerdo sobre el costo | /higgsfield-generate, /media-use |
Regla de elección: el motor más simple que haga que el resultado sea editable por la persona después. Detalles y trampas de cada motor: references/moteurs.md.
3. Una única fuente de tiempo
La causa nº1 de un montaje fallido es que el sonido y la imagen no usen el mismo tiempo.
- Escribir un archivo de temporización (
timing.mjs,plan.json): lista de escenas con su duración, y la lista de marcas (cues) donde ocurre algo en pantalla. - La imagen y los scripts de audio importan este archivo. Nunca duplicar la duración en dos lugares.
- Calcular la duración total desde la composición, luego generar la música con esa duración (
scripts/duree-composition.mjspara Remotion). - Música proporcionada: medir su tempo, luego contar en compases.
tiempo = 60 × fps / BPMfotogramas,compás = 4 × tiempo. Cada corte cae en el primer tiempo; anotar el desfase del primer tiempo (a menudo 0,02 a 0,03 s). - Variaciones (varios interlocutores, varias ofertas): un objeto de variantes en el archivo de temporización, una composición por variante y por formato, un script
renderque itera sobre ellas.
4. Ritmo y contenido
- Aproximadamente 5 s por visual a leer. Demasiado rápido es la queja más frecuente. Un formato corto vertical puede bajar a 2–3 s, no menos para texto.
- Video público = oferta, prueba, llamada a la acción. Las páginas internas (guía de estilo, tipografías, maquetas de papelería) no interesan al público: sacarlas del montaje.
- Llamada a la acción final mantenida 5 a 8 s, con el contacto confirmado y los medios de pago o inscripción.
- Logo nunca retocado. Partir del archivo original (AI, PDF, SVG), no recolorearlo ni redibujarlo; animar solo su aparición (máscara que lo revela). La última imagen del logo es idéntica al original.
- Personas en pantalla: etiqueta nombre + función, señalada a la persona correcta (coordenadas en píxeles de la foto en el archivo de temporización), cámara que pasa por cada uno y luego plano general.
- Cartel proporcionado en PSD/PDF: extraer las capas y el fondo en lugar de recomponer de memoria; tomar sus colores y sus fuentes.
- Zonas seguras: contenido dentro del 90 % del marco, texto clave y subtítulos dentro del 80 %. En 9:16, dejar libre la parte inferior (interfaz TikTok, Reels) y la superior.
5. Sonido
Detalles: references/son.md.
- Un video de más de ~15 s que cuenta algo tiene música y efectos de sonido sobre las acciones visibles, salvo que se pida silencio.
- Derechos: música proporcionada por la persona, catálogo bajo licencia, o música sintetizada por script (libre de derechos por construcción). Nunca un título comercial descargado de internet.
- Efectos de sonido sincronizados con los
cuesdel archivo de temporización, en la atmósfera del tema (cocina para un catering, papel y notificaciones para una app). - Mezcla inicial: música 0,62, efectos de sonido 0,85, limitador suave
tanh(scripts/mix.mjs). Bajo una voz, bajar la música (ducking); la voz sigue siendo inteligible en un altavoz de teléfono. - Voz en off: una línea por archivo, luego transcripción palabra por palabra para ajustar texto y subtítulos a la voz real, no a una estimación.
6. Diálogo grabado: cortar y subtitular
Detalles: references/parole.md.
- Transcribir con marca de tiempo por palabra (
npx hyperframes transcribe, Whisper o Parakeet). - Corregir la transcripción: nombres propios, siglas, homófonos. Los motores suelen deformar casi siempre los nombres y las siglas; releer cada frase.
- Cortar silencios:
scripts/coupe-silences.pyagrupa palabras separadas por menos de 0,35 s y añade 0,08 s antes, 0,15 s después. Terminar en una frase completa; eliminar un final inaudible. - Ordenar las tomas para narrar: apertura corta y cálida, mensaje largo en medio o al final si concluye bien.
- Subtítulos: 1 a 2 líneas, ≤ 42 caracteres por línea, 1 a 3,5 s por cartón, nunca cortados en medio de un grupo de palabras. Entregar también el
.srt.
7. Controlar antes de entregar
Nunca anunciar "terminado" solo por un render sin error.
- Extraer imágenes en los momentos clave: inicio, cada transición, mitad de cada escena, último fotograma. Mirarlas. Una hoja de contactos es suficiente para el ritmo.
- Verificar: texto legible y sin errores, nada cortado en el borde, nombre correcto sobre la persona correcta, logo intacto, última imagen limpia.
- Verificar el archivo: no vacío, duración = duración prevista, pista de audio presente,
yuv420p, sonido sincronizado en un corte preciso. - HyperFrames:
npx hyperframes check --jsonsin errores, luegosnapshot. Remotion:remotion stillen los fotogramas clave. - Mostrar la vista previa y esperar la aprobación antes del render final o cualquier publicación, salvo solicitud explícita de continuar.
8. Exportar y derivar
Detalles y comandos: references/export.md.
| Salida | Marco | Ajuste inicial |
|---|---|---|
| Master, YouTube, Facebook | 1920×1080, 30 fps | H.264, CRF 16–18, yuv420p, AAC 192 k |
| TikTok, Reels, Shorts | 1080×1920, 30 fps | H.264, CRF 20–23 |
| WhatsApp, envío directo | 1280×720 o 720×1280 | H.264, CRF 26–28, AAC 128 k, +faststart, buscar < 100 MB (estado: ≤ 60 s) |
| Sitio web | según la página | versión ligera + imagen de portada |
- El 9:16 se recompone, no se recorta: mismas escenas, diseño vertical, textos más grandes.
- Nombrar los archivos por contenido y destino:
tema-facebook.mp4,tema-tiktok.mp4,tema-whatsapp.mp4. Salidas enout/oentregables/, fuentes ensource/. - Pasar por Premiere solo si la persona quiere retocar a mano: importar el render, las pistas de audio y el
.srt.
9. Trabajar en varias sesiones
Una sola sesión escribe en una carpeta de proyecto a la vez. Dos sesiones sobre la misma carpeta se sobrescriben. Los renders largos se ejecutan en segundo plano, desvinculados, con un registro que se revisa.
Archivos del skill
references/moteurs.md— fortalezas, trampas y comandos de cada motorreferences/son.md— música sintetizada, efectos de sonido, mezcla, vozreferences/parole.md— transcripción, correcciones, corte de silencios, subtítulosreferences/export.md— comandos FFmpeg de derivación y controlreferences/outillage.md— instalación sin derechos de administrador, Premiere MCPreferences/lecons.md— comentarios recibidos en proyectos reales, a releer antes de cada entregascripts/mix.mjs,scripts/coupe-silences.py,scripts/duree-composition.mjs,scripts/planche-contact.sh