zwgao's picture
add file
3fdcc70
raw
history blame
No virus
2.59 kB
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)