DamarJati commited on
Commit
58e7d79
·
verified ·
1 Parent(s): ce640b1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +52 -27
app.py CHANGED
@@ -4,58 +4,83 @@ import gradio as gr
4
  models = ["Model A", "Model B", "Model C"]
5
  controlnet_types = ["Canny", "Depth", "Normal", "Pose"]
6
 
 
7
  def load_model(selected_model):
8
- # Logika untuk memuat model berdasarkan pilihan
9
  return f"Model {selected_model} telah dimuat."
10
 
11
- def generate_image(prompt, model):
12
  # Logika untuk menghasilkan gambar dari teks menggunakan model
13
- return f"Gambar untuk prompt '{prompt}' dengan model '{model}'"
14
 
15
- def process_image(image, controlnet_type):
 
 
 
 
16
  # Logika untuk memproses gambar menggunakan ControlNet
17
- return f"Proses gambar dengan tipe ControlNet '{controlnet_type}'"
18
 
19
  with gr.Blocks() as app:
 
 
 
 
 
20
  with gr.Tab("Text-to-Image"):
21
  with gr.Row():
22
- model_dropdown = gr.Dropdown(choices=models, label="Pilih Model")
23
- prompt_input = gr.Textbox(label="Prompt")
24
- generate_button = gr.Button("Generate")
 
 
 
 
 
 
 
 
 
25
 
26
- output_image = gr.Image(label="Hasil Gambar")
27
-
28
- def update_image(prompt, model):
29
  # Update fungsi sesuai kebutuhan
30
- return generate_image(prompt, model)
31
 
32
- generate_button.click(fn=update_image, inputs=[prompt_input, model_dropdown], outputs=output_image)
33
 
 
34
  with gr.Tab("Image-to-Image"):
35
  with gr.Row():
36
- image_input = gr.Image(label="Unggah Gambar")
37
- image_output = gr.Image(label="Hasil Gambar")
38
- image_button = gr.Button("Proses Gambar")
 
 
 
 
 
39
 
40
- def process_image_func(image):
41
  # Update fungsi sesuai kebutuhan
42
- return f"Proses gambar yang diunggah"
43
 
44
- image_button.click(fn=process_image_func, inputs=image_input, outputs=image_output)
45
 
 
46
  with gr.Tab("ControlNet"):
47
  with gr.Row():
48
- controlnet_dropdown = gr.Dropdown(choices=controlnet_types, label="Pilih Tipe ControlNet")
49
- controlnet_image_input = gr.Image(label="Unggah Gambar untuk ControlNet")
50
- controlnet_button = gr.Button("Proses dengan ControlNet")
51
-
52
- controlnet_output_image = gr.Image(label="Hasil ControlNet")
 
 
53
 
54
- def controlnet_process_func(image, controlnet_type):
55
  # Update fungsi sesuai kebutuhan
56
- return process_image(image, controlnet_type)
57
 
58
- controlnet_button.click(fn=controlnet_process_func, inputs=[controlnet_image_input, controlnet_dropdown], outputs=controlnet_output_image)
59
 
60
  # Jalankan antarmuka
61
  app.launch()
 
4
  models = ["Model A", "Model B", "Model C"]
5
  controlnet_types = ["Canny", "Depth", "Normal", "Pose"]
6
 
7
+ # Fungsi placeholder
8
  def load_model(selected_model):
 
9
  return f"Model {selected_model} telah dimuat."
10
 
11
+ def generate_image(prompt, neg_prompt, width, height, scheduler, num_steps, num_images, model):
12
  # Logika untuk menghasilkan gambar dari teks menggunakan model
13
+ return [f"Gambar {i+1} untuk prompt '{prompt}' dengan model '{model}'" for i in range(num_images)]
14
 
15
+ def process_image(image, prompt, neg_prompt, model):
16
+ # Logika untuk memproses gambar menggunakan model
17
+ return f"Proses gambar dengan prompt '{prompt}' dan model '{model}'"
18
+
19
+ def controlnet_process(image, controlnet_type, model):
20
  # Logika untuk memproses gambar menggunakan ControlNet
21
+ return f"Proses gambar dengan ControlNet '{controlnet_type}' dan model '{model}'"
22
 
23
  with gr.Blocks() as app:
24
+ # Dropdown untuk memilih model di luar tab
25
+ with gr.Row():
26
+ model_dropdown = gr.Dropdown(choices=models, label="Pilih Model")
27
+
28
+ # Tab untuk Text-to-Image
29
  with gr.Tab("Text-to-Image"):
30
  with gr.Row():
31
+ with gr.Column():
32
+ prompt_input = gr.Textbox(label="Prompt", placeholder="Masukkan prompt teks")
33
+ neg_prompt_input = gr.Textbox(label="Neg Prompt", placeholder="Masukkan negasi prompt")
34
+ width_input = gr.Slider(minimum=64, maximum=2048, step=64, label="Lebar", value=512)
35
+ height_input = gr.Slider(minimum=64, maximum=2048, step=64, label="Tinggi", value=512)
36
+ scheduler_input = gr.Dropdown(choices=["Euler", "LMS", "DDIM"], label="Scheduler")
37
+ num_steps_input = gr.Slider(minimum=1, maximum=100, step=1, label="Num Steps", value=20)
38
+ num_images_input = gr.Slider(minimum=1, maximum=10, step=1, label="Num Images", value=1)
39
+ generate_button = gr.Button("Generate")
40
+
41
+ with gr.Column():
42
+ output_gallery = gr.Gallery(label="Hasil Gambar").style(height=512)
43
 
44
+ def update_images(prompt, neg_prompt, width, height, scheduler, num_steps, num_images, model):
 
 
45
  # Update fungsi sesuai kebutuhan
46
+ return generate_image(prompt, neg_prompt, width, height, scheduler, num_steps, num_images, model)
47
 
48
+ generate_button.click(fn=update_images, inputs=[prompt_input, neg_prompt_input, width_input, height_input, scheduler_input, num_steps_input, num_images_input, model_dropdown], outputs=output_gallery)
49
 
50
+ # Tab untuk Image-to-Image
51
  with gr.Tab("Image-to-Image"):
52
  with gr.Row():
53
+ with gr.Column():
54
+ image_input = gr.Image(label="Unggah Gambar")
55
+ prompt_input_i2i = gr.Textbox(label="Prompt", placeholder="Masukkan prompt teks")
56
+ neg_prompt_input_i2i = gr.Textbox(label="Neg Prompt", placeholder="Masukkan negasi prompt")
57
+ generate_button_i2i = gr.Button("Proses Gambar")
58
+
59
+ with gr.Column():
60
+ output_image_i2i = gr.Image(label="Hasil Gambar")
61
 
62
+ def process_image_func(image, prompt, neg_prompt, model):
63
  # Update fungsi sesuai kebutuhan
64
+ return process_image(image, prompt, neg_prompt, model)
65
 
66
+ generate_button_i2i.click(fn=process_image_func, inputs=[image_input, prompt_input_i2i, neg_prompt_input_i2i, model_dropdown], outputs=output_image_i2i)
67
 
68
+ # Tab untuk ControlNet
69
  with gr.Tab("ControlNet"):
70
  with gr.Row():
71
+ with gr.Column():
72
+ controlnet_dropdown = gr.Dropdown(choices=controlnet_types, label="Pilih Tipe ControlNet")
73
+ controlnet_image_input = gr.Image(label="Unggah Gambar untuk ControlNet")
74
+ controlnet_button = gr.Button("Proses dengan ControlNet")
75
+
76
+ with gr.Column():
77
+ controlnet_output_image = gr.Image(label="Hasil ControlNet")
78
 
79
+ def controlnet_process_func(image, controlnet_type, model):
80
  # Update fungsi sesuai kebutuhan
81
+ return controlnet_process(image, controlnet_type, model)
82
 
83
+ controlnet_button.click(fn=controlnet_process_func, inputs=[controlnet_image_input, controlnet_dropdown, model_dropdown], outputs=controlnet_output_image)
84
 
85
  # Jalankan antarmuka
86
  app.launch()