Rooni commited on
Commit
716be81
·
1 Parent(s): 75d0567

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -40
app.py CHANGED
@@ -2,14 +2,14 @@ import gradio as gr
2
  import requests
3
  import os
4
 
5
- # Замените URL и API_KEY на ваши значения
6
- BASE_URL = os.getenv("BASE_URL")
7
- API_KEY = os.getenv("API_KEY")
8
-
9
- # Функция для выполнения запроса к Inference API
10
  def generate_image(prompt, negative_prompt, sampling_steps, cfg_scale, seed):
11
- url = f"{BASE_URL}/generate"
12
- headers = {"Authorization": f"Bearer {API_KEY}"}
 
 
 
 
13
 
14
  data = {
15
  "prompt": prompt,
@@ -20,40 +20,29 @@ def generate_image(prompt, negative_prompt, sampling_steps, cfg_scale, seed):
20
  }
21
 
22
  response = requests.post(url, headers=headers, json=data)
 
 
23
 
24
- # Обработка ответа и возврат сгенерированного изображения
25
- if response.status_code == 200:
26
- generated_image = response.json()["image"]
27
- return generated_image
28
- else:
29
- return "Ошибка при генерации изображения"
30
 
31
- # Определение интерфейса Gradio
32
- iface = gr.Interface(
33
- fn=generate_image,
34
- inputs=[
35
- gr.Textbox("text", label="Prompt", default=""),
36
- gr.Textbox("text", label="Negative Prompt", default=""),
37
- ],
38
- outputs=gr.Image(label="Generated Image"),
39
- live=True,
40
- layout="vertical",
41
- title="Huggingface Image Generator",
42
- description="Генератор изображений с использованием Huggingface Inference API",
43
- theme="default"
44
- )
45
 
46
- # Добавление второй вкладки
47
- cfg_tab = gr.Tab(
48
- gr.Row(
49
- gr.Slider(minimum=1, maximum=30, default=15, label="Sampling Steps", key="sampling_steps"),
50
- gr.Slider(minimum=1, maximum=20, default=10, label="CFG Scale", key="cfg_scale"),
51
- gr.Textbox("text", label="Seed", default="-1", key="seed"),
52
- gr.Button("Сгенерировать", key="generate_button")
53
- )
54
- )
55
 
56
- iface.add_tab("Advanced Settings", cfg_tab)
57
-
58
- # Запуск приложения
59
- iface.launch()
 
 
 
 
 
 
2
  import requests
3
  import os
4
 
5
+ # Функция для вызова Inference API модели
 
 
 
 
6
  def generate_image(prompt, negative_prompt, sampling_steps, cfg_scale, seed):
7
+ url = os.getenv("BASE_URL")
8
+ api_key = os.getenv("API_KEY")
9
+
10
+ headers = {
11
+ "Authorization": f"Bearer {api_key}"
12
+ }
13
 
14
  data = {
15
  "prompt": prompt,
 
20
  }
21
 
22
  response = requests.post(url, headers=headers, json=data)
23
+ generated_image = response.content # Получаем изображение из ответа API
24
+ return generated_image
25
 
26
+ # Создание интерфейса Gradio
27
+ inputs_tab1 = [
28
+ gr.inputs.Textbox(label="Prompt", lines=3),
29
+ gr.inputs.Textbox(label="Negative Prompt", lines=3)
30
+ ]
 
31
 
32
+ inputs_tab2 = [
33
+ gr.inputs.Slider(1, 30, default=1, label="Sampling Steps", step=1),
34
+ gr.inputs.Slider(1, 20, default=1, label="CFG Scale", step=1),
35
+ gr.inputs.Number(default=-1, label="Seed")
36
+ ]
 
 
 
 
 
 
 
 
 
37
 
38
+ outputs = gr.outputs.Image(label="Generated Image")
 
 
 
 
 
 
 
 
39
 
40
+ gr.Interface(
41
+ fn=generate_image,
42
+ inputs=[inputs_tab1, inputs_tab2],
43
+ outputs=outputs,
44
+ title="HuggingFace Image Generator",
45
+ allow_flagging=False, # Отключаем возможность пометить результат
46
+ theme="compact", # Выбираем компактную тему интерфейса
47
+ server_name="gradio.app"
48
+ ).launch()