# AI Makeup Transfer

# Overview
Just Upload a Desired Photo with the Look You Like! AI Makeup Transfer makes it easy and fun to experiment with different looks by letting you to upload desired photo to try them one by one. Have any makeup look you want to try now? Let us amaze you with AI Makeup Transfer!

First, upload a photo of yourself where your face and its features are clearly visible as the target image.

Then, upload a photo of your favorite makeup look as the reference image. 

There you have it - an AI Makeup Transferred photo. 

Samples:
![](https://bcw-media.s3.ap-northeast-1.amazonaws.com/YCE_web_Makeup_Transfer_s1_img_be53c5c345.jpg)

![](https://plugins-media.makeupar.com/smb/blog/post/2024-06-24/fda62e5d-ba58-4ecf-838a-c7d5f804c77b.jpg)

* Supported Formats & Dimensions

|AI Feature|Supported Dimensions|Supported File Size|Supported Formats|
|  ----  | ----  | ----  | ----  |
|AI Makeup Transfer|1024x1024 (long side <= 1024), single face only, need to show full face|< 10MB|jpg/jpeg/png|

* Error Codes

|Error Code|Description|
|  ----  | ----  |
|error_src_no_face	|No face detected in the user image
|error_ref_no_face	|No face detected in the reference image
|error_src_face_too_small	|Face in the user image is too small
|error_ref_face_too_small	|Face in the reference image is too small
|error_src_large_face_angle	|Frontal face required in the user image
|error_ref_large_face_angle	|Frontal face required in the reference image
|error_src_eye_closed	|Eye is closed in the user image
|error_ref_eye_closed	|Eye is closed in the reference image
|error_src_eye_occluded	|Eye is occluded in the user image
|error_ref_eye_occluded	|Eye is occluded in the reference image
|error_src_lip_occluded	|Lip is occluded in the user image
|error_ref_lip_occluded	|Lip is occluded in the reference image
|error_inappropriate_ref_case01	|For both eyes, hair is too close to eye or skin region beside eyetail is not large enough in the reference image
|error_inappropriate_ref_case02	|For one eye, hair is too close to eye or skin region beside eyetail is not large enough in the reference image. The other one is not frontal enough in the reference image


License: Privacy policy

## Servers

```
https://yce-api-01.makeupar.com
```

## Security

### BearerAuthenticationV2

Use the standard 'Bearer authentication'. Put your 'API Key' in header: `Authorization:Bearer YOUR_API_KEY`. Notice that there is ' ' a space between 'Bearer' and the 'YOUR_API_KEY'.

Type: http
Scheme: bearer

## Download OpenAPI description

[AI Makeup Transfer](https://docs.perfectcorp.com/_bundle/reference/ai_makeup_transfer.yaml)

## V1.0

AI Makeup Transfer API allows you to apply makeup styles from a reference image onto a target image using AI technology.

### Create a new file.

 - [POST /s2s/v2.0/file/mu-transfer](https://docs.perfectcorp.com/reference/ai_makeup_transfer/v1.0/paths/~1s2s~1v2.0~1file~1mu-transfer/post.md): To upload a new file, you'll first need to use the File API. It will give you a URL – use that URL to upload your file. Once the upload is finished, you can use the file_id from the same response to start using our AI features.

### Run an AI Makeup Transfer task.

 - [POST /s2s/v2.0/task/mu-transfer](https://docs.perfectcorp.com/reference/ai_makeup_transfer/v1.0/paths/~1s2s~1v2.0~1task~1mu-transfer/post.md): AI tasks are asynchronous. Prefer webhook-based completion handling when the feature supports webhooks. Configure your webhook endpoint, verify webhook signatures, and use the received task_id to query the task result after a success or error notification. See the webhook integration guide for setup and verification details.

If webhooks are not supported for the feature, or if your integration cannot use webhooks, implement polling. After starting an AI task, keep polling the task status endpoint at the given polling_interval until the task status is either success or error.

Do not stop polling a running task for longer than the allowed polling window. If the task is not polled in time, the task may expire; a later status check can return InvalidTaskId even if processing finished, and the consumed units may still be charged.

### Check a AI Makeup Transfer task status.

 - [GET /s2s/v2.0/task/mu-transfer/{task_id}](https://docs.perfectcorp.com/reference/ai_makeup_transfer/v1.0/paths/~1s2s~1v2.0~1task~1mu-transfer~1%7Btask_id%7D/get.md)

