|
|
|
@ -1,259 +0,0 @@
|
|
|
|
|
|
|
|
|
|
def C16(prompt_data, img):
|
|
|
|
|
# 图生图
|
|
|
|
|
prompt_data["22"]["inputs"]["image"] = img[0]
|
|
|
|
|
# 替换关键词
|
|
|
|
|
# prompt_data["331"]["inputs"]["text"] = prompt
|
|
|
|
|
return prompt_data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"source_images": [
|
|
|
|
|
"13,inputs,image"
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
def C17(prompt_data, img):
|
|
|
|
|
# 上传姿势
|
|
|
|
|
# random_number = random.randint(1, 9) # 9张姿势图
|
|
|
|
|
# input_image_pose = './Image/C17/' + str(random_number) + '.png'
|
|
|
|
|
|
|
|
|
|
# 图生图
|
|
|
|
|
input_image_pose = './Image/C17/1.jpg'
|
|
|
|
|
with open(input_image_pose, "rb") as f:
|
|
|
|
|
imgPose = upload_file(server_address, f, "", True)
|
|
|
|
|
prompt_data["331"]["inputs"]["image"] = imgPose # 姿势图,现在应该是默认写死在json文件中
|
|
|
|
|
|
|
|
|
|
prompt_data["432"]["inputs"]["image"] = img[0] # 用户的输入图
|
|
|
|
|
|
|
|
|
|
# 指定数字长度,例如16位
|
|
|
|
|
# number_length = 16
|
|
|
|
|
# random_number = generate_random_number(number_length)
|
|
|
|
|
# prompt_data["354"]["inputs"]["seed"] = random_number
|
|
|
|
|
# random_number = generate_random_number(number_length)
|
|
|
|
|
# prompt_data["425"]["inputs"]["seed"] = random_number
|
|
|
|
|
# 替换关键词
|
|
|
|
|
# prompt_data["331"]["inputs"]["text"] = prompt
|
|
|
|
|
|
|
|
|
|
return prompt_data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def C19(prompt_data, img):
|
|
|
|
|
#
|
|
|
|
|
prompt_data["12"]["inputs"]["image"] = img[0]
|
|
|
|
|
|
|
|
|
|
if len(img) > 1:
|
|
|
|
|
prompt_data["27"]["inputs"]["image"] = img[1]
|
|
|
|
|
else:
|
|
|
|
|
prompt_data["27"]["inputs"]["image"] = img[0]
|
|
|
|
|
|
|
|
|
|
return prompt_data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def C20(prompt_data, img):
|
|
|
|
|
#
|
|
|
|
|
prompt_data["12"]["inputs"]["image"] = img[0]
|
|
|
|
|
if len(img) > 1:
|
|
|
|
|
prompt_data["27"]["inputs"]["image"] = img[1]
|
|
|
|
|
else:
|
|
|
|
|
input_image_style = './Image/C20/meixi.png' # 只上传一张就与梅西握手
|
|
|
|
|
with open(input_image_style, "rb") as f:
|
|
|
|
|
image_style = upload_file(server_address, f, "", True)
|
|
|
|
|
prompt_data["27"]["inputs"]["image"] = image_style
|
|
|
|
|
|
|
|
|
|
return prompt_data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def C22(prompt_data, img, model_id):
|
|
|
|
|
# TODO 这里的逻辑应该不对了,需要在重复检查22号模型时调整代码
|
|
|
|
|
####------------------------------------------------------------####
|
|
|
|
|
# 记录下用户的风格图+姿势图的组合,下次生成时,尽时避开已经输出过的组合,让用户更好的玩耍
|
|
|
|
|
# 获取目录下有多少个pose,多少个style
|
|
|
|
|
directory_path = './Image/C' + str(model_id) + '/'
|
|
|
|
|
pose_count = getPrefixFileCount(directory_path, 'pose_')
|
|
|
|
|
style_count = getPrefixFileCount(directory_path, 'style_')
|
|
|
|
|
style_id = random.randint(1, style_count) # 查找未使用过的姿态图与姿势图,如果找不到就随机用一个
|
|
|
|
|
pose_id = random.randint(1, max(pose_count, 1))
|
|
|
|
|
# for i in range(1, style_count + 1):
|
|
|
|
|
# for j in range(1, pose_count + 1):
|
|
|
|
|
# if not checkStylePoseIdExists(user_id, model_id, i, j):
|
|
|
|
|
# style_id = i
|
|
|
|
|
# pose_id = j
|
|
|
|
|
|
|
|
|
|
# 回写数据库表,标识这些组合已经用过
|
|
|
|
|
# record_style_pose_id(user_id, model_id, style_id, pose_id)
|
|
|
|
|
|
|
|
|
|
####------------------------------------------------------------####
|
|
|
|
|
# 风格图
|
|
|
|
|
input_image_style = './Image/C' + str(model_id) + '/style_' + str(style_id) + '.png'
|
|
|
|
|
with open(input_image_style, "rb") as f:
|
|
|
|
|
image_style = upload_file(server_address, f, "", True)
|
|
|
|
|
prompt_data["118"]["inputs"]["image"] = image_style
|
|
|
|
|
|
|
|
|
|
# 样式图
|
|
|
|
|
input_image_pose = './Image/C' + str(model_id) + '/pose_' + str(pose_id) + '.png'
|
|
|
|
|
with open(input_image_pose, "rb") as f:
|
|
|
|
|
image_pose = upload_file(server_address, f, "", True)
|
|
|
|
|
prompt_data["98"]["inputs"]["image"] = image_pose
|
|
|
|
|
|
|
|
|
|
# 原图
|
|
|
|
|
prompt_data["49"]["inputs"]["image"] = img[0]
|
|
|
|
|
|
|
|
|
|
# 提示词
|
|
|
|
|
# prompt_data["131"]["inputs"]["String"] = prompt
|
|
|
|
|
|
|
|
|
|
return prompt_data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def C23(prompt_data, img):
|
|
|
|
|
# 原图
|
|
|
|
|
prompt_data["52"]["inputs"]["image"] = img[0]
|
|
|
|
|
|
|
|
|
|
# prompt_data["331"]["inputs"]["text"] = prompt
|
|
|
|
|
|
|
|
|
|
return prompt_data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def C24(prompt_data, img):
|
|
|
|
|
# 原图
|
|
|
|
|
prompt_data["12"]["inputs"]["image"] = img[0]
|
|
|
|
|
return prompt_data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"source_images": [
|
|
|
|
|
"111,inputs,image"
|
|
|
|
|
],
|
|
|
|
|
"style_pose_images": [
|
|
|
|
|
{
|
|
|
|
|
"key": "113,inputs,image",
|
|
|
|
|
"value": "./Image/C22/style_1.png"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
def C25(prompt_data, img, model_id):
|
|
|
|
|
# 原图
|
|
|
|
|
prompt_data["111"]["inputs"]["image"] = img[0]
|
|
|
|
|
|
|
|
|
|
####------------------------------------------------------------####
|
|
|
|
|
# 记录下用户的风格图+姿势图的组合,下次生成时,尽时避开已经输出过的组合,让用户更好的玩耍
|
|
|
|
|
# 获取目录下有多少个pose,多少个style
|
|
|
|
|
directory_path = './Image/C' + str(model_id) + '/'
|
|
|
|
|
pose_count = getPrefixFileCount(directory_path, 'pose_')
|
|
|
|
|
style_count = getPrefixFileCount(directory_path, 'style_')
|
|
|
|
|
style_id = random.randint(1, style_count) # 查找未使用过的姿态图与姿势图,如果找不到就随机用一个
|
|
|
|
|
pose_id = random.randint(1, max(pose_count, 1))
|
|
|
|
|
# for i in range(1, style_count + 1):
|
|
|
|
|
# for j in range(1, pose_count + 1):
|
|
|
|
|
# flag = checkStylePoseIdExists(user_id, model_id, i, j)
|
|
|
|
|
# if not flag:
|
|
|
|
|
# style_id = i
|
|
|
|
|
# pose_id = j
|
|
|
|
|
# # 回写数据库表,标识这些组合已经用过
|
|
|
|
|
# record_style_pose_id(user_id, model_id, style_id, pose_id)
|
|
|
|
|
####------------------------------------------------------------####
|
|
|
|
|
|
|
|
|
|
with open('./Image/C' + str(model_id) + '/style_' + str(style_id) + ".png", "rb") as f:
|
|
|
|
|
y = upload_file(server_address, f, "", True)
|
|
|
|
|
|
|
|
|
|
# 风格(随机)
|
|
|
|
|
prompt_data["113"]["inputs"]["image"] = y
|
|
|
|
|
|
|
|
|
|
return prompt_data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 获取C26中有哪些样式
|
|
|
|
|
def C26_get_sdxl_styles():
|
|
|
|
|
files = ['./JSON/C26/sdxl_styles_sai.json', './JSON/C26/sdxl_styles_twri.json']
|
|
|
|
|
SDXL_STYLES = []
|
|
|
|
|
for json_file in files:
|
|
|
|
|
with open(json_file, 'r', encoding="utf-8") as fi:
|
|
|
|
|
data = json.load(fi)
|
|
|
|
|
for x in data:
|
|
|
|
|
SDXL_STYLES.append(x['name'])
|
|
|
|
|
return SDXL_STYLES
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
['sai-3d-model', 'sai-analog film', 'sai-anime', 'sai-cinematic', 'sai-comic book', 'sai-craft clay',
|
|
|
|
|
'sai-digital art', 'sai-enhance', 'sai-fantasy art', 'sai-isometric', 'sai-line art', 'sai-lowpoly',
|
|
|
|
|
'sai-neonpunk', 'sai-origami', 'sai-photographic', 'sai-pixel art', 'sai-texture', 'ads-advertising',
|
|
|
|
|
'ads-automotive', 'ads-corporate', 'ads-fashion editorial', 'ads-food photography', 'ads-gourmet food photography',
|
|
|
|
|
'ads-luxury', 'ads-real estate', 'ads-retail', 'artstyle-abstract', 'artstyle-abstract expressionism',
|
|
|
|
|
'artstyle-art deco', 'artstyle-art nouveau', 'artstyle-constructivist', 'artstyle-cubist',
|
|
|
|
|
'artstyle-expressionist', 'artstyle-graffiti', 'artstyle-hyperrealism', 'artstyle-impressionist',
|
|
|
|
|
'artstyle-pointillism', 'artstyle-pop art', 'artstyle-psychedelic', 'artstyle-renaissance', 'artstyle-steampunk',
|
|
|
|
|
'artstyle-surrealist', 'artstyle-typography', 'artstyle-watercolor', 'futuristic-biomechanical',
|
|
|
|
|
'futuristic-biomechanical cyberpunk', 'futuristic-cybernetic', 'futuristic-cybernetic robot',
|
|
|
|
|
'futuristic-cyberpunk cityscape', 'futuristic-futuristic', 'futuristic-retro cyberpunk',
|
|
|
|
|
'futuristic-retro futurism', 'futuristic-sci-fi', 'futuristic-vaporwave', 'game-bubble bobble',
|
|
|
|
|
'game-cyberpunk game', 'game-fighting game', 'game-gta', 'game-mario', 'game-minecraft', 'game-pokemon',
|
|
|
|
|
'game-retro arcade', 'game-retro game', 'game-rpg fantasy game', 'game-strategy game', 'game-streetfighter',
|
|
|
|
|
'game-zelda', 'misc-architectural', 'misc-disco', 'misc-dreamscape', 'misc-dystopian', 'misc-fairy tale',
|
|
|
|
|
'misc-gothic', 'misc-grunge', 'misc-horror', 'misc-kawaii', 'misc-lovecraftian', 'misc-macabre', 'misc-manga',
|
|
|
|
|
'misc-metropolis', 'misc-minimalist', 'misc-monochrome', 'misc-nautical', 'misc-space', 'misc-stained glass',
|
|
|
|
|
'misc-techwear fashion', 'misc-tribal', 'misc-zentangle', 'papercraft-collage', 'papercraft-flat papercut',
|
|
|
|
|
'papercraft-kirigami', 'papercraft-paper mache', 'papercraft-paper quilling', 'papercraft-papercut collage',
|
|
|
|
|
'papercraft-papercut shadow box', 'papercraft-stacked papercut', 'papercraft-thick layered papercut',
|
|
|
|
|
'photo-alien', 'photo-film noir', 'photo-glamour', 'photo-hdr', 'photo-iphone photographic', 'photo-long exposure',
|
|
|
|
|
'photo-neon noir', 'photo-silhouette', 'photo-tilt-shift']
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"source_images": [
|
|
|
|
|
"13,inputs,image"
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
def C26(prompt_data, img):
|
|
|
|
|
# 原图
|
|
|
|
|
prompt_data["13"]["inputs"]["image"] = img[0]
|
|
|
|
|
|
|
|
|
|
# 风格图片
|
|
|
|
|
SDXL_STYLES = C26_get_sdxl_styles()
|
|
|
|
|
style_id = random.randint(0, len(SDXL_STYLES) - 1)
|
|
|
|
|
pose_id = 1
|
|
|
|
|
# for i in range(0, len(SDXL_STYLES)):
|
|
|
|
|
# if not checkStylePoseIdExists(user_id, model_id, i, 1):
|
|
|
|
|
# style_id = i
|
|
|
|
|
#
|
|
|
|
|
# # 回写数据库表,标识这些组合已经用过
|
|
|
|
|
# record_style_pose_id(user_id, model_id, style_id, pose_id)
|
|
|
|
|
|
|
|
|
|
prompt_data["79"]["inputs"]["style"] = SDXL_STYLES[style_id]
|
|
|
|
|
return prompt_data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def C27(prompt_data, img):
|
|
|
|
|
# 原图
|
|
|
|
|
if len(img) == 1:
|
|
|
|
|
with open('./Image/huanghai_3.png', "rb") as f:
|
|
|
|
|
x = upload_file(server_address, f, "", True)
|
|
|
|
|
prompt_data["82"]["inputs"]["image"] = x
|
|
|
|
|
prompt_data["78"]["inputs"]["image"] = img[0] # 女
|
|
|
|
|
else:
|
|
|
|
|
prompt_data["13"]["inputs"]["image"] = img[0] # 男
|
|
|
|
|
prompt_data["78"]["inputs"]["image"] = img[1] # 女
|
|
|
|
|
|
|
|
|
|
# 风格图片
|
|
|
|
|
style_id = random.randint(1, 2)
|
|
|
|
|
pose_id = random.randint(1, 3)
|
|
|
|
|
|
|
|
|
|
# for i in range(1, 3):
|
|
|
|
|
# for j in range(1, 4):
|
|
|
|
|
# if not checkStylePoseIdExists(user_id, model_id, i, j):
|
|
|
|
|
# style_id = i
|
|
|
|
|
# pose_id = j
|
|
|
|
|
#
|
|
|
|
|
# # 回写数据库表,标识这些组合已经用过
|
|
|
|
|
# record_style_pose_id(user_id, model_id, style_id, pose_id)
|
|
|
|
|
|
|
|
|
|
# 姿势图有3个 pose_id
|
|
|
|
|
|
|
|
|
|
pose_img_file = './Image/C27/pose_' + str(pose_id) + ".jpg"
|
|
|
|
|
# 上传姿势图
|
|
|
|
|
with open(pose_img_file, "rb") as f:
|
|
|
|
|
y = upload_file(server_address, f, "", True)
|
|
|
|
|
prompt_data["82"]["inputs"]["image"] = y
|
|
|
|
|
|
|
|
|
|
# 模型有2个 style_id
|
|
|
|
|
if style_id == 1:
|
|
|
|
|
prompt_data["4"]["inputs"]["ckpt_name"] = "samaritan3dCartoon_v40SDXL.safetensors"
|
|
|
|
|
else:
|
|
|
|
|
prompt_data["4"]["inputs"]["ckpt_name"] = "turbovisionxlSuperFastXLBasedOnNew_tvxlV431Bakedvae.safetensors"
|
|
|
|
|
|
|
|
|
|
return prompt_data
|