Kevin-thu/StoryMem
StoryMem es un modelo de generación de video narrativo multi-shot y de larga duración. A partir de un guion con descripciones de texto por toma, genera videos narrativos de alrededor de un minuto con personajes coherentes entre tomas y calidad visual cinematográfica. Usa generación toma por toma con un modelo de difusión de video condicionado por memoria, basado en Wan2.2 y ajustado mediante LoRA para tareas Memory-to-Video.
Como usar
Instalación:
git clone --single-branch --branch main [email protected]:Kevin-thu/StoryMem.git
cd StoryMem
conda create -n storymem python=3.11
conda activate storymem
pip install -r requirements.txt
pip install flash_attn
Descarga de modelos:
pip install "huggingface_hub[cli]"
huggingface-cli download Wan-AI/Wan2.2-T2V-A14B --local-dir ./models/Wan2.2-T2V-A14B
huggingface-cli download Wan-AI/Wan2.2-I2V-A14B --local-dir ./models/Wan2.2-I2V-A14B
huggingface-cli download Kevin-thu/StoryMem --local-dir ./models/StoryMem
Ejecución de ejemplo:
bash run_example.sh
El script genera la primera toma con el modelo T2V como memoria inicial y luego usa el modelo M2V para generar las tomas restantes una por una, extrayendo keyframes y actualizando la memoria tras cada toma. Argumentos relevantes: story_script_path, output_dir, t2v_model_path, i2v_model_path, lora_weight_path, seed, size, max_memory_size, t2v_first_shot, m2v_first_shot, mi2v y mm2v.
Funcionalidades
- Generación Text-to-Video para videos narrativos multi-shot.
- Condicionamiento por memoria para mantener coherencia de personajes, escenas y continuidad visual entre tomas.
- Soporte M2V: generación Memory-to-Video usando memoria de tomas previas.
- Soporte MI2V: memoria más imagen del primer frame para conectar tomas adyacentes cuando no hay corte de escena.
- Soporte MM2V: memoria más los primeros 5 frames de movimiento para continuidad entre tomas.
- Incluye pesos LoRA StoryMem Wan2.2 M2V-A14B ajustados sobre modelos Wan2.2.
- Compatible con flujos que generan la primera toma con T2V y luego actualizan memoria automáticamente tras cada toma.
- Incluye ST-Bench, un benchmark con 30 guiones largos y 300 prompts detallados para evaluar storytelling en video multi-shot.
Casos de uso
- Crear videos narrativos largos a partir de guiones estructurados por tomas.
- Generar historias visuales con continuidad de personajes y escenas durante varios clips consecutivos.
- Producir secuencias cinematográficas donde cada toma depende de la memoria visual de tomas anteriores.
- Evaluar modelos de storytelling de video multi-shot usando ST-Bench.
- Experimentar con flujos Memory-to-Video, Memory+Image-to-Video y Memory+Motion-to-Video basados en Wan2.2.