---
title: "Video Faceswap"
method: POST
path: "/api/open/v3/faceswap/highquality/specifyvideo"
tags: ["Face Swap"]
---

# Video Faceswap

`POST /api/open/v3/faceswap/highquality/specifyvideo`

Swap faces in videos with high quality

## Request body

- VideoFaceswapRequest
  - `sourceImage` FaceImageWithOpts[], required — Replacement target image information. You need to change it to the link collection of the face you need.
    - `path` string, uri, required — Valid URL of the face image. Must be a valid HTTP/HTTPS URL. Invalid URLs will be rejected during validation.
    - `opts` string — Face landmark coordinates string (conditional requirement). You can get this value from the `crop_landmarks` field returned by the [Face Detection API](/ai-tools-suite/face-detection/detect-faces). **Required** when `sourceImage` or `targetImage` array length > 1. **Optional** when both `sourceImage` and `targetImage` arrays have exactly 1 element each. When provided, improves face alignment accuracy. Format: colon-separated coordinate pairs, e.g. "262,175:363,175:313,215:272,279"
  - `targetImage` FaceImageWithOpts[], required — A collection of faces in the original video. Represents the collection of faces after face detection using modifyVideo.
    - `path` string, uri, required — Valid URL of the face image. Must be a valid HTTP/HTTPS URL. Invalid URLs will be rejected during validation.
    - `opts` string — Face landmark coordinates string (conditional requirement). You can get this value from the `crop_landmarks` field returned by the [Face Detection API](/ai-tools-suite/face-detection/detect-faces). **Required** when `sourceImage` or `targetImage` array length > 1. **Optional** when both `sourceImage` and `targetImage` arrays have exactly 1 element each. When provided, improves face alignment accuracy. Format: colon-separated coordinate pairs, e.g. "262,175:363,175:313,215:272,279"
  - `face_enhance` 0 | 1 — Whether facial enhancement (1 means open, 0 means close)
  - `modifyVideo` string, required — The original video you need to change the face
  - `webhookUrl` string — Callback url address based on HTTP request

## Response `200`

Video faceswap request submitted successfully

- object
  - `code` integer, required — Interface returns business status code (1000: success)
  - `msg` string, required — Interface returns status information
  - `data` FaceswapResult
    - `_id` string — Interface returns data ID
    - `url` string — Faceswap result URL
    - `job_id` string — Task processing unique ID

---

[API](https://skmtc.dev/akool/apis/face-detection-api.md) · [All operations](https://skmtc.dev/akool/apis/face-detection-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/akool/face-detection-api/revisions/ce2ff5679949/schema)
