| from diffsynth import ModelManager, SDImagePipeline, SDVideoPipeline, ControlNetConfigUnit, VideoData, save_video, save_frames |
| from diffsynth.extensions.RIFE import RIFEInterpolater |
| import torch |
|
|
|
|
| |
| |
| |
| |
|
|
|
|
| |
| model_manager = ModelManager(torch_dtype=torch.float16, device="cuda") |
| model_manager.load_models([ |
| "models/stable_diffusion/dreamshaper_8.safetensors", |
| "models/AnimateDiff/mm_sd_v15_v2.ckpt", |
| "models/RIFE/flownet.pkl" |
| ]) |
|
|
| |
| pipe_image = SDImagePipeline.from_model_manager(model_manager) |
| torch.manual_seed(0) |
| image = pipe_image( |
| prompt = "lightning storm, sea", |
| negative_prompt = "", |
| cfg_scale=7.5, |
| num_inference_steps=30, height=512, width=768, |
| ) |
|
|
| |
| pipe = SDVideoPipeline.from_model_manager(model_manager) |
| output_video = pipe( |
| prompt = "lightning storm, sea", |
| negative_prompt = "", |
| cfg_scale=7.5, |
| num_frames=64, |
| num_inference_steps=10, height=512, width=768, |
| animatediff_batch_size=16, animatediff_stride=1, input_frames=[image]*64, denoising_strength=0.9, |
| vram_limit_level=0, |
| ) |
|
|
| |
| interpolater = RIFEInterpolater.from_model_manager(model_manager) |
| output_video = interpolater.interpolate(output_video, num_iter=3) |
|
|
| |
| save_video(output_video, "output_video.mp4", fps=120) |
|
|