curl --request POST \
--url https://modelslab.com/api/v6/faceswap/single_face_swap \
--header 'Content-Type: application/json' \
--data '
{
"key": "<string>",
"init_image": "<string>",
"target_image": "<string>",
"reference_image": "<string>",
"watermark": true,
"webhook": "<string>",
"base64": false,
"track_id": 123
}
'import requests
url = "https://modelslab.com/api/v6/faceswap/single_face_swap"
payload = {
"key": "<string>",
"init_image": "<string>",
"target_image": "<string>",
"reference_image": "<string>",
"watermark": True,
"webhook": "<string>",
"base64": False,
"track_id": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
key: '<string>',
init_image: '<string>',
target_image: '<string>',
reference_image: '<string>',
watermark: true,
webhook: '<string>',
base64: false,
track_id: 123
})
};
fetch('https://modelslab.com/api/v6/faceswap/single_face_swap', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://modelslab.com/api/v6/faceswap/single_face_swap",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'key' => '<string>',
'init_image' => '<string>',
'target_image' => '<string>',
'reference_image' => '<string>',
'watermark' => true,
'webhook' => '<string>',
'base64' => false,
'track_id' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://modelslab.com/api/v6/faceswap/single_face_swap"
payload := strings.NewReader("{\n \"key\": \"<string>\",\n \"init_image\": \"<string>\",\n \"target_image\": \"<string>\",\n \"reference_image\": \"<string>\",\n \"watermark\": true,\n \"webhook\": \"<string>\",\n \"base64\": false,\n \"track_id\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://modelslab.com/api/v6/faceswap/single_face_swap")
.header("Content-Type", "application/json")
.body("{\n \"key\": \"<string>\",\n \"init_image\": \"<string>\",\n \"target_image\": \"<string>\",\n \"reference_image\": \"<string>\",\n \"watermark\": true,\n \"webhook\": \"<string>\",\n \"base64\": false,\n \"track_id\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://modelslab.com/api/v6/faceswap/single_face_swap")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"key\": \"<string>\",\n \"init_image\": \"<string>\",\n \"target_image\": \"<string>\",\n \"reference_image\": \"<string>\",\n \"watermark\": true,\n \"webhook\": \"<string>\",\n \"base64\": false,\n \"track_id\": 123\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"generationTime": 123,
"id": 123,
"output": [
"<string>"
],
"proxy_links": [
"<string>"
],
"meta": {
"init_image": "<string>",
"target_image": "<string>",
"reference_image": "<string>",
"seed": 123,
"temp": "<string>",
"file_prefix": "<string>",
"model_save_format": "<string>",
"watermark": "<string>",
"watermark_image": "<string>"
}
}{
"status": "error",
"message": "<string>"
}Specific Face Swap
Swap faces in a single image by providing the initial image and the target image.
curl --request POST \
--url https://modelslab.com/api/v6/faceswap/single_face_swap \
--header 'Content-Type: application/json' \
--data '
{
"key": "<string>",
"init_image": "<string>",
"target_image": "<string>",
"reference_image": "<string>",
"watermark": true,
"webhook": "<string>",
"base64": false,
"track_id": 123
}
'import requests
url = "https://modelslab.com/api/v6/faceswap/single_face_swap"
payload = {
"key": "<string>",
"init_image": "<string>",
"target_image": "<string>",
"reference_image": "<string>",
"watermark": True,
"webhook": "<string>",
"base64": False,
"track_id": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
key: '<string>',
init_image: '<string>',
target_image: '<string>',
reference_image: '<string>',
watermark: true,
webhook: '<string>',
base64: false,
track_id: 123
})
};
fetch('https://modelslab.com/api/v6/faceswap/single_face_swap', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://modelslab.com/api/v6/faceswap/single_face_swap",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'key' => '<string>',
'init_image' => '<string>',
'target_image' => '<string>',
'reference_image' => '<string>',
'watermark' => true,
'webhook' => '<string>',
'base64' => false,
'track_id' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://modelslab.com/api/v6/faceswap/single_face_swap"
payload := strings.NewReader("{\n \"key\": \"<string>\",\n \"init_image\": \"<string>\",\n \"target_image\": \"<string>\",\n \"reference_image\": \"<string>\",\n \"watermark\": true,\n \"webhook\": \"<string>\",\n \"base64\": false,\n \"track_id\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://modelslab.com/api/v6/faceswap/single_face_swap")
.header("Content-Type", "application/json")
.body("{\n \"key\": \"<string>\",\n \"init_image\": \"<string>\",\n \"target_image\": \"<string>\",\n \"reference_image\": \"<string>\",\n \"watermark\": true,\n \"webhook\": \"<string>\",\n \"base64\": false,\n \"track_id\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://modelslab.com/api/v6/faceswap/single_face_swap")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"key\": \"<string>\",\n \"init_image\": \"<string>\",\n \"target_image\": \"<string>\",\n \"reference_image\": \"<string>\",\n \"watermark\": true,\n \"webhook\": \"<string>\",\n \"base64\": false,\n \"track_id\": 123\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"generationTime": 123,
"id": 123,
"output": [
"<string>"
],
"proxy_links": [
"<string>"
],
"meta": {
"init_image": "<string>",
"target_image": "<string>",
"reference_image": "<string>",
"seed": 123,
"temp": "<string>",
"file_prefix": "<string>",
"model_save_format": "<string>",
"watermark": "<string>",
"watermark_image": "<string>"
}
}{
"status": "error",
"message": "<string>"
}Request
Make aPOST request to below endpoint and pass the required parameters in the request body.
--request POST 'https://modelslab.com/api/v6/faceswap/single_face_swap' \
Body
{
"key":"",
"init_image":"https://assets.modelslab.ai/generations/f139a3a7-1c64-4255-a53d-5b1c2a14b564",
"target_image":"https://assets.modelslab.ai/generations/f139a3a7-1c64-4255-a53d-5b1c2a14b564",
"reference_image":"https://assets.modelslab.ai/generations/f139a3a7-1c64-4255-a53d-5b1c2a14b564",
"base64":false,
"webhook": null,
"track_id": null
}
Body
Your API Key used for request authorization
The initial image containing the face to replace
The target image containing the face to be swapped
A reference image containing the specific face to swap from the initial image
Indicates if the generated result should include a watermark
A URL to receive a POST API call once the image generation is complete
Input image is base64 format
An ID included in the webhook response to identify the request
Response
Face swap response
- Option 1
- Option 2
success Time taken to generate the result in seconds
Unique identifier for the generation request
Array of URLs to the generated images
Array of proxy URLs for the generated images
Metadata about the generation process and parameters used
Show child attributes
Show child attributes
Was this page helpful?

