Open IAn2018cs opened 10 months ago
Do I need to submit a pull request?
I did not have time to look at it. Thanks the proposal, i will check if it does not break anything. I am mostly using my version of the API https://github.com/glucauze/sd-webui-faceswaplab/blob/main/client_api/faceswaplab_api_example.py
I am mostly using my version of the API https://github.com/glucauze/sd-webui-faceswaplab/blob/main/client_api/faceswaplab_api_example.py
Your API works absolutely fine. Still there are valid use cases for using alwayson_scripts if you don't want to split image generation / face swap into two API calls. Depending on how many images you generate in a batch, this can be a quite significant overhead.
Not criticizing your extension here as it's a wonderful tool. Just want you to better understand why some prefer the alwayson_scripts.
Got it, i will try to integrate that.
@IAn2018cs could you post the rest of your alwayson_script params? I don't need your entire code changes since i'm only using 1 reference photo I think. About to start testing now, looks like you got it working though!
@IAn2018cs could you post the rest of your alwayson_script params? I don't need your entire code changes since i'm only using 1 reference photo I think. About to start testing now, looks like you got it working though!
"faceswaplab": { "args": [ # ============> Face 1 <============ # Reference get_base64_image('./test_img/t1.png'), # Face Checkpoint (precedence over reference face) None, # Batch Sources Images f"{get_base64_image('./test_img/t1.png')},{get_base64_image('./test_img/t2.webp')},{get_base64_image('./test_img/t3.jpg')}", # Blend Faces ((Source|Checkpoint)+References = 1) True, # Enable True, # Same Gender False, # Sort by size (larger>smaller) True, # Check similarity True, # Compute similarity True, # Min similarity 0.5, # "Min reference similarity" 0.2, # Target face : Comma separated face number(s) "0", # Reference source face : start from 0 0, # Swap in source image (blended face) True, # Swap in generated image True, # Denoising strenght 0, # Inpainting prompt use [gender] instead of men or woman "Portrait of a [gender]", # Inpainting negative prompt use [gender] instead of men or woman "blurry", # Inpainting steps 20, # Inpainting Sampler "Euler a", # sd model (experimental) None, # Inpainting seed 0, # Restore Face "None", # Restore visibility 1, # codeformer weight 1, # Upscaler "", # Use improved segmented mask (use pastenet to mask only the face) False, # Use color corrections False, # sharpen face False, # Upscaled swapper mask erosion factor, 1 = default behaviour. 1, # Denoising strenght 0, # Inpainting prompt use [gender] instead of men or woman "Portrait of a [gender]", # Inpainting negative prompt use [gender] instead of men or woman "blurry", # Inpainting steps 20, # Inpainting Sampler "Euler a", # sd model (experimental) None, # Inpainting seed 0,
# ============> Face 2 <============
# Reference
None,
# Face Checkpoint (precedence over reference face)
None,
# Batch Sources Images
None,
# Blend Faces ((Source|Checkpoint)+References = 1)
True,
# Enable
False,
# Same Gender
False,
# Sort by size (larger>smaller)
False,
# Check similarity
False,
# Compute similarity
False,
# Min similarity
0,
# "Min reference similarity"
0,
# Target face : Comma separated face number(s)
"1",
# Reference source face : start from 0
0,
# Swap in source image (blended face)
False,
# Swap in generated image
True,
# Denoising strenght
0,
# Inpainting prompt use [gender] instead of men or woman
"Portrait of a [gender]",
# Inpainting negative prompt use [gender] instead of men or woman
"blurry",
# Inpainting steps
20,
# Inpainting Sampler
"Euler a",
# sd model (experimental)
None,
# Inpainting seed
0,
# Restore Face
"None",
# Restore visibility
1,
# codeformer weight
1,
# Upscaler
"",
# Use improved segmented mask (use pastenet to mask only the face)
False,
# Use color corrections
False,
# sharpen face
False,
# Upscaled swapper mask erosion factor, 1 = default behaviour.
1,
# Denoising strenght
0,
# Inpainting prompt use [gender] instead of men or woman
"Portrait of a [gender]",
# Inpainting negative prompt use [gender] instead of men or woman
"blurry",
# Inpainting steps
20,
# Inpainting Sampler
"Euler a",
# sd model (experimental)
None,
# Inpainting seed
0,
# ============> Face 3 <============
# Reference
None,
# Face Checkpoint (precedence over reference face)
None,
# Batch Sources Images
None,
# Blend Faces ((Source|Checkpoint)+References = 1)
True,
# Enable
False,
# Same Gender
False,
# Sort by size (larger>smaller)
False,
# Check similarity
False,
# Compute similarity
False,
# Min similarity
0,
# "Min reference similarity"
0,
# Target face : Comma separated face number(s)
"2",
# Reference source face : start from 0
0,
# Swap in source image (blended face)
False,
# Swap in generated image
True,
# Denoising strenght
0,
# Inpainting prompt use [gender] instead of men or woman
"Portrait of a [gender]",
# Inpainting negative prompt use [gender] instead of men or woman
"blurry",
# Inpainting steps
20,
# Inpainting Sampler
"Euler a",
# sd model (experimental)
None,
# Inpainting seed
0,
# Restore Face
"None",
# Restore visibility
1,
# codeformer weight
1,
# Upscaler
"",
# Use improved segmented mask (use pastenet to mask only the face)
False,
# Use color corrections
False,
# sharpen face
False,
# Upscaled swapper mask erosion factor, 1 = default behaviour.
1,
# Denoising strenght
0,
# Inpainting prompt use [gender] instead of men or woman
"Portrait of a [gender]",
# Inpainting negative prompt use [gender] instead of men or woman
"blurry",
# Inpainting steps
20,
# Inpainting Sampler
"Euler a",
# sd model (experimental)
None,
# Inpainting seed
0,
# ============> Global Post-Processing <============
# Restore Face
"GFPGAN",
# Restore visibility
1,
# codeformer weight
1,
# Upscaler
"R-ESRGAN 4x+",
# Upscaler scale
1,
# Upscaler visibility (if scale = 1)
1,
# Enable/When
"After Upscaling/Before Restore Face",
# Denoising strenght
0,
# Inpainting prompt use [gender] instead of men or woman
"Portrait of a [gender]",
# Inpainting negative prompt use [gender] instead of men or woman
"blurry",
# Inpainting steps
20,
# Inpainting Sampler
"Euler a",
# sd model (experimental)
None,
# Inpainting seed
0
]
}
@IAn2018cs I appreciate this so much. I almost had it all figured out by looking at the dev tools. I wasn't exactly sure where it started/stopped. This is great, thank you.
like this:
I modified this file in the source code to achieve this function:
sd-webui-faceswaplab/scripts/faceswaplab_ui/faceswaplab_unit_settings.py
Hope it can be adopted