# app.py - رابط کاربری سازنده ویدیو (نسخه تضمین‌شده) import gradio as gr import tempfile import os # تابع ساده برای تست def create_video_simple(prompt, duration): # ایجاد یک فایل متنی ساده به جای ویدیو temp_dir = tempfile.mkdtemp() output_path = os.path.join(temp_dir, "video_info.txt") with open(output_path, 'w', encoding='utf-8') as f: f.write("🎬 **اطلاعات ویدیو**\n") f.write(f"متن: {prompt}\n") f.write(f"مدت: {duration} ثانیه\n") f.write("\n📋 **وضعیت سیستم:**\n") f.write("✅ رابط کاربری فعال شد\n") f.write("ℹ️ برای ساخت ویدیوی واقعی نیاز به GPU دارید\n") f.write("\n🚀 **راه‌حل:**\n") f.write("1. در Settings → Space hardware\n") f.write("2. GPU Free را انتخاب کنید\n") f.write("3. 5 دقیقه منتظر بمانید\n") f.write("4. سپس مدل دانلود می‌شود\n") message = f""" 🎉 **رابط کاربری با موفقیت راه‌اندازی شد!** 📝 **ورودی شما:** متن: {prompt} مدت: {duration} ثانیه ⚠️ **توجه مهم:** مدل‌های ساخت ویدیو بسیار سنگین هستند (7-12GB) و روی **CPU قابل اجرا نیستند**. 🔧 **برای ساخت ویدیوی واقعی:** 1. به **Settings** این Space بروید 2. **Space hardware** → **GPU Free** انتخاب کنید 3. 5-10 دقیقه منتظر Build شدن بمانید 4. سپس می‌توانید ویدیو بسازید 📞 **اگر نیاز به کمک دارید:** - دکمه ❓ Help در پایین را بزنید - یا مستندات را مطالعه کنید """ return output_path, message # رابط کاربری with gr.Blocks( title="سازنده ویدیو فارسی", theme=gr.themes.Soft(), css=""" .gradio-container { max-width: 800px; margin: auto; } h1 { text-align: center; color: #4a148c; } .success { color: green; } """ ) as demo: gr.Markdown("# 🎬 سازنده ویدیو فارسی") gr.Markdown("### نسخه آزمایشی - نیاز به GPU برای اجرای کامل") with gr.Row(): with gr.Column(): prompt = gr.Textbox( label="📝 متن ویدیو", placeholder="مثال: یک پروانه در حال پرواز...", value="گربه کارتونی", lines=2 ) duration = gr.Slider( minimum=1, maximum=5, value=2, step=1, label="⏱️ مدت (ثانیه)" ) btn = gr.Button( "🚀 ساخت ویدیو نمونه", variant="primary" ) gr.Markdown(""" ### 📖 راهنمای سریع - این نسخه فقط **رابط کاربری** را تست می‌کند - برای ویدیوی واقعی **GPU نیاز است** - در Settings → GPU Free را انتخاب کنید """) with gr.Column(): output_text = gr.Textbox( label="📊 وضعیت", lines=8, interactive=False ) output_file = gr.File( label="📁 خروجی", file_types=[".txt"] ) # مثال‌ها examples = gr.Examples( examples=[ ["یک پروانه رنگارنگ", 2], ["ربات در حال راه رفتن", 2], ["ماهی در آب", 3] ], inputs=[prompt, duration], outputs=[output_file, output_text], fn=create_video_simple, cache_examples=False ) btn.click( fn=create_video_simple, inputs=[prompt, duration], outputs=[output_file, output_text] ) # بخش راهنما with gr.Accordion("❓ راهنمای کامل", open=False): gr.Markdown(""" ## 🛠️ **چرا ویدیو ساخته نمی‌شود؟** **دلیل فنی:** - مدل‌های AI ساخت ویدیو 7-12GB حجم دارند - روی CPU دانلود و اجرا نمی‌شوند - نیاز به حافظه GPU حداقل 16GB دارد **🚀 راه‌حل:** 1. **Settings** → **Space hardware** 2. **GPU** را انتخاب کنید (Free یا Upgrade) 3. 5-10 دقیقه منتظر Build شدن 4. سپس دوباره امتحان کنید ## 📞 **پشتیبانی** - برای سوالات فنی: huggingface.co/docs - یا از من بپرسید! """) # اجرای برنامه if __name__ == "__main__": demo.launch( server_name="0.0.0.0", server_port=7860 )