genmo/mochi-1-preview

genmo
Texto a video

Mochi 1 Preview es un modelo abierto de generación de video a partir de texto desarrollado por Genmo. Está diseñado para producir movimiento de alta fidelidad y seguir prompts con fuerza, acercando la calidad de los sistemas abiertos a la de modelos cerrados de video generativo. Usa una arquitectura Asymmetric Diffusion Transformer de 10.000 millones de parámetros y se publica bajo licencia Apache 2.0.

Como usar

Instalación desde el repositorio de Genmo:

git clone https://github.com/genmoai/models
cd models
pip install uv
uv venv .venv
source .venv/bin/activate
uv pip install setuptools
uv pip install -e . --no-build-isolation

Para instalar Flash Attention:

uv pip install -e .[flash] --no-build-isolation

Ejecutar la interfaz Gradio:

python3 ./demos/gradio_ui.py --model_dir ""

Generar videos desde CLI:

python3 ./demos/cli.py --model_dir ""

Uso programático con la API de Genmo:

from genmo.mochi_preview.pipelines import (
    DecoderModelFactory,
    DitModelFactory,
    MochiSingleGPUPipeline,
    T5ModelFactory,
    linear_quadratic_schedule,
)

pipeline = MochiSingleGPUPipeline(
    text_encoder_factory=T5ModelFactory(),
    dit_factory=DitModelFactory(
        model_path=f"{MOCHI_DIR}/dit.safetensors",
        model_dtype="bf16"),
    decoder_factory=DecoderModelFactory(
        model_path=f"{MOCHI_DIR}/vae.safetensors",
    ),
    cpu_offload=True,
    decode_type="tiled_full",
)

video = pipeline(
    height=480,
    width=848,
    num_frames=31,
    num_inference_steps=64,
    sigma_schedule=linear_quadratic_schedule(64, 0.025),
    cfg_schedule=[4.5] * 64,
    batch_cfg=False,
    prompt="your favorite prompt here ...",
    negative_prompt="",
    seed=12345,
)

Uso con Diffusers:

pip install git+https://github.com/huggingface/diffusers.git
import torch
from diffusers import MochiPipeline
from diffusers.utils import export_to_video

pipe = MochiPipeline.from_pretrained("genmo/mochi-1-preview")
pipe.enable_model_cpu_offload()
pipe.enable_vae_tiling()

prompt = "Close-up of a chameleon's eye, with its scaly skin changing color. Ultra high resolution 4k."

with torch.autocast("cuda", torch.bfloat16, cache_enabled=False):
    frames = pipe(prompt, num_frames=84).frames[0]

export_to_video(frames, "mochi.mp4", fps=30)

Variante bf16 para ahorrar memoria:

import torch
from diffusers import MochiPipeline
from diffusers.utils import export_to_video

pipe = MochiPipeline.from_pretrained(
    "genmo/mochi-1-preview",
    variant="bf16",
    torch_dtype=torch.bfloat16
)
pipe.enable_model_cpu_offload()
pipe.enable_vae_tiling()

prompt = "Close-up of a chameleon's eye, with its scaly skin changing color. Ultra high resolution 4k."
frames = pipe(prompt, num_frames=84).frames[0]
export_to_video(frames, "mochi.mp4", fps=30)

Funcionalidades

Generación texto-a-video con fuerte adherencia al prompt.
Modelo de difusión de 10B parámetros basado en AsymmDiT.
Optimizado para estilos fotorealistas y videos iniciales a 480p.
AsymmVAE abierto para compresión de video eficiente: compresión espacial 8x8 y temporal 6x hacia un espacio latente de 12 canales.
Compatible con ejecución mediante el repositorio de Genmo, API programática, CLI, interfaz Gradio y Diffusers.
Licencia permisiva Apache 2.0.
Soporta variantes de menor precisión bf16 para reducir memoria, con una ligera pérdida de calidad.

Casos de uso

Crear videos fotorealistas a partir de descripciones textuales.
Investigar arquitecturas abiertas de generación de video con difusión.
Prototipar flujos de texto-a-video en aplicaciones, notebooks o interfaces Gradio.
Generar clips cortos para experimentos creativos, demos de IA o pipelines multimedia.
Evaluar y ajustar modelos abiertos de video generativo bajo una licencia permisiva.