If you're looking for an API, you can choose from your desired programming language.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import requests
import base64
# Use this function to convert an image file from the filesystem to base64
def image_file_to_base64(image_path):
with open(image_path, 'rb') as f:
image_data = f.read()
return base64.b64encode(image_data).decode('utf-8')
# Use this function to fetch an image from a URL and convert it to base64
def image_url_to_base64(image_url):
response = requests.get(image_url)
image_data = response.content
return base64.b64encode(image_data).decode('utf-8')
api_key = "YOUR_API_KEY"
url = "https://api.segmind.com/v1/faceswap-v2"
# Request payload
data = {
"source_img": image_url_to_base64("https://segmind-sd-models.s3.us-east-1.amazonaws.com/elon.jpg"), # Or use image_file_to_base64("IMAGE_PATH")
"target_img": image_url_to_base64("https://segmind-sd-models.s3.amazonaws.com/display_images/faceswapv2_target.jpg"), # Or use image_file_to_base64("IMAGE_PATH")
"input_faces_index": 0,
"source_faces_index": 0,
"face_restore": "codeformer-v0.1.0.pth",
"base64": False
}
headers = {'x-api-key': api_key}
response = requests.post(url, json=data, headers=headers)
print(response.content) # The response is the generated image
Your face goes here. A closeup shot would be ideal.(image url/base64)
The face you want to swap with.(image url/base64)
Index of the input faces: By default the model detects faces in images from 'large' to 'small'.Index of the first detected face is 0. Multiple faces can be selected using a comma (,)
min : 0,
max : 5
Index of the source faces: By default the model detects faces in images from 'large' to 'small'.Index of the first detected face is 0. Multiple faces can be selected using a comma (,)
min : 0,
max : 5
which face restore model to use
Allowed values:
Base64 encoding of the output image.
To keep track of your credit usage, you can inspect the response headers of each API call. The x-remaining-credits property will indicate the number of remaining credits in your account. Ensure you monitor this value to avoid any disruptions in your API usage.
Faceswap v2 based on ReActor, takes an image of a face and replaces it with the face of your choice. ReActor acts as an intermediary, using its understanding of faces to bridge the gap between the source face and the target image, resulting in a seemingly natural face swap. This model is an improvement over the Faceswap model which is based on Roop.
ReActor leverages pre-existing deep learning models, which are likely pre-trained on extensive datasets of faces. These models have the capability to recognize, analyze, and manipulate facial features.
Utilizing its face detection capabilities, ReActor identifies all faces in the target image, assigning a unique number to each detected face. Once the faces are identified, ReActor creates a mask around each one, effectively isolating the facial region for subsequent manipulation.
The pre-trained models are then put to work to analyze the source face image, extracting key facial features and characteristics. The extracted facial features from the source face are seamlessly blended onto the corresponding masked area in the target image.
The model takes into account factors such as lighting, pose, and perspective to create a final image that is both realistic and cohesive. Furthermore, ReActor offers options for refining the face swap result. This involves tools to correct and enhance facial details and adjust the level of detail or sharpness in the swapped face. This ensures the final result is as accurate and natural-looking as possible.
Target face image: This is the image where you want to replace a face.
Source face image: This contains the face you want to swap in.
Face restore: Adjust the face restore parameter to control the sharpness of the final image output. You can choose between Codeformer or GFPGAN for further enhancing the face in the image output.
*Please note, this model does not support GIF or Video, therefore the target face image should be a static image only.
Audio-based Lip Synchronization for Talking Head Video
Turn a face into 3D, emoji, pixel art, video game, claymation or toy
This model is capable of generating photo-realistic images given any text input, with the extra capability of inpainting the pictures by using a mask
Take a picture/gif and replace the face in it with a face of your choice. You only need one image of the desired face. No dataset, no training