|
from diffusers import StableDiffusionPipeline |
|
import os |
|
import ffmpeg |
|
|
|
model = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4") |
|
|
|
def generate_video(prompt): |
|
frames = [] |
|
for i in range(10): |
|
image = model(prompt).images[0] |
|
frame_path = f"frame_{i}.png" |
|
image.save(frame_path) |
|
frames.append(frame_path) |
|
|
|
output_video = "output.mp4" |
|
( |
|
ffmpeg |
|
.input("frame_%d.png", framerate=1) |
|
.output(output_video) |
|
.run(overwrite_output=True) |
|
) |
|
|
|
|
|
for frame in frames: |
|
os.remove(frame) |
|
|
|
return output_video |