zai-org/CogVideoX-2b

zai-org
Texto a video

CogVideoX-2b es un modelo abierto de generación de video a partir de texto de la familia CogVideoX, orientado a compatibilidad, menor coste de ejecución y desarrollo secundario. Genera videos de 6 segundos a 8 fps con resolución fija de 720 x 480, usando prompts en inglés y un límite de 226 tokens. El modelo 2B está entrenado en FP16 y puede ejecutarse con Diffusers desde unos 4 GB de VRAM en FP16 con optimizaciones, o alrededor de 3.6 GB usando cuantización INT8.

Como usar

Instalación y uso básico con Diffusers:

pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline

# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("zai-org/CogVideoX-2b", dtype=torch.bfloat16, device_map="cuda")

prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]

Ejemplo recomendado con CogVideoXPipeline:

# diffusers>=0.30.1
# transformers>=0.44.0
# accelerate>=0.33.0 (suggest install from source)
# imageio-ffmpeg>=0.5.1
pip install --upgrade transformers accelerate diffusers imageio-ffmpeg
import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video

prompt = "A panda, dressed in a small, red jacket and a tiny hat, sits on a wooden stool in a serene bamboo forest. The panda's fluffy paws strum a miniature acoustic guitar, producing soft, melodic tunes. Nearby, a few other pandas gather, watching curiously and some clapping in rhythm. Sunlight filters through the tall bamboo, casting a gentle glow on the scene. The panda's face is expressive, showing concentration and joy as it plays. The background includes a small, flowing stream and vibrant green foliage, enhancing the peaceful and magical atmosphere of this unique musical performance."

pipe = CogVideoXPipeline.from_pretrained(
    "THUDM/CogVideoX-2b",
    torch_dtype=torch.float16
)

pipe.enable_model_cpu_offload()
pipe.enable_sequential_cpu_offload()
pipe.vae.enable_slicing()
pipe.vae.enable_tiling()

video = pipe(
    prompt=prompt,
    num_videos_per_prompt=1,
    num_inference_steps=50,
    num_frames=49,
    guidance_scale=6,
    generator=torch.Generator(device="cuda").manual_seed(42),
).frames[0]

export_to_video(video, "output.mp4", fps=8)

El modelo también puede usarse con cuantización INT8 mediante PytorchAO u Optimum-quanto para reducir el consumo de memoria, aunque esto puede disminuir la velocidad de inferencia.

Funcionalidades

Generación de video a partir de texto con arquitectura de difusión CogVideoX.
Modelo de entrada de 2B parámetros, más ligero que CogVideoX-5B y pensado para compatibilidad y bajo coste.
Soporta inferencia con Diffusers y pesos Safetensors.
Resolución de salida fija: 720 x 480 píxeles.
Duración de video fija de 6 segundos a 8 fotogramas por segundo.
Entrada de prompt en inglés con límite de 226 tokens.
Precisión recomendada FP16; también se mencionan BF16, FP32, FP8 e INT8, sin soporte para INT4.
Cuantización con PytorchAO u Optimum-quanto para reducir memoria en GPU, incluyendo ejecución en GPUs T4 o con menor VRAM.
Licencia Apache 2.0 para CogVideoX-2B, incluyendo sus módulos Transformers y VAE.

Casos de uso

Crear clips cortos de video a partir de descripciones textuales en inglés.
Prototipar productos de generación de video con un modelo más ligero que CogVideoX-5B.
Ejecutar inferencia local con GPUs de VRAM limitada mediante optimizaciones de Diffusers o cuantización INT8.
Experimentar con optimización de prompts, fine-tuning LoRA o desarrollo secundario sobre CogVideoX.
Generar demos visuales, escenas narrativas, animaciones conceptuales o contenido audiovisual breve para investigación y prototipado.