Spaces:
Sleeping
Sleeping
import io | |
import os | |
import requests | |
import sys | |
sys.path.append(os.getcwd()) | |
from PIL import Image | |
from cllm.services.utils import get_bytes_value | |
__ALL__ = [ | |
"text2image", | |
"cannytext2image", | |
"linetext2image", | |
"hedtext2image", | |
"scribbletext2image", | |
"posetext2image", | |
"segtext2image", | |
"depthtext2image", | |
"normaltext2image" "image2image", | |
] | |
HOST = os.environ.get("CLLM_SERVICES_HOST", "localhost") | |
PORT = os.environ.get("CLLM_SERVICES_PORT", 10056) | |
def setup(host="localhost", port=10049): | |
global HOST, PORT | |
HOST = host | |
PORT = port | |
def text2image(text, **kwargs): | |
host = kwargs.get("host", HOST) | |
port = kwargs.get("port", PORT) | |
url = f"http://{host}:{port}/text2image" | |
data = {"text": text} | |
response = requests.post(url, data=data) | |
return response.content | |
def image2image(image, **kwargs): | |
host = kwargs.get("host", HOST) | |
port = kwargs.get("port", PORT) | |
url = f"http://{host}:{port}/image2image" | |
files = {"image": (image, get_bytes_value(image))} | |
response = requests.post(url, files=files) | |
return response.content | |
def _imagetext2image(image, text, endpoint, **kwargs): | |
host = kwargs.get("host", HOST) | |
port = kwargs.get("port", PORT) | |
url = f"http://{host}:{port}/{endpoint}" | |
data = {"text": text} | |
files = {"image": (image, get_bytes_value(image))} | |
response = requests.post(url, files=files, data=data) | |
# image = Image.open(io.BytesIO(response.content)) | |
# image = io.BytesIO(response.content) | |
# return image | |
return response.content | |
def cannytext2image(edge, text, **kwargs): | |
return _imagetext2image(edge, text, endpoint="cannytext2image", **kwargs) | |
def linetext2image(line, text, **kwargs): | |
return _imagetext2image(line, text, endpoint="linetext2image", **kwargs) | |
def hedtext2image(hed, text, **kwargs): | |
return _imagetext2image(hed, text, endpoint="hedtext2image", **kwargs) | |
def scribbletext2image(scribble, text, **kwargs): | |
return _imagetext2image(scribble, text, endpoint="scribbletext2image", **kwargs) | |
def posetext2image(pose, text, **kwargs): | |
return _imagetext2image(pose, text, endpoint="posetext2image", **kwargs) | |
def segtext2image(segmentation, text, **kwargs): | |
return _imagetext2image(segmentation, text, endpoint="segtext2image", **kwargs) | |
def depthtext2image(depth, text, **kwargs): | |
return _imagetext2image(depth, text, endpoint="depthtext2image", **kwargs) | |
def normaltext2image(normal, text, **kwargs): | |
return _imagetext2image(normal, text, endpoint="normaltext2image", **kwargs) | |