import gradio import interface_modules.X2Painting.server_config as server_config import json import requests from utils.data_convert import base64_to_image def send_to_server(word, style_name): send_data = server_config.send_data.copy() # fill send_data send_data["gen_num"] = 4 # # task specific send_data['extra_input_infor'] = { 'WordArt': { "style": style_name, "word": word, "version": "v11", # 版本号,默认v1, "platform":"huggingface", } } # 鉴权 token = requests.post(server_config.login_url, data=server_config.login_data).json()["access_token"] # prepare to send post_addr = server_config.post_addr json_data = json.dumps(send_data) headers = server_config.headers headers["Authorization"] = f"Bearer {token}" response = requests.post(post_addr, data=json_data, headers=server_config.headers) # process feed back images if response.status_code != 200: print("post error") return [None] print("HF XPainting post sucess, process image") result_dict = json.loads(response.text) if result_dict.get("error_code") != 0: print("error", "-" * 30) print(result_dict["infor"]) gradio.Error(result_dict["infor"]) return [None] result_img_list = result_dict["image"] enhance_output = [] loop1_output = [] for i, img_obj in enumerate(result_img_list): final_img = base64_to_image(img_obj["image"]) # 最终结果图片 PIL格式 enhance_output.append((final_img, "{}_{}_enhance.jpg".format(word, i))) if "loop1_images" in img_obj['extra_image']: loop1_images = img_obj['extra_image']["loop1_images"] img = base64_to_image(loop1_images) loop1_output.append((img, "{}_{}_loop1_images.jpg".format(word, i))) return enhance_output + loop1_output