4.1 KiB
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 modelFastVideo/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
- Explore the API Reference for more details
- Learn about Advanced Inference Options
- See Examples for more usage scenarios