¿Qué hace Video Forge?
Crea un proyecto editable y un video terminado. Usa el conjunto de herramientas en conjunto: HTML/GSAP, React, FFmpeg, grabaciones, SVG, sprites, material de archivo, audio y 3D. Elige herramientas por escena; conserva el motor de un proyecto existente. Los elementos visuales se crean con código o se obtienen de medios existentes. No sustituyas modelos generativos de video/imagen o avatares parlantes. La síntesis de narración y la transcripción de voz son herramientas de audio permitidas.
Las rutas son relativas a este directorio, donde esté instalado. Ningún MCP privado, agente/modelo en particular, directorio personal del autor o servicio de pago es requerido por esta habilidad.
Camino dorado — para un video completo, haz exactamente esto
NO explores el código, crees activos manualmente o ajustes píxeles a mano. El código posee todo el diseño, el ajuste de fuentes y los cálculos de sincronización de narración. Tú solo editas texto y parámetros en un archivo JSON pequeño. Ejecuta estos cuatro pasos en orden:
# 1. Prepara el entorno local UNA VEZ (Python local del proyecto + modelos de audio)
python3 <directorio-de-la-habilidad>/scripts/setup_environment.py --out .video-forge-tools --audio
# 2. Copia el storyboard incluido; edita SÓLO su texto/segundos/colores/componentes.
# Reescribe todo el archivo con Write — nunca hagas ediciones quirúrgicas o de coincidencia exacta.
cp <directorio-de-la-habilidad>/assets/storyboard-production.json ./storyboard.json
# 3. Valida, luego renderiza a MP4. run.py es EL punto de entrada: selecciona el intérprete
# preparado y las rutas de los modelos y ejecuta voz→subtítulos→escenas→sonido→renderizado→verificaciones.
python3 <directorio-de-la-habilidad>/scripts/build_project.py ./storyboard.json --check
python3 <directorio-de-la-habilidad>/scripts/run.py ./storyboard.json --out ./film
# run.py BLOQUEA hasta que el MP4 esté listo. Si se interrumpe, reanuda el MISMO comando con
# --resume (no empieces de nuevo). Si tu shell agota el tiempo, añade --background y consulta
# con production_job.py status en su lugar.
# 4. Verifica el archivo real
python3 <directorio-de-la-habilidad>/scripts/verify_video.py ./film/out/final.mp4 --require-audio
Reglas para un modelo débil: el JSON del storyboard es lo ÚNICO que editas. Nunca invoques
produce.py/build_project.py con python3 del sistema para el video completo; siempre pasa
a través de run.py. Nunca edites un archivo fuente .tsx/.py para cambiar tamaño, diseño o texto;
introdúcelo como un parámetro del storyboard en su lugar. Si un título o tarjeta se ve mal, cambia su
valor JSON, no su código — la matemática del diseño es determinista y ya encaja en el fotograma.
Comienza con el contexto útil más pequeño
Lee flujo de trabajo. Infiere valores predeterminados a partir del briefing y la
marca/referencia proporcionada. Pregunta solo por decisiones faltantes. Para un nuevo proyecto,
guarda DESIGN.md y STORYBOARD.md: un propósito por escena, duración, renderizador,
activo, movimiento de cámara y señal de audio. Coincide dimensiones/fps antes de mezclar renderizadores.
Para un promocional/tutorial completo, el valor predeterminado es la receta de producción anterior,
no la antigua prueba de humo silenciosa de cuatro tipos. Lee dirección de producción
y comienza desde assets/storyboard-production.json. scripts/run.py lleva el plan
a través de voz, subtítulos de palabras, escenas coherentes, sonido, renderizado y verificaciones de exportación (llama a
produce.py por ti usando el intérprete preparado). Si faltan dependencias de audio locales,
scripts/setup_environment.py --out .video-forge-tools --audio prepara un
Python local del proyecto y reporta las rutas de los modelos. Esta configuración es reutilizable en
entornos de codificación; no requiere un entorno privado del autor. Consulta production-direction.md.
Para esta ruta, comienza con el briefing y el ejemplo de producción; ejecuta el validador y el productor en lugar de recorrer cada implementación o verificar cada dependencia previamente. El productor reporta las herramientas faltantes y acciones de reparación concretas. Lee su fuente solo cuando un error observado necesite diagnóstico. El modelo que lo dirige elige el mensaje y los parámetros de la escena; el código probado proporciona arte y corrección. No llames "llenó un JSON" a una prueba de producción integral.
El modo de reutilización primero es el predeterminado: busca en el catálogo, elige un componente demostrado, completa sus props declaradas, renderiza una prueba corta, luego compón. Lee model-scaffolding cuando el agente tenga dificultades o cuando construyas una evaluación. El código personalizado es apropiado cuando el catálogo realmente no encaja.
Busca código real antes de inventar movimiento
python3 <directorio-de-la-habilidad>/scripts/catalog.py 'personaje'
python3 <directorio-de-la-habilidad>/scripts/catalog.py 'subtítulo'
python3 <directorio-de-la-habilidad>/scripts/catalog.py 'terminal'
Para un briefing que se ajuste al vocabulario de título/personaje/pantalla/3D del iniciador,
haz que el modelo complete assets/storyboard-example.json usando assets/storyboard.schema.json:
python3 <directorio-de-la-habilidad>/scripts/build_project.py ./storyboard.json --check
python3 <directorio-de-la-habilidad>/scripts/build_project.py ./storyboard.json --out ./mi-video
El compilador escribe el proyecto y solo las dependencias que sus escenas elegidas necesitan.
Usa los valores predeterminados reales en lugar de inventar un esquema. Para un video completo, usa el
camino dorado (run.py) en lugar de detenerte en este andamio silencioso básico.
Prepara el habla real, alinea el guión con los tramos de ASR medidos, lleva los tiempos de los subtítulos
al renderizado, masteriza la banda sonora y exporta una hoja de contactos.
Consulta catálogo de bibliotecas. Código incluido, con licencias ascendentes:
library/vendor/rendercomp/: 50 escenas dibujadas con código, tipografía, transiciones, gráficos y personajes SVG. Cada componente exporta valores predeterminados, FPS y duración.library/vendor/curvable/: 14 escenas de video de lanzamiento parametrizadas; inspecciona las dependencias opcionales de shader/fuente/WASM antes de usar un componente.library/vendor/onda/: componentes, esquemas Zod, transiciones y ayudantes de composición. Analiza los valores predeterminados a través del esquema; conserva las importaciones relativas y carga el tema/las fuentes.library/vendor/ffmpeg/: ayudantes de edición Python locales ejecutables: cortes, uniones, zoom/reenfoque, pixelación/desenfoque, subtítulos animados, gradación, mezcla, silencio, exportación y QA.library/vendor/blender/: ayudantes Blender sin cabeza ejecutables para inspección, ensamblaje de escenas, conversión, optimización, horneado y renderizados. Requiere Blender.
No leas cada biblioteca a la vez. UPSTREAM.json registra la procedencia y LICENCIA
conserva los términos ascendentes. Su código no se prueba automáticamente por estar incluido.
Enruta según el trabajo
| Trabajo | Lee / usa |
|---|---|
| Animación HTML, GSAP, bloques de registro | HyperFrames |
| Composición React / lotes de datos | Remotion, parámetros |
| Edición de material de archivo, gradación, velocidad, audio, ensamblaje final | FFmpeg |
| Capturar navegador/escritorio, cámara de cursor, zoom, censurar | grabación de pantalla |
| Personajes, ilustraciones, activos 3D | personajes, obtención de activos |
| Geometría procedural, cámara, luces, materiales, rigging | 3D |
| Narración, tiempos de palabras, subtítulos animados, sonido | audio y subtítulos, diseño de sonido |
| Comparación de herramientas y planes de motores mixtos | enrutamiento |
Para clips/stock descargados, usa canalización de medios.
Para decisiones de movimiento, usa principios de movimiento.
Consulta investigación para habilidades/bibliotecas estudiadas y por qué encajan.
Mira bibliotecas externas (y research/libraries-catalog.json)
para un mapa de enrutamiento verificado por licencia: qué es seguro incluir vs. citar para cada tipo de trabajo.
El registro de HyperFrames es otra fuente de reutilización; consúltalo antes de construir un efecto.
Usa --help instalado; su contrato puede diferir de la habilidad ascendente actual.
La verificación es parte de la producción
Construye el fotograma principal antes de animar. Cada fotograma debe ser accesible en orden arbitrario: sin reloj de pared, aleatoriedad sin semilla, dependencia de red en vivo o bucle de animación autónomo. HyperFrames utiliza líneas de tiempo pausadas registradas; Remotion usa fotogramas. Renderiza fotogramas representativos y míralos; inspecciona entradas, pausas, límites de corte, cambios de subtítulos y el final. Corrige recortes, texto ilegible, silencios muertos y sincronización de audio.
Cuando se te pida un video, exporta el archivo completo. Un fotograma fijo no es una finalización.
python3 <directorio-de-la-habilidad>/library/vendor/ffmpeg/scripts/probe.py final.mp4 --json
python3 <directorio-de-la-habilidad>/scripts/verify_video.py final.mp4 --require-audio
python3 <directorio-de-la-habilidad>/library/vendor/ffmpeg/scripts/look.py final.mp4 --tiles 3x2
Prueba Y decodifica la exportación final. Confirma la duración planificada, las dimensiones/fps y el audio. Inspecciona realmente la hoja de contactos. Audiciona el audio cuando la reproducción esté disponible; indica cuando solo fueron posibles las comprobaciones técnicas de audio. La redacción requiere verificar cada intervalo relevante después de las transformaciones de cámara, y censurar el audio si contiene el secreto.
Entrega el video reproducible, el proyecto editable, las comprobaciones reales y cualquier limitación de dependencia real. Conserva los originales. No publiques/cargues, gastes créditos ni instales software del sistema a menos que la solicitud lo autorice. La autorización existante sigue siendo válida.
Disciplina de modelo y evidencia
Usa planes estructurados, una lista corta pequeña, valores predeterminados de esquema y ayudantes ejecutables para reducir las decisiones que un modelo más débil debe inventar. Devuelve errores concretos al modelo y cambia la parte más pequeña que falla. Lee evaluación para pruebas emparejadas de modelo fuerte/débil. No reclames paridad con un modelo más fuerte sin medirlo. El estado de recuperación pertenece al proyecto, no a un prompt enorme.
Nuestro propio código es MIT. Los motores/activos/voces mantienen sus propias licencias. Las herramientas opcionales se instalan solo cuando es necesario. Estudia el flujo de trabajo de referencia de Katana, pero nunca asumas que los modelos alojados de Higgsfield son un renderizador de código local o que Katana de escritorio tiene una CLI.