Rooni commited on
Commit
3a8ce39
·
1 Parent(s): 7304133

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -34
app.py CHANGED
@@ -1,49 +1,58 @@
1
  import gradio as gr
2
- import requests
3
  import os
 
4
 
5
- # Замените "YOUR_MODEL_ENDPOINT_HERE" и "YOUR_BEARER_TOKEN_HERE" на фактический адрес вашей модели Hugging Face и ваш Bearer токен
6
- MODEL_ENDPOINT = os.getenv("BASE_URL")
7
- BEARER_TOKEN = os.getenv("API_KEY")
8
-
9
- def generate_image(prompt, negative_prompt, sampling_steps, cfg_scale, seed):
10
- # Создаем заголовок авторизации Bearer
11
- headers = {"Authorization": f"Bearer {BEARER_TOKEN}"}
12
-
13
- # Отправляем запрос к API модели Hugging Face с использованием введенных параметров и заголовка авторизации
14
- response = requests.post(
15
- MODEL_ENDPOINT,
16
- json={
17
- "prompt": prompt,
18
- "negative_prompt": negative_prompt,
19
- "sampling_steps": sampling_steps,
20
- "cfg_scale": cfg_scale,
21
- "seed": seed
22
- },
23
- headers=headers
24
- )
25
-
26
- # Получаем сгенерированное изображение из ответа API
 
 
27
  generated_image = response.content
28
 
29
  return generated_image
30
 
31
- def generate_on_button_click(prompt, negative_prompt, sampling_steps, cfg_scale, seed):
32
- return generate_image(prompt, negative_prompt, sampling_steps, cfg_scale, seed)
33
-
34
  iface = gr.Interface(
35
- fn=generate_on_button_click,
36
  inputs=[
37
  gr.Textbox("text", label="Prompt"),
38
- gr.Textbox("text", label="Negative Prompt"),
39
- gr.Slider(minimum=1, maximum=30, label="Sampling Steps"),
40
- gr.Slider(minimum=0.1, maximum=2.0, label="CFG Scale"),
41
- gr.Textbox("number", label="Seed (default -1)"),
42
- gr.Button("Generate", generate_on_button_click)
43
  ],
44
- outputs=gr.Image(label="Generated Image"),
45
  live=True,
46
- title="Hugging Face Image Generator"
 
 
 
 
 
 
 
 
 
 
 
 
47
  )
48
 
 
49
  iface.launch()
 
1
  import gradio as gr
 
2
  import os
3
+ import requests
4
 
5
+ # Загрузка переменных окружения
6
+ BASE_URL = os.getenv("BASE_URL")
7
+ API_KEY = os.getenv("API_KEY")
8
+
9
+ # Функция для отправки запроса к модели
10
+ def generate_image(prompt, neg_prompt, sampling_steps, cfg_scale, seed):
11
+ # Подготовка данных для запроса
12
+ data = {
13
+ "prompt": prompt,
14
+ "neg_prompt": neg_prompt,
15
+ "sampling_steps": int(sampling_steps),
16
+ "cfg_scale": int(cfg_scale),
17
+ "seed": int(seed)
18
+ }
19
+
20
+ # Установка заголовков для авторизации с использованием API-ключа
21
+ headers = {
22
+ "Authorization": f"Bearer {API_KEY}"
23
+ }
24
+
25
+ # Отправка запроса к модели
26
+ response = requests.post(BASE_URL, json=data, headers=headers)
27
+
28
+ # Получение сгенерированного изображения
29
  generated_image = response.content
30
 
31
  return generated_image
32
 
33
+ # Определение интерфейса Gradio
 
 
34
  iface = gr.Interface(
35
+ fn=generate_image,
36
  inputs=[
37
  gr.Textbox("text", label="Prompt"),
38
+ gr.Textbox("text", label="Negative Prompt", default=""),
 
 
 
 
39
  ],
40
+ outputs=gr.Image(),
41
  live=True,
42
+ title="Image Generator",
43
+ layout="vertical",
44
+ theme="compact"
45
+ )
46
+
47
+ # Добавление второй вкладки
48
+ iface.add_tab(
49
+ "Advanced Settings",
50
+ [
51
+ gr.Slider(minimum=1, maximum=30, default=1, label="Sampling Steps"),
52
+ gr.Slider(minimum=1, maximum=20, default=1, label="CFG Scale"),
53
+ gr.Number(default=-1, label="Seed")
54
+ ]
55
  )
56
 
57
+ # Запуск веб-приложения
58
  iface.launch()