File size: 1,817 Bytes
af10332
d985dfc
3a8ce39
af10332
3a8ce39
 
 
 
 
1f2d149
3a8ce39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
af10332
 
 
 
3a8ce39
af10332
3a8ce39
af10332
 
b145ab0
653aaf2
 
 
af10332
3a8ce39
af10332
3a8ce39
ac7f052
 
 
 
 
 
 
 
 
 
 
 
3a8ce39
 
 
af10332
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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=1, cfg_scale=1, seed=-1):
    # Подготовка данных для запроса
    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"),
        gr.Slider(1, 30, 1, label="Sampling Steps"),
        gr.Slider(1, 20, 1, label="CFG Scale"),
        gr.Number(label="Seed")
    ],
    outputs=gr.Image(),
    live=True,
    title="Image Generator",
    theme="compact",
    interpretation="default",
    allow_flagging=False,
    allow_screenshot=False,
    allow_download=False,
    allow_duplicate=False,
    show_input=True,
    show_output=True,
    show_interpretation=True,
    show_flag=False,
    show_screenshot=False,
    show_download=False
)

# Запуск веб-приложения
iface.launch()