Video Processing
Video Face Swap API Documentation#
Overview#
PiAPI's Video Face Swap service enables face replacement in videos using advanced facial recognition and swapping technology. The service supports both single and multiple face swapping operations within MP4 videos.
The face-swapping sequence is determined by the model's algorithmic detection of faces. The model assigns order labels to detected faces, and users can generally expect the API to sort faces from left to right by default. However, if faces in a photo/video are positioned diagonally (e.g., one at the top-left and another at the bottom-right), the model may prioritize them as follows:Top-left face → Labeled 1
Bottom-right face → Labeled 0
Conversely, if one face is at the bottom-left and another at the top-right:Bottom-left face → Labeled 0
Top-right face → Labeled 1
Examples: How Face Indexing Affects Results#
Case 1#
swap_faces_index: 0 1
target_faces_index: 1 0
Action: The left face in the source image replaces the right face in the target video, and the right face in the source replaces the left face in the target.Case 2#
swap_faces_index: 0 1
target_faces_index: 0 1
Action: The left face in the source replaces the left face in the target; the right face in the source replaces the right face in the target.
Pricing#
Pricing is calculated based on the total number of frames processed
Model Name: Qubico/video-toolkit
Single and multiple face swapping
Support for indexed face selection in both source and target
Processing of standard MP4 videos
Technical Limitations#
Frame Limit: Maximum 600 frames per video
Image Size Limit: Maximum 2048 x 2048 resolution
Request
Body Params application/json
Model name for face swapping
Allowed value:Qubico/video-toolkit
Task type for face swapping
URL of the image containing the face(s) to swap
URL of the target MP4 video for face swapping
Index(es) of faces to use from the swap image (e.g., "0" or "1,0")
Index(es) of faces to replace in the target video (e.g., "0" or "0,1")
{
"model": "Qubico/video-toolkit",
"task_type": "face-swap",
"input": {
"swap_image": "http://example.com",
"target_video": "http://example.com",
"swap_faces_index": "string",
"target_faces_index": "string"
}
}
Request samples
curl --location --request POST 'https://api.piapi.ai/api/v1/task' \
--header 'x-api-key;' \
--header 'Content-Type: application/json' \
--data-raw ''
Responses
Current status of the task
{
"code": 200,
"message": "string",
"data": {
"task_id": "736fde4d-9029-4915-8189-01353d6982cb",
"status": "string",
"output": {
"video_url": "http://example.com"
}
}
}
Modified at 2025-03-26 17:20:25