Model reference · open weights

text-to-video-ms-legacy

Video ali-vilab Text→video 1 build Non-commercial 47 dl/mo

text-to-video-ms-legacy is an open-weight video model from ali-vilab. text-to-video-ms-1.7b-legacy (FP32) weighs 3.7 GB; the smallest configuration that runs it is RTX 3060 12 GB.

  • text-to-video-ms-legacy is a diffusion-based model developed by ali-vilab that generates videos from English text descriptions.
  • It features approximately 1.7 billion parameters and uses a UNet3D structure to create video content through iterative denoising.
  • The model is licensed under CC-BY-NC-4.0 and is intended for research purposes.

Summary of the ali-vilab/text-to-video-ms-1.7b-legacy model card, 2026-10-01

What it is

Released byali-vilab
Released2023-03-22
Parameters1.4B
VRAM3.7 GB for the weights

What it runs on

Memory and cards for text-to-video-ms-1.7b-legacy (FP32)

3.7 GBweights, file size
2.8 GBbiggest part
537 MBruntime overhead
CardWeightsMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

From the model card

What ali-vilab says about text-to-video-ms-legacy

Read the model card

This model is based on a multi-stage text-to-video generation diffusion model, which inputs a description text and returns a video that matches the text description. Only English input is supported.

Model description

The text-to-video generation diffusion model consists of three sub-networks: text feature extraction model, text feature-to-video latent space diffusion model, and video latent space to video visual space model. The overall model parameters are about 1.7 billion. Currently, it only supports English input. The diffusion model adopts a UNet3D structure, and implements video generation through the iterative denoising process from the pure Gaussian noise video.

This model is meant for research purposes. Please look at the model limitations and biases and misuse, malicious use and excessive use sections.

Model Details

Use cases

This model has a wide range of applications, and can reason and generate videos based on arbitrary English text descriptions.

Usage

Let's first install the libraries required:

$ pip install git+https://github.com/huggingface/diffusers transformers accelerate

Now, generate a video:

import torch
from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
from diffusers.utils import export_to_video

pipe = DiffusionPipeline.from_pretrained("damo-vilab/text-to-video-ms-1.7b-legacy", torch_dtype=torch.float16)
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe.enable_model_cpu_offload()

prompt = "Spiderman is surfing"
video_frames = pipe(prompt, num_inference_steps=25).frames
video_path = export_to_video(video_frames)

Here are some results:

    An astronaut riding a horse.
        alt="An astronaut riding a horse."
        style="width: 300px;" />
    Darth vader surfing in waves.
        alt="Darth vader surfing in waves."
        style="width: 300px;" />

Long Video Generation

You can optimize for memory usage by enabling attention and VAE slicing and using Torch 2.0. This should allow you to generate videos up to 25 seconds on less than 16GB of GPU VRAM.

$ pip install diffusers transformers accelerate transformers accelerate
import torch
from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
from diffusers.utils import export_to_video

# load pipeline
pipe = DiffusionPipeline.from_pretrained("damo-vilab/text-to-video-ms-1.7b", torch_dtype=torch.float16, variant="fp16")
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)

# optimize for GPU memory
pipe.enable_model_cpu_offload()
pipe.enable_vae_slicing()

# generate
prompt = Spiderman is surfing. Darth Vader is also surfing and following Spiderman"
video_frames = pipe(prompt, num_inference_steps=25, num_frames=200).frames

# convent to video
video_path = export_to_video(video_frames)

View results

The above code will display the save path of the output video, and the current encoding format can be played with VLC player.

The output mp4 file can be viewed by VLC media player. Some other media players may not view it normally.

Model limitations and biases

  • The model is trained based on public data sets such as Webvid, and the generated results may have deviations related to the distribution of training data.
  • This model cannot achieve perfect film and television quality generation.
  • The model cannot generate clear text.
  • The model is mainly trained with English corpus and does not support other languages ​​at the moment**.
  • The performance of this model needs to be improved on complex compositional generation tasks.

Misuse, Malicious Use and Excessive Use

  • The model was not trained to realistically represent people or events, so using it to generate such content is beyond the model's capabilities.
  • It is prohibited to generate content that is demeaning or harmful to people or their environment, culture, religion, etc.
  • Prohibited for pornographic, violent and bloody content generation.
  • Prohibited for error and false information generation.

Training data

The training data includes LAION5B, ImageNet, Webvid and other public datasets. Image and video filtering is performed after pre-training such as aesthetic score, watermark score, and deduplication.

(Part of this model card has been taken from here)

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

Running it yourself

Run it on a rented GPU

Rent a machine by the hour. Runs as it is with diffusers, on the machine, in Python.

# on your rented machine: pip install diffusers transformers accelerate ftfy
import torch
from diffusers import DiffusionPipeline
from diffusers.utils import export_to_video

pipe = DiffusionPipeline.from_pretrained("ali-vilab/text-to-video-ms-1.7b-legacy", torch_dtype=torch.bfloat16).to("cuda")
frames = pipe(prompt="a drone shot over a forest at sunrise").frames[0]
export_to_video(frames, "/workspace/out.mp4", fps=16)
Renting a GPU: connect, tunnels, Python
© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms