Generación de Video
Este Skill se encarga de convertir el contenido formal del proyecto en entradas ejecutables para generación con IA. Las fuentes a largo plazo siguen siendo video/script/, video/materials/ y video/shots/; los paquetes de generación única son solo derivados para facilitar la generación externa por parte del usuario.
Antes de decidir cuánto contenido cubrir en una generación y qué método utilizar, lee el archivo references/planning/GENERATION-STRATEGY.md. Si se necesita generar una gran cantidad de materiales / tomas en lote, lee también references/planning/BATCHING.md: primero valida la línea base con muestras representativas de alto riesgo, luego expande los lotes paralelos actuales solo después de estabilizar; no se fija un tamaño de lote fijo. Cuando el video existente ya es básicamente correcto y solo se necesita una extensión continua o una modificación local generativa, lee references/transform/EDIT-EXTEND.md y evalúa si en realidad es más adecuado un enfoque de postproducción determinista o crear una nueva toma.
1. Identificar el Objeto de Generación
Los objetos de generación pueden ser:
- Materiales de imagen reutilizables entre tomas: personajes, escenarios, utilería, productos, etc.
- Video de una toma específica.
- Imágenes exclusivas de una toma: primer cuadro, último cuadro, storyboard / keyframe, imágenes o sonidos complementarios.
- Referencias de voz a largo plazo de un personaje, o borradores de banda sonora / narración para toda la película.
Primero carga el contenido de las ubicaciones formales: los materiales reutilizables usan la definición de video-materials, y el video de tomas usa el SHOT.md de video-shot. No reconstruyas hechos a largo plazo a partir de paquetes temporales o chats antiguos.
2. Redactar Prompts a Largo Plazo
Antes de escribir un prompt de video genérico para una toma, lee el archivo references/prompting/VIDEO-PROMPT.md. Si el proyecto actual ya tiene instalado un adaptador de modelo correspondiente, el adaptador compila la intención genérica de la toma en el prompt de ejecución final para ese modelo. Todos los adaptadores de modelo cumplen con references/prompting/MODEL-ADAPTER-CONTRACT.md, especificando claramente el punto de entrada / modelo / modo, la verificación de capacidades oficiales actuales, el mapeo de entrada, la configuración de ejecución y los elementos desconocidos. Cuando sea necesario probar varios modelos en paralelo para una misma toma, lee también references/prompting/MODEL-COMPARISON.md. Mantén el mismo SHOT.md y numeración continua de los resultados de generación, no dupliques el directorio de la toma por modelo.
Los prompts de materiales reutilizables se guardan en el directorio video/materials/ correspondiente; los prompts de tomas se guardan en el directorio de la toma correspondiente, usando versiones explícitas como prompt_v01.md, prompt_v02.md, etc.
El prompt solo debe contener la información que el modelo de generación actual realmente necesita. Las definiciones internas de tomas / materiales pueden ser más completas que el prompt final del modelo. Las capacidades del modelo, campos, duración y límites de entrada de referencia están determinados por el skill adaptador del modelo realmente cargado o por la documentación oficial; no se definen estáticamente en este Skill. Los parámetros de ejecución (modelo / punto de entrada, duración, relación de aspecto, activación/desactivación de sonido, etc.) y los límites con el registro del proyecto a largo plazo se gestionan según references/prompting/EXECUTION-PARAMETERS.md.
Si no hay reglas confiables específicas del modelo, mantén descripciones de imagen y acción genéricas, claras y verificables, e indica al usuario que se está usando un prompt genérico, sin fingir capacidades específicas del modelo.
3. Seleccionar Materiales de Referencia
Usa el conjunto de referencia mínimo suficiente. Cada referencia debe responder a la pregunta "¿Qué estabiliza?": identidad del personaje, vestuario, escenario, estructura del producto, acción, fotografía u otro rol específico.
No incluyas referencias irrelevantes en la misma generación para evitar competencia de identidad, contaminación de estilo o desviación de la estructura del producto.
4. Preparar el Paquete de Generación Única
Antes de empaquetar formalmente, lee el archivo references/planning/GENERATION-PACK.md y ejecuta según las dependencias por lotes de paquetes de imagen / sonido / video, nombres de archivos de retorno, conjunto de referencias mínimo, reglas de importación y eliminación. Si el paquete debe entregarse directamente al usuario, usa references/planning/PACK-TEMPLATES.md para generar un archivo de tarea autocontenido. Para la inicialización de packs dentro del proyecto, copia de archivos formales, directorio returns, verificación de estado, compresión zip y limpieza segura, prioriza la reutilización del script scripts/generation_pack.py incluido en este Skill. No escribas scripts de empaquetado temporales para cada proyecto; este CLI solo maneja el ciclo de vida de los archivos, no decide sobre prompts, responsabilidades de referencia ni conclusiones de revisión.
Crea un directorio descriptivo bajo .tmp/ del proyecto. El pack por defecto se mantiene simple:
.tmp/<generation-pack>/
├── README.md
├── <archivos de prompt>
└── materials/
Copia solo los prompts y materiales de referencia necesarios para esta tanda de generación. El README debe incluir al menos:
- El objetivo de esta generación;
- El orden de generación recomendado (si hay dependencias);
- Qué referencias usa cada elemento;
- El nombre del archivo de retorno;
- Las restricciones estrictas que el usuario debe verificar especialmente.
Los materiales de imagen devueltos deben usar el nombre de archivo a largo plazo correspondiente. Antes de nombrar los videos de tomas devueltos, usa generation_pack.py next-take para consultar el siguiente takeNN monótonamente creciente no usado para esa toma. No adivines el número manualmente ni reinicies desde take01 al cambiar de modelo.
5. Importar Resultados
Cuando el usuario traiga los resultados de la generación, primero verifica la correspondencia de los archivos y luego coloca los resultados formales en sus directorios de destino:
- Materiales reutilizables →
video/materials/<category>/; - Resultados de tomas →
video/shots/<shot-id>/; - Sonidos / imágenes exclusivos de la toma → el mismo directorio de la toma.
Solo después de que video-review haya aceptado explícitamente un archivo devuelto, usa generation_pack.py archive --confirm-reviewed para copiarlo a la ubicación formal de destino. Esta acción conserva el archivo original en returns/, devuelve el SHA-256 y no sobrescribe archivos formales existentes. Una vez completado el archivado formal y confirmado que el paquete temporal ya no contiene información única, usa cleanup para eliminar el paquete de generación única.
6. Disciplina de Iteración
Cuando una generación falla, primero identifica si el problema proviene de:
- La definición de material / identidad a largo plazo;
- El propio
SHOT.md; - La redacción del prompt;
- La aleatoriedad del modelo;
- Defectos que se pueden corregir con postproducción determinista.
En un reintento, prioriza cambiar solo una variable principal a la vez. No sustituyas la resolución de problemas alargando el prompt repetidamente.
Criterios de Finalización
El paquete que recibe el usuario debe poder ejecutar directamente la tarea de generación actual; los nombres de los archivos de retorno son claros; el proyecto formal sigue siendo la única fuente a largo plazo; una vez archivados los resultados, el paquete temporal se puede eliminar de forma segura.