code: def create_ui():
      dummy_component = gr.Label(visible=False)
      tab_index = gr.State(value=0)
  
      with gr.Row(equal_height=False, variant="compact"):
          with gr.Column(variant="compact"):
              with gr.Tabs(elem_id="mode_extras"):
                  with gr.TabItem(
                      "Single Image",
                      id="single_image",
                      elem_id="extras_single_tab",
                  ) as tab_single:
                      extras_image = gr.Image(
                          label="Source",
                          source="upload",
                          interactive=True,
                          type="pil",
                          elem_id="extras_image",
                      )
  
                  with gr.TabItem(
                      "Batch Process",
                      id="batch_process",
                      elem_id="extras_batch_process_tab",
                  ) as tab_batch:
                      image_batch = gr.Files(
                          label="Batch Process",
                          interactive=True,
                          elem_id="extras_image_batch",
                      )
  
                  with gr.TabItem(
                      "Batch from Directory",
                      id="batch_from_directory",
                      elem_id="extras_batch_directory_tab",
                  ) as tab_batch_dir:
                      extras_batch_input_dir = gr.Textbox(
                          label="Input directory",
                          **shared.hide_dirs,
                          placeholder="A directory on the same machine where the server is running.",
                          elem_id="extras_batch_input_dir",
                      )
                      extras_batch_output_dir = gr.Textbox(
                          label="Output directory",
                          **shared.hide_dirs,
                          placeholder="Leave blank to save images to the default path.",
                          elem_id="extras_batch_output_dir",
                      )
                      show_extras_results = gr.Checkbox(
                          label="Show result images",
                          value=True,
                          elem_id="extras_show_extras_results",
                      )
  
              script_inputs = scripts.scripts_postproc.setup_ui()
  
          with gr.Column():
              toprow = ui_toprow.Toprow(
                  is_compact=True, is_img2img=False, id_part="extras"
              )
              toprow.create_inline_toprow_image()
              submit = toprow.submit
  
              (
                  result_images,
                  html_info_x,
                  html_info,
                  html_log,
              ) = ui_common.create_output_panel(
                  "extras", shared.opts.outdir_extras_samples
              )
  
      tab_single.select(fn=lambda: 0, inputs=[], outputs=[tab_index])
      tab_batch.select(fn=lambda: 1, inputs=[], outputs=[tab_index])
      tab_batch_dir.select(fn=lambda: 2, inputs=[], outputs=[tab_index])
  
      submit.click(
          fn=call_queue.wrap_gradio_gpu_call(
              postprocessing.run_postprocessing_webui,
              extra_outputs=[None, ""],
          ),
          _js="submit_extras",
          inputs=[
              dummy_component,
              tab_index,
              extras_image,
              image_batch,
              extras_batch_input_dir,
              extras_batch_output_dir,
              show_extras_results,
              *script_inputs,
          ],
          outputs=[
              result_images,
              html_info_x,
              html_log,
          ],
          show_progress=False,
      )
  
      parameters_copypaste.add_paste_fields(
          "extras", extras_image, None
      )
  
      extras_image.change(
          fn=scripts.scripts_postproc.image_changed,
          inputs=[],
          outputs=[],
      )
  
imports: import gradio
  from modules import scripts, shared, ui_common, postprocessing, call_queue, ui_toprow
  import modules.generation_parameters_copypaste
label_desc: Use image node_id 1 for calling a global function with example usage: create_ui() without return types