Spaces:
Running
Running
import streamlit as st | |
from moviepy.editor import * | |
import tempfile, os | |
from transformers import pipeline | |
st.title("Simplified Text-to-Video (No TTS temporarily)") | |
def load_model(): | |
return pipeline('text-to-video-generation', model='cerspense/zeroscope_v2_576w') | |
video_gen = load_model() | |
input_text = st.text_area("Enter short text (max 50 chars):", max_chars=50) | |
if st.button("Generate Video"): | |
if input_text: | |
with st.spinner("Generating video..."): | |
video_output = video_gen(input_text, num_frames=10) | |
video_tensor = video_output["video"] | |
video_np = (video_tensor * 255).astype('uint8') | |
video_filename = tempfile.mktemp(".mp4") | |
clips = [ImageClip(frame).set_duration(0.3) for frame in video_np] | |
final_clip = concatenate_videoclips(clips, method="compose") | |
final_clip.write_videofile(video_filename, fps=5) | |
st.video(video_filename) | |
os.remove(video_filename) | |
else: | |
st.warning("Please enter text.") | |