Tutorial de OpenMontage: convertir un asistente de programación con IA en una línea de producción de vídeo

Guía práctica de calesthio/OpenMontage: instalación, dependencia de FFmpeg, configuración de API keys, opciones de GPU local y escenarios adecuados de producción de vídeo con IA.

OpenMontage no es un generador online que “devuelve un archivo de vídeo en una sola frase”, sino más bien una cadena local de producción de vídeo impulsada por un asistente de programación con IA. Completa investigación, propuestas, guiones, storyboards, selección de materiales, doblaje, composición e inspección de calidad en el directorio del proyecto. Por lo tanto, una instalación exitosa no puede juzgarse únicamente por si las dependencias están completamente instaladas; también requiere verificar el registro de herramientas, las capacidades del proveedor y los archivos de medios finales.

Dirección del proyecto: calesthio/OpenMontage

Conclusión rápida

  • Los requisitos mínimos son Python 3.10+, Node.js 18+, FFmpeg y un asistente de programación de IA capaz de leer archivos y ejecutar comandos.
  • make setupEs el camino más corto para macOS/Linux; Windows debería usar un entorno virtual independiente y comandos de instalación en PowerShell.
  • Piper, los materiales de Open Archive y Remotion/HyperFrames pueden usarse sin una clave API de pago, pero las capacidades reales usables deben confirmarse mediante el registro de herramientas.
  • No hagas un vídeo largo la primera vez. Empieza con ejemplos de clave cero o clips de prueba de 15 a 30 segundos, luego revisa los archivos de salida, duración, pistas y registros.

Comprueba los requisitos antes de instalar

No esperesmake setupSolo revisa la versión después de un proceso fallido a mitad de juego. Corre primero:

1
2
3
4
5
python3 --version
node --version
npm --version
ffmpeg -version
git --version

Python no debería ser menos de 3.10, Node.js no menos de 18. Mientrasffmpeg -versionSi no puede ejecutarse, la codificación posterior, la grabación de subtítulos o la mezcla de audio no pueden pasar completamente.

Puedes instalar FFmpeg en macOS y Ubuntu por separado:

1
2
3
brew install ffmpeg
sudo apt update
sudo apt install ffmpeg

Instalación de macOS o Linux

El inicio rápido oficial es el siguiente:

1
2
3
git clone https://github.com/calesthio/OpenMontage.git
cd OpenMontage
make setup

Nomakerealizar la instalación manual en un entorno virtual para evitar escribir dependencias en el Python del sistema:

1
2
3
4
5
6
7
8
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
cd remotion-composer
npm install
cd ..
python -m pip install piper-tts
cp .env.example .env

Después de la instalación, ejecuta de nuevo source .venv/bin/activate cada vez que abras otro terminal.

Instalación de Windows PowerShell

En Windows no copies directamente los comandos Bash source y cp:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
git clone https://github.com/calesthio/OpenMontage.git
Set-Location OpenMontage
py -3 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
Set-Location remotion-composer
npm install
Set-Location ..
python -m pip install piper-tts
Copy-Item .env.example .env

Sinpm installRegresoERR_INVALID_ARG_TYPE, el README oficial proporciona un comando alternativo como:

1
npx --yes npm install

Si PowerShell se niega a activar el script, primero confirma que es un problema de ejecución de políticas, en lugar de reconstruir el entorno repetidamente. También puedes elegir no activarlo y usarlo directamente.\.venv\Scripts\python.exeEjecuta los comandos Python siguientes.

Verifica las capacidades reales con el registro

Completar la instalación de archivos no significa que todas las herramientas de vídeo hayan sido descubiertas. Ejecuta con el directorio raíz del repositorio y el entorno virtual activados:

1
2
python -c "from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.support_envelope(), indent=2))"
python -c "from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.provider_menu(), indent=2))"

El primer elemento confirma qué capacidades de producción puede soportar la máquina actual, y el segundo muestra los Proveedores disponibles. Si el comando no es salida cero, la importación de Python falla o devuelve capacidad vacía, el Agente no debería seguir produciendo el vídeo completo.

Empieza con un ejemplo sin API keys

Proporcionado oficialmente por OpenMontagemake demoComo una entrada de renderizado de bajo coste:

1
make demo

Codex, Claude Code o Cursor también pueden realizar una tarea definida en un repositorio abierto:

1
Make a 30-second animated explainer about why the sky is blue, with narration and captions. Use only tools available without paid API keys.

No te limites a mirar el resumen del agente durante la aceptación. Primero, localiza el MP4 recién generado, luego usa FFprobe para comprobar el flujo multimedia:

1
2
find . -type f -name "*.mp4" -print
ffprobe -v error -show_entries format=duration:stream=codec_type,codec_name -of json PATH_TO_OUTPUT.mp4

El resultado aprobado debe incluir al menos un flujo de vídeo de duración no cero; Cuando se requiere doblaje, también debe haber un flujo de audio. Si solo hay un archivo de proyecto pero no un MP4 final, significa que el pipeline no está completado.

Configura los proveedores uno por uno

Copiado.env.exampleSolo se añadirán los servicios necesarios para esta ronda de pruebas:

1
2
3
4
5
6
PEXELS_API_KEY=your-key
PIXABAY_API_KEY=your-key
UNSPLASH_ACCESS_KEY=your-key
ELEVENLABS_API_KEY=your-key
OPENAI_API_KEY=your-key
FAL_KEY=your-key

Primero, verifica los activos gratuitos o los proveedores individuales, y luego añade capacidades una a una. Solo empieza a probar después de escribir todas las claves simultáneamente, lo que mezclará 401, 429, cuotas insuficientes y la falta de disponibilidad del modelo..envno debe enviarse a Git; ejecutarse antes de hacer commitgit status --short, confirmando que no ha entrado en el rango de almacenamiento temporal.

Las rutas locales de la GPU NVIDIA requieren instalación adicional:

1
make install-gpu

Luego activa el modelo correspondiente:

1
2
VIDEO_GEN_LOCAL_ENABLED=true
VIDEO_GEN_LOCAL_MODEL=wan2.1-1.3b

Si la generación local falla, primero revisa CUDA, memoria de vídeo y descargas de modelos. No interpretes erróneamente “Python puede importar” como “inferencia GPU disponible”.

Empieza la tarea desde el vídeo de referencia

Los vídeos de referencia son más adecuados para restringir el ritmo, la estructura y la cinematografía en lugar de copiar el contenido original:

1
Analyze this reference video and propose three original 45-second variants about quantum computing. Keep the pacing pattern, but do not reuse its script or assets. Show estimated tool choices and cost before generation.

Antes de generar recursos, revisa la propuesta, el coste estimado y el render_runtime elegido. Los vídeos explicativos basados en datos suelen encajar en Remotion, mientras que los gráficos animados con HTML/CSS pueden usar HyperFrames. Confirma la ruta real en los registros del proyecto.

Cómo identificar fallos comunes

Fenómeno Comprobar primero Criterios para el juicio
ModuleNotFoundError Caminos actuales en Python y entorno virtual python -c "import sys; print(sys.executable)"Debería señalar.venv
ffmpegNo encontrado Instalación de PATH y FFmpeg En el nuevo terminalffmpeg -versionAún capaz de tener éxito
Instalación de remoción fallida Versión Node/npm,remotion-composer/node_modules npm installDebes salir de cero; no puedes simplemente ver algunos paquetes descargados
Fallo de solicitud de proveedor Variables de entorno correspondientes, cuotas y registro de proveedor Distinguir entre 401, 429, timeout y modelo; no cambiar varias claves consecutivamente
Visuales sin sonido Productos TTS, pistas y salida FFprobe El flujo de audio esperado debe aparecer en MP4
El agente afirma haber completado pero no haber terminado el vídeo Directorio de salida del proyecto y pasos finales de inspección de calidad Debe encontrar archivos MP4 reproducibles y pasar FFprobe

Recupera una instalación funcional

Cuando el entorno de dependencia esté corrupto, no cubras directamente todo el almacén. Primero, conserva el sitio y confirma si el Agente ha modificado el código:

1
2
3
git status --short
git rev-parse --short HEAD
python -c "import sys; print(sys.executable)"

Cambia el nombre del entorno anterior a .venv-broken y crea uno nuevo en .venv. Así podrás comparar ambos. Reinstala las dependencias del frontend solo dentro de remotion-composer; no cambies Python, Node, FFmpeg y el Provider al mismo tiempo.

Si la nueva configuración del proveedor o GPU causa fallos, empieza por.envElimina el elemento recién añadido, vuelve a ejecutar el registro de capacidades y los ejemplos de cero llave. El estándar de recuperación no es “error desaparecer”, sino regenerar la misma muestra de vídeo y comprobarla a través de FFprobe.

Lista final de aceptación

  1. Python, Node y FFmpeg pueden leer versiones en el nuevo terminal.
  2. Dos comandos del registro de herramientas cero salida y muestran las capacidades esperadas y el Proveedor.
  3. Una tarea de prueba de 15 a 30 segundos genera un MP4 reproducible.
  4. FFprobe muestra una duración distinta de cero, así como los flujos de vídeo y audio esperados.
  5. .envy los materiales generados no entraron accidentalmente en Git.
  6. Se ha realizado práctica real para eliminar el Proveedor recién añadido y luego volver a la clave cero o a la configuración disponible anterior.

OpenMontage es adecuado para experimentos en línea de montaje dispuestos a comprobar productos y costes intermedios, y no para producción comercial directa en masa sin registros de aceptación. Primero, haz que una muestra corta sea una línea base repetible, luego añade longitud de vídeo, proveedor y GPU local, lo que reduce considerablemente los costes de solución de errores de error.