File size: 1,062 Bytes
9ef21f1
 
 
fe80cd3
9ef21f1
2e73b02
9ef21f1
 
fe80cd3
2e73b02
f81fa21
fe80cd3
f81fa21
fe80cd3
f81fa21
fe80cd3
 
 
 
 
 
f81fa21
fe80cd3
 
 
 
f81fa21
fe80cd3
f81fa21
fe80cd3
 
 
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
import streamlit as st
from moviepy.editor import *
import tempfile, os
from transformers import pipeline

st.title("Simplified Text-to-Video (No TTS temporarily)")

@st.cache_resource()
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.")