diff --git a/BaiHu/Test/Test.py b/BaiHu/Test/Test.py index 01a399df..3f7469a4 100644 --- a/BaiHu/Test/Test.py +++ b/BaiHu/Test/Test.py @@ -1,30 +1,29 @@ -import json import requests import io import base64 from PIL import Image import cv2 +def encode_image(image_path): + with open(image_path, "rb") as i: + b64 = base64.b64encode(i.read()) + return b64.decode("utf-8") + url = "http://192.168.1.21:7860" prompt = "(8k, RAW photo, highest quality),hyperrealistic abstract style portrait of an otherworldly being with metallic skin,glowing orbs for eyes,and intricate fractal patterns emanating from their face,non-representational,colors and shapes,expression of feelings,imaginative,highly detailed,(pink Fluorescent eyeshadow:1.2),eyeliner,makeup,lipstick,watery eyes,(Mole under eye:1.2),(seductive_smile:1.2),XURE Dunhuang Flying XL,1girl,," negative_prompt = "NSFW,blurry,low quality,watermark,monochrome,badhandv4,easynegative,ng_deepnegative_v1_75t,bad proportions,mutated hands and fingers,poorly drawn face,extra limb,missing limb,malformed limbs,disconnected limbs,ugly,floating limbs,extra legs,mutation,bad body,long neck,cross-eyed,text,cleavage," # 此处为读取一张图片作为输入图像 -img = cv2.imread('../Image/28/1.jpg') - -# 编码图像 -retval, bytes = cv2.imencode('.jpg', img) -encoded_image = base64.b64encode(bytes).decode('utf-8') +encoded_image = encode_image('../Image/28/1.jpg') +encoded_source_image =encode_image('../Image/1ae93e2587822c291362abf9504cb49ec.jpeg') payload = { - # 模型设置 "override_settings": { "sd_model_checkpoint": "绪儿-一青十色XL_V2 VAE.safetensors [9f9290ac66]", "sd_vae": "Automatic" }, - # 基本参数 "prompt": prompt, "negative_prompt": negative_prompt, @@ -46,9 +45,45 @@ payload = { "denoising_strength": 0.5, # "hr_scale": 2, # "hr_upscaler": "Latent", - + "alwayson_scripts": { + "ControlNet": { + "args": [ + { + "enabled": True, + "model": "ip-adapter_instant_id_sdxl [eb2d3ec0]", + "module": "instant_id_face_embedding", + "weight": 1, + "resize_mode": "Crop and Resize", + "guidance_start": 0, + "guidance_end": 1, + "pixel_perfect": True, + "processor_res": 512, + "save_detected_map": True, + "input_image": encoded_source_image, + "control_mode": "My prompt is more important" + }, + { + "enabled": True, + "model": "control_instant_id_sdxl [c5c25a50]", + "module": "instant_id_face_keypoints", + "weight": 1, + "resize_mode": "Crop and Resize", + "guidance_start": 0, + "guidance_end": 1, + "pixel_perfect": True, + "processor_res": 512, + "save_detected_map": True, + "input_image": encoded_image, + "control_mode": "ControlNet is more important" + } + ] + } + } } +#payload["alwayson_scripts"]["ControlNet"]["args"][0]["input_image"] = encoded_source_image +#payload["alwayson_scripts"]["ControlNet"]["args"][1]["input_image"] = encoded_image + response = requests.post(url=f'{url}/sdapi/v1/img2img', json=payload) r = response.json() image = Image.open(io.BytesIO(base64.b64decode(r['images'][0])))