The LQ2VideoLongSVDPipeline is a diffusion pipeline designed to generate video from an input image using Stable Video Diffusion (SVD). It supports various conditioning inputs including reference images, concatenated reference images, and ID prompts.
Key features include:
- Classifier-Free Guidance (CFG): Controlled via
min_guidance_scale and max_guidance_scale. - Noise Augmentation: Use
noise_aug_strength to control how much the output deviates from the input image (higher values increase motion). - Memory Management: Use
decode_chunk_size to decode frames in smaller batches to prevent Out-of-Memory (OOM) errors. - Deterministic Generation: Pass a
torch.Generator to the generator argument.
Returns a LQ2VideoSVDPipelineOutput object containing frames and latents.
from src.pipelines.pipeline import LQ2VideoLongSVDPipeline
# Assuming components (vae, image_encoder, unet, scheduler, feature_extractor) are initialized
pipeline = LQ2VideoLongSVDPipeline(
vae=vae,
image_encoder=image_encoder,
unet=unet,
scheduler=scheduler,
feature_extractor=feature_extractor
)
# Generate video
output = pipeline(
ref_image=my_pil_image,
ref_concat_image=None, # Optional additional reference
id_prompts=id_embeddings_tensor,
task_id_input=task_tensor,
height=512,
width=512,
num_frames=25,
num_inference_steps=25,
min_guidance_scale=1.0,
max_guidance_scale=3.0,
noise_aug_strength=0.02,
decode_chunk_size=8,
output_type="pil"
)
frames = output.frames