File size: 1,880 Bytes
af10332
3a8ce39
75d0567
af10332
a5b71c1
 
 
 
 
43b1092
716be81
 
 
75d0567
a5b71c1
0176c0d
 
75d0567
 
 
70ba535
75d0567
a5b71c1
70ba535
a5b71c1
 
75d0567
a5b71c1
3a8ce39
0de51f5
 
 
 
a5b71c1
 
716be81
a5b71c1
067a650
 
a5b71c1
 
 
0de51f5
a5b71c1
 
 
 
 
 
 
 
 
 
 
067a650
a5b71c1
 
 
 
 
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
import gradio as gr
import requests
import os

# Получаем URL и API Key из переменных окружения
base_url = os.getenv("BASE_URL")
api_key = os.getenv("API_KEY")

# Функция для отправки запроса к модели
def generate_image(prompt, negative_prompt, sampling_steps, cfg_scale, seed):
    headers = {
        "Authorization": f"Bearer {api_key}"
    }

    payload = {
        "prompt": prompt,
        "negative_prompt": negative_prompt,
        "sampling_steps": sampling_steps,
        "cfg_scale": cfg_scale,
        "seed": seed
    }

    response = requests.post(base_url, json=payload, headers=headers)

    # Предположим, что модель возвращает изображение в виде байтов
    generated_image_bytes = response.content

    return generated_image_bytes

# Функция для обработки действия при нажатии кнопки
def download_image(bytes):
    gr.download(bytes, "generated_image.png")

# Создаем интерфейс Gradio
iface = gr.Interface(
    fn=generate_image,
    inputs=[
        gr.Textbox(label="Prompt", placeholder="Enter prompt here"),
        gr.Textbox(label="Negative Prompt", placeholder="Enter negative prompt here")
    ],
    outputs=[
        gr.Image(type="pil", label="Generated Image"),
        gr.Button("Download Image", action=download_image)
    ],
    live=True,
    title="Huggingface Image Generator"
)

# Добавляем вторую вкладку
iface.add_tab(
    "Advanced Settings",
    [
        gr.Slider(minimum=1, maximum=30, label="Sampling Steps", default=15),
        gr.Slider(minimum=1, maximum=20, label="CFG Scale", default=10),
        gr.Textbox(label="Seed", placeholder="Enter seed here", default="-1")
    ]
)

# Запускаем интерфейс
iface.launch()