@ -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,<lora:绪儿 敦煌飞天XL:0.6>, "
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 ] ) ) )