import gradio as gr import requests import json import uuid def generate_video(prompt): if not prompt: return None try: # Прямой защищенный сетевой запрос к ИИ-модели без использования библиотек Hugging Face api_url = "https://huggingface.co" headers = { "Content-Type": "application/json" } payload = { "inputs": prompt } response = requests.post(api_url, headers=headers, json=payload, timeout=60) if response.status_code == 200: # Сохраняем сгенерированные ИИ байты видеоролика в MP4 файл output_filename = f"video_{uuid.uuid4().hex[:6]}.mp4" with open(output_filename, "wb") as f: f.write(response.content) return output_filename else: return None except Exception as e: print(f"Ошибка: {e}") return None # Отрисовка интерфейса Gradio with gr.Blocks(theme=gr.themes.Default(primary_hue="indigo", secondary_hue="slate")) as demo: gr.Markdown("# 🎬 Магистерская ИИ-Система: Генерация видео из текста") gr.Markdown("Прямой облачный рендеринг видеороликов на базе моделей машинного обучения.") with gr.Row(): with gr.Column(): input_text = gr.Textbox( label="Введите текстовое описание (на английском)", placeholder="Например: A tank driving on the field, cinematic, high quality..." ) btn = gr.Button("Запустить генерацию видеоролика", variant="primary") with gr.Column(): output_video = gr.Video(label="Результат обработки ИИ") btn.click(fn=generate_video, inputs=input_text, outputs=output_video) demo.launch()