You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.0 KiB
58 lines
2.0 KiB
import json
|
|
import requests
|
|
import io
|
|
import base64
|
|
from PIL import Image
|
|
import cv2
|
|
|
|
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')
|
|
|
|
payload = {
|
|
|
|
# 模型设置
|
|
"override_settings": {
|
|
"sd_model_checkpoint": "绪儿-一青十色XL_V2 VAE.safetensors [9f9290ac66]",
|
|
"sd_vae": "Automatic"
|
|
},
|
|
|
|
# 基本参数
|
|
"prompt": prompt,
|
|
"negative_prompt": negative_prompt,
|
|
"steps": 30,
|
|
"sampler_name": "Euler a",
|
|
"width": 1024,
|
|
"height": 1472,
|
|
"batch_size": 1,
|
|
"n_iter": 1,
|
|
"seed": 1,
|
|
"cfg_scale": 3,
|
|
"CLIP_stop_at_last_layers": 2,
|
|
"init_images": [encoded_image],
|
|
# 面部修复 face fix
|
|
"restore_faces": False,
|
|
|
|
# 高清修复 highres fix
|
|
# "enable_hr": True,
|
|
"denoising_strength": 0.5,
|
|
# "hr_scale": 2,
|
|
# "hr_upscaler": "Latent",
|
|
|
|
}
|
|
|
|
response = requests.post(url=f'{url}/sdapi/v1/img2img', json=payload)
|
|
r = response.json()
|
|
image = Image.open(io.BytesIO(base64.b64decode(r['images'][0])))
|
|
|
|
image.show()
|
|
image.save('output.png')
|