import gradio as gr import os import requests # Загрузка переменных окружения BASE_URL = os.getenv("BASE_URL") API_KEY = os.getenv("API_KEY") # Функция для отправки запроса к модели def generate_image(prompt, neg_prompt, sampling_steps, cfg_scale, seed): # Подготовка данных для запроса data = { "prompt": prompt, "neg_prompt": neg_prompt, "sampling_steps": int(sampling_steps), "cfg_scale": int(cfg_scale), "seed": int(seed) } # Установка заголовков для авторизации с использованием API-ключа headers = { "Authorization": f"Bearer {API_KEY}" } # Отправка запроса к модели response = requests.post(BASE_URL, json=data, headers=headers) # Получение сгенерированного изображения generated_image = response.content return generated_image # Определение интерфейса Gradio iface = gr.Interface( fn=generate_image, inputs=[ gr.Textbox("text", label="Prompt"), gr.Textbox("text", label="Negative Prompt"), ], outputs=gr.Image(), live=True, title="Image Generator", layout="vertical", theme="compact" ) # Добавление второй вкладки iface.add_tab( "Advanced Settings", [ gr.Slider(minimum=1, maximum=30, default=1, label="Sampling Steps"), gr.Slider(minimum=1, maximum=20, default=1, label="CFG Scale"), gr.Number(default=-1, label="Seed") ] ) # Запуск веб-приложения iface.launch()