Spaces:
Runtime error
Runtime error
| import os | |
| import gradio as gr | |
| import datetime | |
| from gtts import gTTS | |
| from moviepy.editor import ImageClip, AudioFileClip | |
| def generate_image(prompt): | |
| return f"🖼️ Image generated for: {prompt}" | |
| def generate_video(prompt, duration): | |
| img_path = "temp.jpg" | |
| with open(img_path, "wb") as f: | |
| f.write(b"\x00") # placeholder image | |
| tts = gTTS(text=prompt, lang="en") | |
| audio_path = "speech.mp3" | |
| tts.save(audio_path) | |
| img_clip = ImageClip(img_path, duration=duration) | |
| audio_clip = AudioFileClip(audio_path) | |
| img_clip = img_clip.set_audio(audio_clip) | |
| video_path = "output.mp4" | |
| img_clip.write_videofile(video_path, fps=24) | |
| return video_path | |
| def process_request(prompt, duration, request: gr.Request): | |
| img = generate_image(prompt) | |
| vid = generate_video(prompt, duration) | |
| return vid, img, f"🎥 Public mode (no limits in backup)." | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# 🎬 Backup App – Video Generator with Narration") | |
| prompt = gr.Textbox(label="Prompt (Journal Text)") | |
| duration = gr.Slider(5, 60, value=10, step=1, label="Duration (seconds)") | |
| btn = gr.Button("Generate Video") | |
| output_vid = gr.Video() | |
| output_img = gr.Textbox() | |
| status = gr.Markdown() | |
| btn.click(process_request, [prompt, duration], [output_vid, output_img, status]) | |
| demo.launch() |