Spaces:
Runtime error
Runtime error
File size: 1,713 Bytes
9499791 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
import gradio as gr
from diffusers import StableVideoDiffusionPipeline, StableDiffusionPipeline
from PIL import Image
from gtts import gTTS
from moviepy.editor import ImageSequenceClip, AudioFileClip
from moviepy.audio.AudioClip import CompositeAudioClip
import torch, os
pipe_img = StableDiffusionPipeline.from_pretrained(
"dreamlike-art/dreamlike-photoreal-2.0", torch_dtype=torch.float16
).to("cuda")
pipe_vid = StableVideoDiffusionPipeline.from_pretrained(
"stabilityai/stable-video-diffusion-img2vid-xt", torch_dtype=torch.float16, variant="fp16"
).to("cuda")
os.makedirs("bgm_samples", exist_ok=True)
os.system("wget -q -nc -O bgm_samples/calm.mp3 https://github.com/mekarpeles/sample-audio/raw/main/calming.mp3")
def generate(prompt, lang):
image = pipe_img(prompt, height=512, width=896).images[0]
image.save("input.png")
frames = pipe_vid(Image.open("input.png")).frames
clip = ImageSequenceClip(frames, fps=6)
tts = gTTS(text=prompt, lang=lang)
tts.save("voice.mp3")
music = AudioFileClip("bgm_samples/calm.mp3").subclip(0, clip.duration)
voice = AudioFileClip("voice.mp3").set_duration(clip.duration)
audio = CompositeAudioClip([music.volumex(0.3), voice])
clip = clip.set_audio(audio)
clip.write_videofile("output.mp4", codec="libx264", audio_codec="aac")
return "output.mp4"
demo = gr.Interface(
fn=generate,
inputs=[gr.Textbox(label="Prompt"), gr.Dropdown(["vi", "en", "ja", "ko"], label="Language", value="vi")],
outputs=gr.Video(label="🎬 Video kết quả"),
title="Prompt2Video",
description="Tạo video AI từ prompt với hình ảnh, chuyển động, giọng đọc và nhạc nền."
)
demo.launch()
|