# AI 微笑

# 總覽
介紹生成式 AI 微笑 API，輕鬆把愁容翻轉成笑容。這方便的 AI 微笑生成器在瞬間將悲傷或中性的臉部表情轉化為快樂、自然的外觀微笑。由先進的生成式 AI 驅動，它以簡單輕鬆的流程，為任何照片帶來溫暖與正面感。上傳圖片，讓 AI 施展魔法，即刻將您的愁容轉化為歡樂的笑臉，在所分享之處傳遞幸福。
AI 微笑生成器支援兩種不同的微笑風格，讓使用者對最終表情有更多控制。
1. **smile_with_teeth_visible**
此選項創造明亮、愉悅的微笑，自然可見牙齒。最適合開朗的人像照、社群媒體照片，以及需要溫暖且富表現力外觀的場合。
2. **closed_mouth_smile**
此選項產生閉唇的細微、溫柔微笑。非常適合專業照片、正式個人檔案，或偏好沉穩自然表情時。

使用者可輕鬆選擇最符合其照片、心情或預期用途的微笑類型，每次都能確保寫實且吸引人的結果。
無論您是在編輯照片、創作有趣的內容，或只是想增添一點正面感，生成式 AI 微笑都能輕鬆傳遞幸福，一次一個微笑。
上傳一張臉。點擊一次。即刻微笑。
![](https://plugins-media.makeupar.com/smb/blog/post/2024-03-22/5f25b0f7-5d43-421b-ae50-5def0de69f2a.jpg)
![](https://plugins-media.makeupar.com/smb/blog/post/2024-12-16/4f4397e0-9e87-429a-8e39-a9d399b6602b.jpg)
## 整合指南
本指南將引導您完成：
AI 微笑 API 的工作流程：
**端點：** `/s2s/v2.0/task/ai-smile`
**需要認證：** `Authorization: Bearer YOUR_API_KEY`
**工作流程步驟：**
1. **圖片上傳準備：**
  - 準備要上傳的自拍圖片。
  - 呼叫 File API
`/s2s/v2.0/file`
 取得上傳網址與相關的
`file_id`
。
  - 使用提供的上傳網址上傳自拍圖片。
2. **啟動 AI 任務並取得任務 ID：**
  - 透過 HTTP POST 請求，將
`file_id`
 與所選特效設定傳送到
`/s2s/v2.0/task/ai-smile`
。
  - 在回應中取得唯一的任務 ID，用以識別這次互動。
3. **輪詢任務狀態（持續檢查）：**
  - 使用取得的
`task_id`
，透過 HTTP GET 請求（例如
`GET /s2s/v2.0/task/ai-smile/${task_id}`
）定期輪詢任務狀態。
  - 持續監控：
    - `Task_status = "success"`
（流程完成）。
    - `Task_status = "error"`
（視情況解決或重試）。
  - 狀態轉為成功後，相應更新工作流程。

這個結構化的工作流程確保與使用者輸入的高效整合、任務的自動化監控，以及無縫取得結果。


---

1. 認證

- 使用
**Bearer Token**
 將您的 API key 納入請求標頭：

```
Authorization: Bearer YOUR_API_KEY
```

您可以在 https://yce.makeupar.com/api-console/en/api-keys/ 找到您的 API Key。
1. 上傳圖片
您可以直接上傳檔案到伺服器，或在 AI 任務內容中提供有效的圖片網址。
  * 上傳端點

```
POST /s2s/v2.0/file
```
或者，若您已有公開的圖片網址，可跳過此步驟。



---

1. 建立 AI 微笑任務並輪詢結果
當您取得圖片與完整的特效設定後，即可建立任務。API 以非同步方式處理請求。您必須輪詢任務狀態，直到達到 `success` 或 `error`。
  * 建立任務端點

```
POST /s2s/v2.0/task/ai-smile
```
  * 輪詢端點

```
GET /s2s/v2.0/task/ai-smile/{task_id}
```



---

## 檔案規格與錯誤
* AI 微笑規範

**支援的自拍視角**
僅支援單人圖片，在長邊為 640 時圖片須包含清晰可見且足夠大的臉部（超過 32 x 32 像素），且拍攝的 roll 角度在正負 75 度內、yaw 角度在正負 90 度內，以避免臉部偵測失敗。
![](https://plugins-media.makeupar.com/strapi/assets/thumbnail_face_reshape_01_85c8ffc055.jpg)


---

* 支援的格式與尺寸

| AI 功能 | 支援的尺寸 | 支援的檔案大小 | 支援的格式 |
|  --- | --- | --- | --- |
| AI 微笑 | 長邊 <= 4096 | < 10MB | jpg/jpeg/png/heic |

* 錯誤代碼

| 錯誤代碼 | 說明 |
|  --- | --- |
| EXCEED_MAX_FILESIZE | 輸入檔案超過允許的最大尺寸。 |
| INVALID_PARAMETER | 有一個或多個必要參數缺失、為空，或格式不當。 |
| ERROR_DOWNLOAD_IMAGE | 無法下載來源圖片。 |
| ERROR_NO_FACE | 在提供的圖片中未偵測到臉部。 |
| ERROR_INFERENCE | 推論過程失敗，原因可能是流程問題、執行錯誤、編碼錯誤，或缺少輸出圖片。 |
| UNKNOWN_INTERNAL_ERROR | 發生不如預期的內部錯誤。 |

* 環境與相依性

| 範例程式語言 / 工具 | 建議的執行環境版本 |
|  --- | --- |
| cURL | - bash >= 3.2   - curl >= 7.58（現代 TLS/HTTP 支援）   - jq >= 1.6（穩健的 JSON 解析） |
| Node.js（JavaScript） | Node >= 18（支援全域 fetch） |
| JavaScript | - Chrome / Edge >= 80   - Firefox >= 74   - Safari >= 13.1 |
| PHP | PHP >= 7.4（現代 TLS/相容性），ext-curl（建議）或 allow_url_fopen=On + ext-openssl、ext-json |
| Python | Python >= 3.10（支援 f-strings），requests >= 2.20.0 |
| Java | Java 11+（支援 HttpClient），Jackson Databind >= 2.12.0 |



---

## 點數消耗
| AI 功能 | 消耗的點數 |
|  --- | --- |
| AI 微笑 V1.0 | 1 |



---

License: Privacy policy

## Servers

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

## Security

### BearerAuthenticationV2

使用標準的 'Bearer authentication'。請在標頭中放入您的 'API Key'：`Authorization:Bearer YOUR_API_KEY`。請注意 'Bearer' 與 'YOUR_API_KEY' 之間有一個空格。

Type: http
Scheme: bearer

## Download OpenAPI description

 - [AI 微笑](https://docs.perfectcorp.com/_bundle/@l10n/zh-TW/reference/ai_smile.yaml)

## V1.0

 - [POST /s2s/v2.0/task/ai-smile](https://docs.perfectcorp.com/zh-tw/reference/ai_smile/v1.0/paths/~1s2s~1v2.0~1task~1ai-smile/post.md): AI 任務是非同步的。當功能支援 webhook 時，請優先使用以 webhook 為基礎的完成處理。設定您的 webhook 端點、驗證 webhook 簽章，並在收到 `success` 或 `error` 通知後，使用收到的 `task_id` 查詢任務結果。設定與驗證細節請見 [webhook 整合指南](/develop/webhook)。 若您的整合不支援 webhook 或無法使用
 - [GET /s2s/v2.0/task/ai-smile/{task_id}](https://docs.perfectcorp.com/zh-tw/reference/ai_smile/v1.0/paths/~1s2s~1v2.0~1task~1ai-smile~1%7Btask_id%7D/get.md)
