caokhoi91's picture
Update app.py
1f2a1fb verified
raw
history blame
854 Bytes
import gradio as gr
import torch
from diffusers import StableVideoDiffusionPipeline
from PIL import Image
import requests
from io import BytesIO
import tempfile
# Load pipeline
pipe = StableVideoDiffusionPipeline.from_pretrained(
"stabilityai/stable-video-diffusion-img2vid-xt-1-1",
torch_dtype=torch.float16,
variant="fp16"
).to("cuda")
pipe.enable_model_cpu_offload()
def generate_video(image_url):
image = Image.open(BytesIO(requests.get(image_url).content)).resize((1024, 576))
result = pipe(image, decode_chunk_size=8, generator=torch.manual_seed(42)).frames[0]
temp = tempfile.NamedTemporaryFile(suffix=".mp4", delete=False)
result.save(temp.name, fps=7)
return temp.name
demo = gr.Interface(
fn=generate_video,
inputs=gr.Text(label="Image URL"),
outputs=gr.Video()
)
demo.launch()
# trigger rebuild