---
title: "Face Swap Plus"
method: POST
path: "/api/open/v4/faceswap/faceswapPlusByImage"
tags: ["Face Swap"]
---

# Face Swap Plus

`POST /api/open/v4/faceswap/faceswapPlusByImage`

Face Swap Plus API (`akool_faceswap_classic_plus`) - Multi-face swap for images and videos.

- Supports **multiple faces** via `face_mapping`
- Supports both **images and videos** (`source_url` / `target_url`)
- Supports `single_face_mode` for single-face swap
- Supports `model_style` (realistic / beautify / lossless)

## Request body

- ImageFaceswapPlusRequest
  - `source_url` string, required — Source (new) face image URL
  - `target_url` string, required — Target material URL (image or video)
  - `webhookUrl` string — Callback URL for result notification
  - `face_enhance` boolean — Whether to enable face enhancement (default false)
  - `model_style` 'realistic' | 'beautify' | 'lossless' — Model style: `realistic` (default), `beautify`, or `lossless`
  - `face_mapping` FaceMappingItem[] — Face mapping array for multi-face swap (required when `single_face_mode` is false). Each item maps one source face to one target face.
    - `source_face_info` object, required
      - `face_url` string, required — URL of the source (new) face image. Can be a `face_urls` value from the Face Detection API (bbox not needed), or a user-uploaded original image URL (bbox required).
      - `bbox` number[] — Bounding box `[x1, y1, x2, y2]` for the source face (optional). Required when `face_url` is a user-uploaded original image URL. Get this value from the `crop_region` field of the Face Detection API response. Not needed when `face_url` comes from `face_urls` in the Face Detection API response.
    - `target_face_info` object, required
      - `face_url` string — URL of the target (original) face image. Can be a `face_urls` value from the Face Detection API (bbox not needed), or a user-uploaded original image URL (bbox required).
      - `bbox` number[] — Bounding box `[x1, y1, x2, y2]` for the target face (optional). Required when `face_url` is a user-uploaded original image URL. Get this value from the `crop_region` field of the Face Detection API response. Not needed when `face_url` comes from `face_urls` in the Face Detection API response.
  - `single_face_mode` boolean — When `true`, enables single-face mode for simplified single-face swap. When `false` (default), uses `face_mapping` for multi-face swap.

## Response `200`

Faceswap request submitted successfully

- object
  - `code` integer, required — Interface returns business status code (1000: success)
  - `msg` string, required — Interface returns status information
  - `data` FaceswapV4Result
    - `_id` string — Interface returns data ID
    - `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)
