gradio edge-tts moviepy==1.0.3 import gradio as gr import edge_tts import asyncio from moviepy.editor import AudioFileClip, ColorClip import os # دالة توليد الصوت (تعمل في الخلفية بقوة السيرفر) async def generate_audio(text, voice): audio_path = "temp_audio.mp3" communicate = edge_tts.Communicate(text, voice) await communicate.save(audio_path) return audio_path # دالة المونتاج وتوليد الفيديو def generate_video(text): if not text.strip(): return None, "الرجاء إدخال فكرة الفيديو!" try: # 1. توليد الصوت voice_choice = "ar-EG-SalmaNeural" # صوت عربي audio_path = asyncio.run(generate_audio(text, voice_choice)) # 2. المونتاج (صنع الفيديو) audio_clip = AudioFileClip(audio_path) # إنشاء خلفية فيديو زرقاء كبداية (في المستقبل سنربطها بصور حقيقية) video_clip = ColorClip(size=(1080, 1920), color=(15, 32, 39), duration=audio_clip.duration) final_clip = video_clip.set_audio(audio_clip) video_path = "output_video.mp4" final_clip.write_videofile(video_path, fps=24, codec="libx264", audio_codec="aac") return video_path, "✅ تم توليد الفيديو بنجاح بقوة السيرفر السحابي!" except Exception as e: return None, f"حدث خطأ: {str(e)}" # تصميم واجهة الموقع with gr.Blocks(theme=gr.themes.Monochrome()) as demo: gr.Markdown("