FaceSwap API
Build powerful, AI-driven video applications with the FaceSwap REST API. Integrate our hyper-realistic face-swapping engine directly into your own products, workflows, or creative pipelines.
Blazing Fast
Powered by our dedicated A100 GPU clusters.
Secure by Design
Bank-level encryption and strict data deletion policies.
Authentication
The FaceSwap API uses API keys to authenticate requests. You can manage your account in Settings.
Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
curl https://api.faceswap.yumshu.com/v1/credits \
-H "Authorization: Bearer fs_live_abc123def456"Create Swap Job
Initiates an asynchronous face swap job. Because video rendering takes time, this endpoint returns a job_id which you can use to poll for status or listen via webhooks.
/v1/jobs/swapBody Parameters (multipart/form-data)
- target_videoRequired
The source video file (MP4, MOV, WebM). Max 100MB.
- source_imageRequired
The image containing the face you want to use (JPG, PNG, WebP). Max 10MB.
- webhook_urlOptional
An endpoint on your server to receive the completed video URL via POST request once rendering finishes.
{
"id": "job_9x8y7z6a5b4c",
"status": "processing",
"created_at": "2026-07-19T10:00:00Z",
"estimated_time_seconds": 45
}Check Job Status
Retrieves the current status of a specific job. If the job is complete, the response will include a temporary URL to download the processed video.
/v1/jobs/<job_id>{
"id": "job_9x8y7z6a5b4c",
"status": "completed",
"result_url": "https://cdn.faceswap.yumshu.com/results/9x8y7z6a5b4c.mp4",
"expires_at": "2026-07-20T10:00:00Z"
}