Spaces:
Runtime error
Runtime error
| import os | |
| import sys | |
| import cv2 | |
| from base64 import b64encode | |
| from pathlib import Path | |
| import requests | |
| BASE_URL = "http://localhost:7860" | |
| # setup_test_env | |
| os.environ['IGNORE_CMD_ARGS_ERRORS'] = 'True' | |
| file_path = Path(__file__).resolve() | |
| ext_root = file_path.parent.parent | |
| a1111_root = ext_root.parent.parent | |
| for p in (ext_root, a1111_root): | |
| if p not in sys.path: | |
| sys.path.append(str(p)) | |
| # Initialize A1111 | |
| from modules import initialize | |
| initialize.imports() | |
| initialize.initialize() | |
| from scripts.enums import StableDiffusionVersion | |
| def readImage(path): | |
| img = cv2.imread(path) | |
| retval, buffer = cv2.imencode('.jpg', img) | |
| b64img = b64encode(buffer).decode("utf-8") | |
| return b64img | |
| def get_model(model_name: str, sd_version: StableDiffusionVersion = StableDiffusionVersion.SD1x) -> str: | |
| """ Find an available model with specified model name and sd_version. """ | |
| if model_name.lower() == "none": | |
| return "None" | |
| r = requests.get(BASE_URL+"/controlnet/model_list") | |
| result = r.json() | |
| if "model_list" not in result: | |
| raise ValueError("No model available") | |
| candidates = [ | |
| model | |
| for model in result["model_list"] | |
| if ( | |
| model_name.lower() in model.lower() and | |
| StableDiffusionVersion.detect_from_model_name(model) == sd_version | |
| ) | |
| ] | |
| if not candidates: | |
| raise ValueError("No suitable model available") | |
| return candidates[0] | |
| def get_modules(): | |
| return requests.get(f"{BASE_URL}/controlnet/module_list").json() | |
| def detect(json): | |
| return requests.post(BASE_URL+"/controlnet/detect", json=json) | |