code: def enable_midas_autodownload():
      """
      Gives the ldm.modules.midas.api.load_model function automatic downloading.
  
      When the 512-depth-ema model, and other future models like it, is loaded,
      it calls midas.api.load_model to load the associated midas depth model.
      This function applies a wrapper to download the model to the correct
      location automatically.
      """
  
      midas_path = os.path.join(paths.models_path, "midas")
  
      # stable-diffusion-stability-ai hard-codes the midas model path to
      # a location that differs from where other scripts using this model look.
      # HACK: Overriding the path here.
      for k, v in midas.api.ISL_PATHS.items():
          file_name = os.path.basename(v)
          midas.api.ISL_PATHS[k] = os.path.join(midas_path, file_name)
  
      midas_urls = {
          "dpt_large": "https://github.com/intel-isl/DPT/releases/download/1_0/dpt_large-midas-2f21e586.pt",
          "dpt_hybrid": "https://github.com/intel-isl/DPT/releases/download/1_0/dpt_hybrid-midas-501f0c75.pt",
          "midas_v21": "https://github.com/AlexeyAB/MiDaS/releases/download/midas_dpt/midas_v21-f6b98070.pt",
          "midas_v21_small": "https://github.com/AlexeyAB/MiDaS/releases/download/midas_dpt/midas_v21_small-70d6b9c8.pt",
      }
  
      midas.api.load_model_inner = midas.api.load_model
  
      def load_model_wrapper(model_type):
          path = midas.api.ISL_PATHS[model_type]
          if not os.path.exists(path):
              if not os.path.exists(midas_path):
                  mkdir(midas_path)
  
              print(
                  f"Downloading midas model weights for {model_type} to {path}"
              )
              request.urlretrieve(midas_urls[model_type], path)
              print(f"{model_type} downloaded")
  
          return midas.api.load_model_inner(model_type)
  
      midas.api.load_model = load_model_wrapper
  
imports: import collections
  import os.path
  import sys
  import threading
  import torch
  import re
  import safetensors.torch
  from omegaconf import OmegaConf, ListConfig
  from os import mkdir
  from urllib import request
  import ldm.modules.midas
  from ldm.util import instantiate_from_config
  from modules import paths, shared, modelloader, devices, script_callbacks, sd_vae, sd_disable_initialization, errors, hashes, sd_models_config, sd_unet, sd_models_xl, cache, extra_networks, processing, lowvram, sd_hijack, patches
  from modules.timer import Timer
  import tomesd
  import numpy
label_desc: Use image node_id 14 for calling a global function with example usage: enable_midas_autodownload() and returns: midas