Files
hao-ai-lab-FastVideo/docs/source/getting_started/quick_start.md
T

4.1 KiB

Quick Start

This page contains instructions and code to get you quickly started with video generation using FastVideo.

Requirements

  • OS: Linux
  • Python: 3.10-3.12
  • CUDA 12.4
  • At least 1 NVIDIA GPU

Installation

We recommend using a environment manager such as Conda.

pip install fastvideo

Also see the Installation Guide.

Generating Your First Video

Here's a minimal example to generate a video using the default settings. All of the following code snippets can be directly copied into a Python file and executed with

python example.py
from fastvideo import VideoGenerator

def main():
    # Create a video generator with a pre-trained model
    generator = VideoGenerator.from_pretrained(
        "Wan-AI/Wan2.1-T2V-1.3B-Diffusers",
        num_gpus=1,  # Adjust based on your hardware
    )

    # Define a prompt for your video
    prompt = "A curious raccoon peers through a vibrant field of yellow sunflowers, its eyes wide with interest."

    # Generate the video
    video = generator.generate_video(prompt)
if __name__ == '__main__':
    main()

The generated video will be saved in the current directory under outputs/ by default.

Customizing Generation

You can customize various parameters when generating videos:

from fastvideo import VideoGenerator, SamplingParam

def main():
    # Create the generator
    generator = VideoGenerator.from_pretrained(
        "Wan-AI/Wan2.1-T2V-1.3B-Diffusers",
        num_gpus=1,
    )

    # Create and customize sampling parameters
    sampling_param = SamplingParam.from_pretrained("Wan-AI/Wan2.1-T2V-1.3B-Diffusers")
    # How many frames to generate
    sampling_param.num_frames = 45
    # How many steps we denoise the video
    sampling_param.num_inference_steps = 30
    # How strongly does the video to conform to the prompt
    sampling_param.guidance_scale = 7.5

    # Optional: provide an initial image for image-to-video generation
    sampling_param.image_path = "path/to/your/image.jpg"  # Optional

    # Generate video with custom parameters
    prompt = "A beautiful sunset over a calm ocean, with gentle waves."
    video = generator.generate_video(
        prompt, 
        sampling_param=sampling_param, 
        output_path="my_videos/", # controls where videos are saved
        return_frames=True # also return frames from this call (defaults to False)
    )

    # `video` now contains frames
if __name__ == '__main__':
    main()

Available Models

FastVideo supports various models for text-to-video generation:

  • Wan-AI/Wan2.1-T2V-1.3B-Diffusers - A popular text-to-video model
  • FastVideo/FastHunyuan-Diffusers - A high-performance model for video generation

Advanced Configuration

You can use PipelineConfig for more advanced customization:

from fastvideo import VideoGenerator, PipelineConfig

# Load the default configuration for a model
config = PipelineConfig.from_pretrained("Wan-AI/Wan2.1-T2V-1.3B-Diffusers")

# Modify configuration settings
config.vae_config.scale_factor = 16
config.vae_config.precision = "fp16"

# Create generator with custom config
generator = VideoGenerator.from_pretrained(
    "Wan-AI/Wan2.1-T2V-1.3B-Diffusers",
    num_gpus=4,
    pipeline_config=config,
)

# Generate video
prompt = "A futuristic cityscape with flying cars and neon signs."
video = generator.generate_video(prompt)

Multi-GPU Setup

FastVideo automatically handles distributed setup when multiple GPUs are specified:

generator = VideoGenerator.from_pretrained(
    "Wan-AI/Wan2.1-T2V-1.3B-Diffusers",
    num_gpus=4,  # Will use 4 GPUs in parallel
)

Hardware Requirements

  • Basic Inference: Minimum 20GB VRAM for quantized models (e.g., single RTX 4090)
  • LoRA Finetuning: 40GB GPU memory each for 2 GPUs with LoRA
  • Full Finetuning/Distillation: Multiple high-memory GPUs recommended (e.g., H100)

Next Steps