Views
No views yet
1import torch
2from diffusers import AnimateDiffSDXLPipeline
3from diffusers.schedulers import DDIMScheduler, EulerDiscreteScheduler, DEISMultistepScheduler
4from diffusers.models import MotionAdapter
5from diffusers.utils import export_to_gif
6
7model_id = "stabilityai/stable-diffusion-xl-base-1.0"
8adapter = MotionAdapter.from_pretrained("guoyww/animatediff-motion-adapter-sdxl-beta", torch_dtype=torch.float16)
9scheduler = DDIMScheduler.from_pretrained(
10 model_id,
11 subfolder="scheduler",
12 clip_sample=False,
13 timestep_spacing="linspace",
14 beta_schedule="linear",
15 steps_offset=1,
16)
17pipe = AnimateDiffSDXLPipeline.from_pretrained(
18 model_id,
19 motion_adapter=adapter,
20 scheduler=scheduler,
21 torch_dtype=torch.float16,
22 variant="fp16",
23).to("cuda")
24
25# enable memory savings
26pipe.enable_vae_slicing()
27pipe.enable_vae_tiling()
28
29result = pipe(
30 prompt="a panda surfing in the ocean, realistic, hyperrealism, high quality",
31 negative_prompt="low quality, worst quality",
32 num_inference_steps=20,
33 guidance_scale=8,
34 width=1024,
35 height=1024,
36 num_frames=16,
37)
38
39export_to_gif(result.frames[0], "animation.gif")