Kevin-thu/StoryMem

Kevin-thu
Texto a video

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.