|
|
|
@ -11,7 +11,7 @@ from Util.PngUtil import *
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 文生图服务调用
|
|
|
|
|
def webui_txt_2_img(model_id, json_data, input_image):
|
|
|
|
|
def webui_txt_2_img(model_id, json_data, input_image, target_folder):
|
|
|
|
|
# 提示词
|
|
|
|
|
prompt = json_data['prompt']
|
|
|
|
|
# 图片
|
|
|
|
@ -34,19 +34,13 @@ def webui_txt_2_img(model_id, json_data, input_image):
|
|
|
|
|
|
|
|
|
|
# 开始生成图片
|
|
|
|
|
printf("开始生成图片...")
|
|
|
|
|
# 设置目标文件夹
|
|
|
|
|
target_folder = "Out"
|
|
|
|
|
|
|
|
|
|
# 创建以当前模型命名的目录
|
|
|
|
|
folder = os.path.join(target_folder, 'Images/User/' + str(model_id) + '/')
|
|
|
|
|
if not os.path.exists(folder):
|
|
|
|
|
os.makedirs(folder)
|
|
|
|
|
# 调用生图服务
|
|
|
|
|
response = submit_post(txt2img_url, json_data)
|
|
|
|
|
# 创建文件名
|
|
|
|
|
png_file = str(uuid.uuid4()) + '.png'
|
|
|
|
|
# 创建文件的完整路径
|
|
|
|
|
file_path = os.path.join(folder, png_file)
|
|
|
|
|
file_path = os.path.join(target_folder, png_file)
|
|
|
|
|
save_encoded_image(response.json()['images'][0], file_path)
|
|
|
|
|
# 清除Exif信息
|
|
|
|
|
clearExif(file_path, file_path) # 清除Exif信息
|
|
|
|
@ -63,7 +57,7 @@ def webui_txt_2_img(model_id, json_data, input_image):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 图生图服务调用
|
|
|
|
|
def webui_img_2_img(model_id, prompt_id, json_data, input_image):
|
|
|
|
|
def webui_img_2_img(model_id, prompt_id, json_data, input_image, target_folder):
|
|
|
|
|
# 提示词
|
|
|
|
|
prompt = json_data['prompt']
|
|
|
|
|
# 图片
|
|
|
|
@ -93,19 +87,13 @@ def webui_img_2_img(model_id, prompt_id, json_data, input_image):
|
|
|
|
|
|
|
|
|
|
# 开始生成图片
|
|
|
|
|
printf("开始生成图片...")
|
|
|
|
|
# 设置目标文件夹
|
|
|
|
|
target_folder = "Out"
|
|
|
|
|
|
|
|
|
|
# 创建以当前模型命名的目录
|
|
|
|
|
folder = os.path.join(target_folder, 'Images/User/' + str(model_id) + '/')
|
|
|
|
|
if not os.path.exists(folder):
|
|
|
|
|
os.makedirs(folder)
|
|
|
|
|
# 调用生图服务
|
|
|
|
|
response = submit_post(img2img_url, json_data)
|
|
|
|
|
# 创建文件名
|
|
|
|
|
png_file = str(uuid.uuid4()) + '.png'
|
|
|
|
|
# 创建文件的完整路径
|
|
|
|
|
file_path = os.path.join(folder, png_file)
|
|
|
|
|
file_path = os.path.join(target_folder, png_file)
|
|
|
|
|
save_encoded_image(response.json()['images'][0], file_path)
|
|
|
|
|
# 清除Exif信息
|
|
|
|
|
clearExif(file_path, file_path) # 清除Exif信息
|
|
|
|
@ -182,12 +170,7 @@ def fill_input(prompt_data, file_array):
|
|
|
|
|
return prompt_data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def runComfyUI(model_id, json_data, input_image):
|
|
|
|
|
# 创建目标目录
|
|
|
|
|
output_path = "Out/Images/User/" + str(model_id) + "/"
|
|
|
|
|
if not os.path.exists(output_path):
|
|
|
|
|
os.makedirs(output_path)
|
|
|
|
|
|
|
|
|
|
def runComfyUI(model_id, json_data, input_image, target_folder):
|
|
|
|
|
# 生成一个唯一的客户端ID
|
|
|
|
|
client_id = str(uuid.uuid4())
|
|
|
|
|
|
|
|
|
@ -203,7 +186,7 @@ def runComfyUI(model_id, json_data, input_image):
|
|
|
|
|
# 过滤器,哪些返回节点中获取到的图片是有用的
|
|
|
|
|
myfilter = getMyFilter(json_data)
|
|
|
|
|
# 生成
|
|
|
|
|
files = generate_clip(server_address, json_data, client_id, output_path, myfilter)
|
|
|
|
|
files = generate_clip(server_address, json_data, client_id, target_folder, myfilter)
|
|
|
|
|
|
|
|
|
|
# 上传到云存储,回写数据接口
|
|
|
|
|
for file in files:
|
|
|
|
@ -270,20 +253,27 @@ def get_task():
|
|
|
|
|
vjson_data = json.load(file)
|
|
|
|
|
|
|
|
|
|
# 利用三元表达式输出
|
|
|
|
|
printf("发现需要处理的" + ("WebUI" if model_type_id in [1, 3] else "ComfyUI") + "任务,model_id=" + str(
|
|
|
|
|
printf("发现需要处理的" + ("WebUI" if model_type_id in [1, 2] else "ComfyUI") + "任务,model_id=" + str(
|
|
|
|
|
model_id) + ",prompt_id=" + str(prompt_id) + ",task_id=" + str(task_id))
|
|
|
|
|
|
|
|
|
|
# 创建目标目录
|
|
|
|
|
output_path = "Out/Images/User/" + str(model_id) + "/"
|
|
|
|
|
if not os.path.exists(output_path):
|
|
|
|
|
os.makedirs(output_path)
|
|
|
|
|
|
|
|
|
|
# SD_TXT2IMG
|
|
|
|
|
if model_type_id == 1:
|
|
|
|
|
webui_txt_2_img(model_id=model_id, json_data=vjson_data, input_image=input_image)
|
|
|
|
|
webui_txt_2_img(model_id=model_id, json_data=vjson_data, input_image=input_image,
|
|
|
|
|
target_folder=output_path)
|
|
|
|
|
|
|
|
|
|
# SD_IMG2IMG
|
|
|
|
|
if model_type_id == 2:
|
|
|
|
|
webui_img_2_img(model_id=model_id, prompt_id=prompt_id, json_data=vjson_data,
|
|
|
|
|
input_image=input_image)
|
|
|
|
|
input_image=input_image, target_folder=output_path)
|
|
|
|
|
# COMFY_UI
|
|
|
|
|
if model_type_id == 3:
|
|
|
|
|
runComfyUI(model_id=model_id, json_data=vjson_data, input_image=input_image)
|
|
|
|
|
runComfyUI(model_id=model_id, json_data=vjson_data, input_image=input_image,
|
|
|
|
|
target_folder=output_path)
|
|
|
|
|
|
|
|
|
|
return task_id
|
|
|
|
|
elif success == 0:
|
|
|
|
|