File size: 1,749 Bytes
0176c0d
af10332
3a8ce39
af10332
0176c0d
3a8ce39
 
 
0176c0d
43b1092
0176c0d
 
 
 
 
 
 
 
 
70ba535
0176c0d
 
 
 
 
 
 
 
70ba535
0176c0d
af10332
3a8ce39
af10332
a89d517
 
af10332
0176c0d
af10332
0176c0d
 
 
 
 
 
 
a89d517
 
 
0176c0d
 
 
3a8ce39
 
0176c0d
 
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
import os
import gradio as gr
import requests

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

# Функция для отправки запроса к API модели
def generate_image(prompt, negative_prompt, sampling_steps, cfg_scale, seed):
    headers = {"Authorization": f"Bearer {API_KEY}"}
    
    # Параметры для запроса
    params = {
        "prompt": prompt,
        "negative_prompt": negative_prompt,
        "sampling_steps": int(sampling_steps),
        "cfg_scale": int(cfg_scale),
        "seed": int(seed)
    }
    
    # Отправка запроса к API модели
    response = requests.post(BASE_URL, headers=headers, json=params)
    
    # Получение сгенерированного изображения
    generated_image = response.content
    
    return generated_image

# Определение интерфейса Gradio
iface = gr.Interface(
    fn=generate_image,
    inputs=[
        gr.Textbox(default="Prompt"),
        gr.Textbox(default="Negative Prompt"),
    ],
    outputs=gr.Image(type="pil"),
    live=True,
    layout="vertical",
    title="Hugging Face Image Generator",
    description="Generate images using Hugging Face Inference API.",
    theme="compact",
    tabs=[
        "Prompt Input",
        [
            gr.Slider(minimum=1, maximum=30, step=1, default=15, label="Sampling Steps"),
            gr.Slider(minimum=1, maximum=20, step=1, default=10, label="CFG Scale"),
            gr.Textbox(default="-1", label="Seed"),
        ]
    ],
    interpretation="default"
)

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