import gradio as gr import requests import os import io from PIL import Image # API ссылка url = os.getenv("URL") key = os.getenv("KEY") # Функция для отправки запроса def render(prompt, negative_prompt, output_format, output_size, style, lighting, background, camera_position, camera_angle): headers = {"Authorization": f"Bearer {key}"} data = { "key": "your_api_key", "model_id": "realistic-vision-51", "prompt": prompt, "negative_prompt": negative_prompt, "width": "512", "height": "512", "samples": "1", "num_inference_steps": "30", "safety_checker": "no", "enhance_prompt": "yes", "seed": None, "guidance_scale": 7.5, "multi_lingual": "no", "panorama": "no", "self_attention": "no", "upscale": "no", "embeddings": "embeddings_model_id", "lora": "lora_model_id", "webhook": None, "track_id": None, } response = requests.post(url, headers=headers, json=data) if response.status_code == 200: return response.content image = Image.open(io.BytesIO(response.content)) else: return None # UI gr.Interface( render, inputs=[ gr.Textbox(placeholder="Введите описание изображения"), gr.Textbox(placeholder="Введите отрицательный образ"), gr.Dropdown(["png", "jpg", "webp", "gif"]), gr.Dropdown(["256x256", "512x512", "1024x1024", "2048x2048"]), gr.Dropdown(["photorealistic", "cartoon", "anime", "sketch", "painting"]), gr.Dropdown(["natural", "studio", "night", "random"]), gr.Dropdown(["white", "black", "random"]), gr.Dropdown(["front", "top", "side"]), gr.Dropdown(["0", "45", "90"]), ], outputs=gr.Image() ).launch()